From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id E19671FF13F for ; Thu, 12 Mar 2026 12:42:58 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CC02212477; Thu, 12 Mar 2026 12:42:54 +0100 (CET) From: Christian Ebner To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup v3 6/6] fix #6716: pass node http proxy config to s3 backend Date: Thu, 12 Mar 2026 12:42:08 +0100 Message-ID: <20260312114208.514373-9-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260312114208.514373-1-c.ebner@proxmox.com> References: <20260312114208.514373-1-c.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1773315704934 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.093 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_2 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_4 0.1 random spam to be learned in bayes RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: FR2LY4KDXDPRCX25XCAEVULKX3NAZEP2 X-Message-ID-Hash: FR2LY4KDXDPRCX25XCAEVULKX3NAZEP2 X-MailFrom: c.ebner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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 --- 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