61 lines
2.6 KiB
Diff
61 lines
2.6 KiB
Diff
From 547e2c2e8f2c9c5a3fe90a583876dad07f967e0c Mon Sep 17 00:00:00 2001
|
|
From: Janos <86970079+janosdebugs@users.noreply.github.com>
|
|
Date: Mon, 24 Jun 2024 13:24:12 +0200
|
|
Subject: [PATCH] [Backports/1.6] Support lower-case http/https_proxy env
|
|
variables in S3 backend (#1742)
|
|
|
|
Signed-off-by: Janos <86970079+janosdebugs@users.noreply.github.com>
|
|
---
|
|
CHANGELOG.md | 2 ++
|
|
internal/backend/remote-state/s3/backend.go | 17 ++++++++++++++---
|
|
2 files changed, 16 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/CHANGELOG.md b/CHANGELOG.md
|
|
index ac11d9cea29..c260fcb4ee0 100644
|
|
--- a/CHANGELOG.md
|
|
+++ b/CHANGELOG.md
|
|
@@ -4,6 +4,8 @@ ENHANCEMENTS:
|
|
|
|
BUG FIXES:
|
|
|
|
+* Fix bug where lower-case `http_proxy`/`https_proxy` env variables were no longer supported in the S3 backend ([#1594](https://github.com/opentofu/opentofu/issues/1594))
|
|
+
|
|
## 1.6.2
|
|
|
|
ENHANCEMENTS:
|
|
diff --git a/internal/backend/remote-state/s3/backend.go b/internal/backend/remote-state/s3/backend.go
|
|
index 8201baf72a7..35b5717ff23 100644
|
|
--- a/internal/backend/remote-state/s3/backend.go
|
|
+++ b/internal/backend/remote-state/s3/backend.go
|
|
@@ -732,9 +732,10 @@ func (b *Backend) Configure(obj cty.Value) tfdiags.Diagnostics {
|
|
// Note: we don't need to read env variables explicitly because they are read implicitly by aws-sdk-base-go:
|
|
// see: https://github.com/hashicorp/aws-sdk-go-base/blob/v2.0.0-beta.41/internal/config/config.go#L133
|
|
// which relies on: https://cs.opensource.google/go/x/net/+/refs/tags/v0.18.0:http/httpproxy/proxy.go;l=89-96
|
|
- HTTPProxy: aws.String(stringAttrDefaultEnvVar(obj, "http_proxy", "HTTP_PROXY")),
|
|
- HTTPSProxy: aws.String(stringAttrDefaultEnvVar(obj, "https_proxy", "HTTPS_PROXY")),
|
|
- NoProxy: stringAttrDefaultEnvVar(obj, "no_proxy", "NO_PROXY"),
|
|
+ //
|
|
+ // Note: we are switching to "separate" mode here since the legacy mode is deprecated and should no longer be
|
|
+ // used.
|
|
+ HTTPProxyMode: awsbase.HTTPProxyModeSeparate,
|
|
Insecure: boolAttr(obj, "insecure"),
|
|
UseDualStackEndpoint: boolAttr(obj, "use_dualstack_endpoint"),
|
|
UseFIPSEndpoint: boolAttr(obj, "use_fips_endpoint"),
|
|
@@ -754,6 +755,16 @@ func (b *Backend) Configure(obj cty.Value) tfdiags.Diagnostics {
|
|
cfg.UseLegacyWorkflow = true
|
|
}
|
|
|
|
+ if val, ok := stringAttrOk(obj, "http_proxy"); ok {
|
|
+ cfg.HTTPProxy = &val
|
|
+ }
|
|
+ if val, ok := stringAttrOk(obj, "https_proxy"); ok {
|
|
+ cfg.HTTPSProxy = &val
|
|
+ }
|
|
+ if val, ok := stringAttrOk(obj, "no_proxy"); ok {
|
|
+ cfg.NoProxy = val
|
|
+ }
|
|
+
|
|
if val, ok := boolAttrOk(obj, "skip_metadata_api_check"); ok {
|
|
if val {
|
|
cfg.EC2MetadataServiceEnableState = imds.ClientDisabled
|