diff --git a/CHANGELOG.md b/CHANGELOG.md index 87bd3b0..3ce532d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,20 @@ All notable changes to `bgit` are documented in this file. This project follows semantic versioning. -## 1.3.8 +## 1.3.9 Fixed - `BGIT_AUTH=adc` can now be used for normal clone/fetch paths without being rejected as if `--auth adc` had been passed on the command line. +## 1.3.8 + +Fixed + +- Local broker cloud storage config now honors `BGIT_AUTH`, allowing Magos jobs + to use ADC for `gs://` clones without requiring the `gcloud` CLI. + ## 1.3.7 Added diff --git a/go.mod b/go.mod index aaccb45..5c16c94 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.97.3 github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 github.com/aws/smithy-go v1.24.2 - golang.org/x/crypto v0.51.0 + golang.org/x/crypto v0.52.0 golang.org/x/oauth2 v0.34.0 golang.org/x/term v0.43.0 google.golang.org/api v0.191.0 diff --git a/go.sum b/go.sum index 8fcc0a9..6c057e1 100644 --- a/go.sum +++ b/go.sum @@ -152,10 +152,8 @@ go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= -golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= -golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI= -golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8= +golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= +golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -166,8 +164,6 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -176,26 +172,18 @@ golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwE golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= -golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q= -golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg= golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= diff --git a/local_broker_native.go b/local_broker_native.go index 0ef56d1..01068e1 100644 --- a/local_broker_native.go +++ b/local_broker_native.go @@ -1207,7 +1207,7 @@ func localBrokerRepoCloudConfig(repo brokerRepo) (config, bool, error) { bucket: strings.TrimSpace(repo.Bucket), prefix: "", region: region, - auth: defaultAuthMode, + auth: defaultStorageAuthMode(), gcloudConfiguration: profile, }, true, nil } @@ -1263,7 +1263,7 @@ func localBrokerCloudConfig(bucketURI string) (config, bool, error) { bucket: bucket, prefix: "", region: region, - auth: defaultAuthMode, + auth: defaultStorageAuthMode(), gcloudConfiguration: profile, }, true, nil } diff --git a/main.go b/main.go index 5493469..44146d8 100644 --- a/main.go +++ b/main.go @@ -23,6 +23,14 @@ import ( const defaultBranch = "main" const defaultAuthMode = "gcloud" +func defaultStorageAuthMode() string { + auth := strings.ToLower(strings.TrimSpace(os.Getenv("BGIT_AUTH"))) + if auth == "gcloud" || auth == "adc" { + return auth + } + return defaultAuthMode +} + //go:embed CHANGELOG.md var embeddedChangelog string diff --git a/main_test.go b/main_test.go index fa6fce1..7f2c917 100644 --- a/main_test.go +++ b/main_test.go @@ -2113,6 +2113,7 @@ func TestReadLocalConfigPreservesBrokerBucket(t *testing.T) { } func TestLocalBrokerCloudConfigParsesAWSAndGCP(t *testing.T) { + t.Setenv("BGIT_AUTH", "adc") awsCfg, ok, err := localBrokerCloudConfig("s3://work.eu-west-1.my-local-repo7.git") if err != nil || !ok { t.Fatalf("aws parse ok=%v err=%v", ok, err) @@ -2120,6 +2121,9 @@ func TestLocalBrokerCloudConfigParsesAWSAndGCP(t *testing.T) { if awsCfg.provider != "s3" || awsCfg.gcloudConfiguration != "work" || awsCfg.region != "eu-west-1" || awsCfg.bucket != "my-local-repo7.git" { t.Fatalf("aws cfg = %#v", awsCfg) } + if awsCfg.auth != "adc" { + t.Fatalf("aws auth = %q", awsCfg.auth) + } gcpCfg, ok, err := localBrokerCloudConfig("gs://default.us-central1.my-local-repo7.git") if err != nil || !ok { t.Fatalf("gcp parse ok=%v err=%v", ok, err) @@ -2127,6 +2131,9 @@ func TestLocalBrokerCloudConfigParsesAWSAndGCP(t *testing.T) { if gcpCfg.provider != "gcs" || gcpCfg.gcloudConfiguration != "default" || gcpCfg.region != "us-central1" || gcpCfg.bucket != "my-local-repo7.git" { t.Fatalf("gcp cfg = %#v", gcpCfg) } + if gcpCfg.auth != "adc" { + t.Fatalf("gcp auth = %q", gcpCfg.auth) + } generatedCfg, ok, err := localBrokerCloudConfig("s3://default.us-east-1.bgit-my-local-repo7-abc123def456") if err != nil || !ok { t.Fatalf("generated aws parse ok=%v err=%v", ok, err)