From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 54EF71FF140 for ; Fri, 27 Mar 2026 13:13:49 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3B6038AE9; Fri, 27 Mar 2026 13:14:09 +0100 (CET) From: Christian Ebner To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox{,-backup} v4 0/8] fix #6716: Add support for http proxy configuration for S3 endpoints Date: Fri, 27 Mar 2026 13:13:11 +0100 Message-ID: <20260327121319.628881-1-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1774613562186 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.060 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 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. 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: BFCHD6QBZSKEX7PCIOV3SOJJ3B4ICWOM X-Message-ID-Hash: BFCHD6QBZSKEX7PCIOV3SOJJ3B4ICWOM 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: This patch series exposes the nodes proxy config setting to the S3 clients for datastores backed by an S3 object store. To honor crate boundaries, the proxy configuration is refactored to be part of pbs-config instead of proxmox-backup. The API types are move to pbs-api-types, inlining proxmox_backup::tools::config::from_property_string() and NodeConfig::validate() to do so without creating additional unwanted dependencies. The schema definition for the proxy is moved to proxmox-http instead, already containing the proxy config definition. Testing was performed by proxying traffic using https://www.mitmproxy.org/ Link to the bugtracker issue: https://bugzilla.proxmox.com/show_bug.cgi?id=6716 Changes since version 2 (thanks @Fabian and @Wolfgang for review and suggestions): - Dropped unused api-types feature for proxmox-schema in proxmox-http - Renamed submodule for pbs-config helper tools to key_value Changes since version 2 (thanks @Fabian for review and suggestions): - reworked completely by moving node config implementation and avoid lookup/callback hack. Changes since version 1: - rebased onto current master proxmox: Christian Ebner (2): http: move http proxy schema from PBS to crate's api types pbs-api-types: move over NodeConfig and related api type from PBS Cargo.toml | 1 + pbs-api-types/Cargo.toml | 3 + pbs-api-types/src/node.rs | 256 ++++++++++++++++++++++++++++++- proxmox-http/Cargo.toml | 2 + proxmox-http/debian/control | 18 +++ proxmox-http/src/lib.rs | 8 +- proxmox-http/src/proxy_config.rs | 16 ++ 7 files changed, 300 insertions(+), 4 deletions(-) proxmox-backup: Christian Ebner (6): pbs-config: use http proxy schema moved to proxmox-http crate config: inline NodeConfig::validate() to its only call side config: use moved NodeConfig definitions in pbs-api-types tools: drop unused from_property_string() helper config: move node config into pbs-config, including helper tools fix #6716: pass node http proxy config to s3 backend Cargo.toml | 2 +- pbs-config/Cargo.toml | 1 + .../config.rs => pbs-config/src/key_value.rs | 15 +- pbs-config/src/lib.rs | 2 + pbs-config/src/node.rs | 55 +++ pbs-datastore/src/datastore.rs | 4 +- src/api2/admin/s3.rs | 2 +- src/api2/config/remote.rs | 2 +- src/api2/config/s3.rs | 2 +- src/api2/node/apt.rs | 2 +- src/api2/node/certificates.rs | 4 +- src/api2/node/config.rs | 11 +- src/api2/node/subscription.rs | 2 +- src/api2/types/mod.rs | 11 - src/bin/proxmox-backup-proxy.rs | 9 +- src/bin/proxmox-daily-update.rs | 2 +- src/config/mod.rs | 1 - src/config/node.rs | 316 ------------------ src/tools/mod.rs | 1 - 19 files changed, 80 insertions(+), 364 deletions(-) rename src/tools/config.rs => pbs-config/src/key_value.rs (94%) create mode 100644 pbs-config/src/node.rs delete mode 100644 src/config/node.rs Summary over all repositories: 26 files changed, 380 insertions(+), 368 deletions(-) -- Generated by murpp 0.11.0