[pbs-devel] [PATCH v3 proxmox-backup 0/12] pull/sync group filter

Fabian Grünbichler f.gruenbichler at proxmox.com
Thu Oct 28 15:00:46 CEST 2021


this has been requested a few times on the forum, e.g. for a special
sync job for the most important groups, or seeding of a new datastore
with a partial view of an existing one.

while it's possible to achieve similar results with hacky workarounds
based on group ownership and reduced "visibility", implementing it
properly is not that complex.

possible future additions in a similar fashion:
    - exclude filters
    - filtering in other API calls (tape, listing groups/snapshots)
    - only sync/pull encrypted snapshots (less trusted off-site
      location)
    - only sync/pull latest snapshot in each group (fast seeding of new
      datastore)

not changed: BackupGroup was not pulled into api-types - we can still
re-evaluate this at some point if we want to switch the split api
parameters we currently have, but at the moment this would mean lots of
churn for a very small gain.

changed since v2:
- implement UpdaterType for Vec<T> in proxmox-schema, simplify proxmox-backup patches
- pull parameters into struct
- added patch for flipped remove-vanished default

changed since v1:
- reworked filter to support different types, rebased
- dropped last patch
- add docs patch

proxmox:

Fabian Grünbichler (1):
  updater: impl UpdaterType for Vec

 proxmox-schema/src/schema.rs | 5 +++++
 1 file changed, 5 insertions(+)

proxmox-backup:

Fabian Grünbichler (11):
  api-types: add schema for backup group
  api: add GroupFilter(List) type
  BackupGroup: add filter helper
  pull: use BackupGroup consistently
  pull/sync: extract passed along vars into struct
  pull: allow pulling groups selectively
  sync: add group filtering
  remote: add backup group scanning
  manager: render group filter properly
  docs: mention group filter in sync docs
  fix #sync.cfg/pull: don't remove by default

 docs/managing-remotes.rst              |   6 +
 debian/postinst                        |  31 ++++++
 pbs-api-types/src/datastore.rs         |   5 +
 pbs-api-types/src/jobs.rs              |  64 ++++++++++-
 pbs-datastore/src/backup_info.rs       |  13 +++
 src/api2/config/remote.rs              |  77 ++++++++++++-
 src/api2/config/sync.rs                |   5 +
 src/api2/pull.rs                       |  70 ++++++------
 src/bin/proxmox-backup-manager.rs      | 117 +++++++++++++++++--
 src/bin/proxmox_backup_manager/sync.rs |  21 ++++
 src/server/pull.rs                     | 148 ++++++++++++++++++-------
 www/config/SyncView.js                 |  13 ++-
 www/window/SyncJobEdit.js              |  12 ++
 13 files changed, 487 insertions(+), 95 deletions(-)

-- 
2.30.2

-- 
2.30.2





More information about the pbs-devel mailing list