From bd50c0529be19e970d4e3321796694685232c12b Mon Sep 17 00:00:00 2001 From: Gabriel Adrian Samfira Date: Thu, 24 Aug 2023 13:42:42 +0000 Subject: [PATCH] Update garm-provider-common Signed-off-by: Gabriel Adrian Samfira --- go.mod | 2 +- go.sum | 4 ++-- .../cloudconfig/templates.go | 21 +++++++++---------- vendor/modules.txt | 2 +- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 93987a60..5fdab3b6 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.20 require ( github.com/BurntSushi/toml v1.2.1 - github.com/cloudbase/garm-provider-common v0.0.0-20230823224722-2b9d66c6197b + github.com/cloudbase/garm-provider-common v0.0.0-20230824132912-318e784daaf9 github.com/go-openapi/errors v0.20.4 github.com/go-openapi/runtime v0.26.0 github.com/go-openapi/strfmt v0.21.7 diff --git a/go.sum b/go.sum index ff03f930..10a509c1 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudbase/garm-provider-common v0.0.0-20230823224722-2b9d66c6197b h1:Sym7x67BhG3AgBj0+UPcUwko0MO9dyd/ftcydSSw3rs= -github.com/cloudbase/garm-provider-common v0.0.0-20230823224722-2b9d66c6197b/go.mod h1:3XNTd7WcFtXDqi0Cm2aX4RkKXdW3+9eOguMOyp605/Q= +github.com/cloudbase/garm-provider-common v0.0.0-20230824132912-318e784daaf9 h1:RlzpHLdnWQNCZoffe+pz2NkGZhvnrXuBM0TuxY6j3Ms= +github.com/cloudbase/garm-provider-common v0.0.0-20230824132912-318e784daaf9/go.mod h1:3XNTd7WcFtXDqi0Cm2aX4RkKXdW3+9eOguMOyp605/Q= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= diff --git a/vendor/github.com/cloudbase/garm-provider-common/cloudconfig/templates.go b/vendor/github.com/cloudbase/garm-provider-common/cloudconfig/templates.go index 1482ded1..48f9c2e0 100644 --- a/vendor/github.com/cloudbase/garm-provider-common/cloudconfig/templates.go +++ b/vendor/github.com/cloudbase/garm-provider-common/cloudconfig/templates.go @@ -305,7 +305,7 @@ function Import-Certificate() { [CmdletBinding()] param ( [parameter(Mandatory=$true)] - [string]$CertificatePath, + $CertificateData, [parameter(Mandatory=$false)] [System.Security.Cryptography.X509Certificates.StoreLocation]$StoreLocation="LocalMachine", [parameter(Mandatory=$false)] @@ -316,8 +316,7 @@ function Import-Certificate() { $store = New-Object System.Security.Cryptography.X509Certificates.X509Store( $StoreName, $StoreLocation) $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite) - $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2( - $CertificatePath) + $cert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($CertificateData) $store.Add($cert) } } @@ -389,9 +388,6 @@ function Invoke-GarmFailure() { } } -$PEMData = @" -{{.CABundle}} -"@ $GHRunnerGroup = "{{.GitHubRunnerGroup}}" function Install-Runner() { @@ -410,9 +406,11 @@ function Install-Runner() { Throw "missing metadata URL" } - if($PEMData.Trim().Length -gt 0){ - Set-Content $env:TMP\garm-ca.pem $PEMData - Import-Certificate -CertificatePath $env:TMP\garm-ca.pem -StoreName Root -StoreLocation LocalMachine + $bundle = wget -UseBasicParsing -Headers @{"Accept"="application/json"; "Authorization"="Bearer $Token"} -Uri $MetadataURL/system/cert-bundle + $converted = ConvertFrom-Json $bundle + foreach ($i in $converted.root_certificates.psobject.Properties){ + $data = [System.Convert]::FromBase64String($i.Value) + Import-Certificate -CertificateData $data -StoreName Root -StoreLocation LocalMachine } Update-GarmStatus -CallbackURL $CallbackURL -Message "downloading tools from $DownloadURL" @@ -451,10 +449,11 @@ function Install-Runner() { $protectedBytes = [Security.Cryptography.ProtectedData]::Protect( $encodedBytes, $null, [Security.Cryptography.DataProtectionScope]::LocalMachine ) [System.IO.File]::WriteAllBytes((Join-Path $runnerDir ".credentials_rsaparams"), $protectedBytes) - wget -UseBasicParsing -Headers @{"Accept"="application/json"; "Authorization"="Bearer $Token"} -Uri $MetadataURL/system/service-name -OutFile "C:\runner\.service" + $serviceNameFile = (Join-Path $runnerDir ".service") + wget -UseBasicParsing -Headers @{"Accept"="application/json"; "Authorization"="Bearer $Token"} -Uri $MetadataURL/system/service-name -OutFile $serviceNameFile Update-GarmStatus -CallbackURL $CallbackURL -Message "Creating system service" - $SVC_NAME=(gc -raw "C:\runner\.service") + $SVC_NAME=(gc -raw $serviceNameFile) New-Service -Name "$SVC_NAME" -BinaryPathName "C:\runner\bin\RunnerService.exe" -DisplayName "$SVC_NAME" -Description "GitHub Actions Runner ($SVC_NAME)" -StartupType Automatic Start-Service "$SVC_NAME" Update-GarmStatus -Message "runner successfully installed" -CallbackURL $CallbackURL -Status "idle" | Out-Null diff --git a/vendor/modules.txt b/vendor/modules.txt index 34291018..4157c995 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -34,7 +34,7 @@ github.com/cespare/xxhash/v2 # github.com/chzyer/readline v1.5.1 ## explicit; go 1.15 github.com/chzyer/readline -# github.com/cloudbase/garm-provider-common v0.0.0-20230823224722-2b9d66c6197b +# github.com/cloudbase/garm-provider-common v0.0.0-20230824132912-318e784daaf9 ## explicit; go 1.20 github.com/cloudbase/garm-provider-common/cloudconfig github.com/cloudbase/garm-provider-common/defaults