[PATCH proxmox{,-backup} v4 0/8] fix #6716: Add support for http proxy configuration for S3 endpoints

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

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