[PATCH proxmox-backup v4 8/8] fix #6716: pass node http proxy config to s3 backend

Christian Ebner
2026-03-27T12:13:48Z

Read the current node proxy config and pass it to the s3 client on
instantiation. The given proxy config is then used for the rest of
the s3 client instance lifetime.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
pbs-datastore/src/datastore.rs | 4 ++--
src/api2/admin/s3.rs | 2 +-
src/api2/config/s3.rs | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs
index ef378c696..36f6b0c79 100644
--- a/pbs-datastore/src/datastore.rs
+++ b/pbs-datastore/src/datastore.rs
@@ -433,7 +433,7 @@ impl DataStore {
Some(bucket),
self.name().to_owned(),
Some(rate_limiter_options),
- None, //FIXME read from node.cfg
+ pbs_config::node::node_http_proxy_config()?,
);
let s3_client = S3Client::new(options)?;
DatastoreBackend::S3(Arc::new(s3_client))
@@ -2659,7 +2659,7 @@ impl DataStore {
Some(bucket),
datastore_config.name.to_owned(),
Some(rate_limiter_options),
- None, // FIXME read from node.cfg
+ pbs_config::node::node_http_proxy_config()?,
);
let s3_client = S3Client::new(options)
.context("failed to create s3 client")
diff --git a/src/api2/admin/s3.rs b/src/api2/admin/s3.rs
index d3b3b11e6..a739909ee 100644
--- a/src/api2/admin/s3.rs
+++ b/src/api2/admin/s3.rs
@@ -55,7 +55,7 @@ pub async fn check(
Some(bucket),
store_prefix,
None,
- None, // FIXME read from node.cfg once regular datastore operations do as well
+ pbs_config::node::node_http_proxy_config()?,
);

let test_object_key =
diff --git a/src/api2/config/s3.rs b/src/api2/config/s3.rs
index 9f1b4b5f7..e48c637d5 100644
--- a/src/api2/config/s3.rs
+++ b/src/api2/config/s3.rs
@@ -356,7 +356,7 @@ pub async fn list_buckets(
None,
empty_prefix,
None,
- None, // FIXME read from node.cfg once regular datastore operations do as well
+ pbs_config::node::node_http_proxy_config()?,
);
let client = S3Client::new(options).context("client creation failed")?;
let list_buckets_response = client
--
2.47.3