public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH v4 0/5] client: repository: add individual component parameters
@ 2026-04-10 14:09 Thomas Lamprecht
  2026-04-10 14:09 ` [PATCH v4 1/5] client: repository: add tests for BackupRepository parsing Thomas Lamprecht
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Thomas Lamprecht @ 2026-04-10 14:09 UTC (permalink / raw)
  To: pbs-devel

Follow-up to [v3], reworked based on Wolfgang's and Christian's review
feedback - thx!

The compact repository URL format ([[auth-id@]server[:port]:]datastore)
can be cumbersome to work with when changing a single aspect of the
connection or when using API tokens. This series adds --server, --port,
--datastore, --auth-id, and --ns as separate CLI parameters alongside
the existing compound --repository URL.

Changes since [v3]:
- Deduplicated mutual-exclusion check into check_mutual_exclusion()
- Used AllOfSchema for mount.rs raw ApiMethod definitions
- Commands where --ns is irrelevant (login, logout, version, status, GC,
  benchmark, task) now use BackupRepositoryArgs only
- Moved optional_ns_param() to pbs-client tools as shared helper
- Fixed change_backup_owner not stripping atom fields before forwarding
- Small nits (anyhow::bail! -> bail!, private ENV_VAR_PBS_NAMESPACE)

Changes since [v2]:
- Deduplicated param resolution cascade into shared helper
- Split into BackupRepositoryArgs and BackupTargetArgs (repo + ns)

Changes since [v1]:
- Split single commit into five
- CLI atoms now merge with PBS_* env vars per-field (CLI wins)
- Fixed mutual-exclusion error swallowing and duplicate ns property
- PBS_NAMESPACE works uniformly across all three client binaries

[v3]: https://lore.proxmox.com/pbs-devel/20260401225305.4069441-1-t.lamprecht@proxmox.com/
[v2]: https://lore.proxmox.com/pbs-devel/20260330182352.2346420-1-t.lamprecht@proxmox.com/
[v1]: https://lore.proxmox.com/pbs-devel/20260323211400.2661765-1-t.lamprecht@proxmox.com/

Thomas Lamprecht (5):
  client: repository: add tests for BackupRepository parsing
  client: repository: add individual component parameters
  client: migrate commands to flattened repository args
  docs: document repository component options and env vars
  fix #5340: client: repository: add PBS_NAMESPACE environment variable

 docs/backup-client.rst                 |  64 +++++
 pbs-client/src/backup_repo.rs          | 324 ++++++++++++++++++++++++-
 pbs-client/src/tools/mod.rs            | 291 +++++++++++++++++++---
 proxmox-backup-client/src/benchmark.rs |   8 +-
 proxmox-backup-client/src/catalog.rs   |  26 +-
 proxmox-backup-client/src/group.rs     |  14 +-
 proxmox-backup-client/src/main.rs      | 104 ++++----
 proxmox-backup-client/src/mount.rs     | 130 +++++-----
 proxmox-backup-client/src/namespace.rs |  33 +--
 proxmox-backup-client/src/snapshot.rs  |  84 ++-----
 proxmox-backup-client/src/task.rs      |  20 +-
 proxmox-file-restore/src/main.rs       |  30 +--
 src/bin/proxmox_backup_debug/diff.rs   |  17 +-
 13 files changed, 833 insertions(+), 312 deletions(-)

-- 
2.47.3





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-04-10 15:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-04-10 14:09 [PATCH v4 0/5] client: repository: add individual component parameters Thomas Lamprecht
2026-04-10 14:09 ` [PATCH v4 1/5] client: repository: add tests for BackupRepository parsing Thomas Lamprecht
2026-04-10 14:09 ` [PATCH v4 2/5] client: repository: add individual component parameters Thomas Lamprecht
2026-04-10 14:09 ` [PATCH v4 3/5] client: migrate commands to flattened repository args Thomas Lamprecht
2026-04-10 14:09 ` [PATCH v4 4/5] docs: document repository component options and env vars Thomas Lamprecht
2026-04-10 14:09 ` [PATCH v4 5/5] fix #5340: client: repository: add PBS_NAMESPACE environment variable Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal