aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJade Lovelace <lix@jade.fyi>2024-08-18 14:55:17 -0700
committerJade Lovelace <lix@jade.fyi>2024-08-23 13:23:33 -0700
commit9aacf425dc2ec6e3284ffb1fce27ce55786627a2 (patch)
treeb2d2ca57df7c1ab84e8ad2343e940d5f62c74717
parent984563735934f63c972d0539b4ea57e87389d2a0 (diff)
fix: use http proxy for s3 access
I don't know why the AWS sdk disabled it by default. It would be nice to have test coverage of the s3 store or proxies, but neither currently exist. Fixes: https://git.lix.systems/lix-project/lix/issues/433 Change-Id: If1e76169a3d66dbec2e926af0d0d0eccf983b97b
-rw-r--r--doc/manual/rl-next/http-proxy-for-s3.md10
-rw-r--r--src/libstore/s3-binary-cache-store.cc2
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/manual/rl-next/http-proxy-for-s3.md b/doc/manual/rl-next/http-proxy-for-s3.md
new file mode 100644
index 000000000..57b0107dd
--- /dev/null
+++ b/doc/manual/rl-next/http-proxy-for-s3.md
@@ -0,0 +1,10 @@
+---
+synopsis: HTTP proxy environment variables are now respected for S3 binary cache stores
+issues: [fj#433]
+cls: [1788]
+category: Fixes
+credits: jade
+---
+
+Due to "legacy reasons" (according to the AWS C++ SDK docs), the AWS SDK ignores system proxy configuration by default.
+We turned it back on.
diff --git a/src/libstore/s3-binary-cache-store.cc b/src/libstore/s3-binary-cache-store.cc
index 4683f00f9..ffebfda8d 100644
--- a/src/libstore/s3-binary-cache-store.cc
+++ b/src/libstore/s3-binary-cache-store.cc
@@ -140,6 +140,8 @@ ref<Aws::Client::ClientConfiguration> S3Helper::makeConfig(
res->connectTimeoutMs = 5 * 1000;
res->retryStrategy = std::make_shared<RetryStrategy>();
res->caFile = settings.caFile;
+ // Use the system proxy env-vars in curl for s3, which is off by default for some reason
+ res->allowSystemProxy = true;
return res;
}