[pbs-devel] [PATCH proxmox-backup 0/4] native local sync-jobs

Hannes Laimer h.laimer at proxmox.com
Mon Feb 13 16:45:51 CET 2023

Add support for local sync. Sync-jobs without
a remote are considered local, and use a 
different logic for pulling. The main reason
for not reusing the existing pull logic is
that the current logic relies on having a 
HttpClient and without a remote we can't create
one. Having separate logic for local pulling
however should speed up local syncs a bit,
and for syncs in the same datastore, chunck
transmission can be skipped all together.
Also the autocompletion and UI is updated
to support local sync-jobs.

The new logic is mostly adding a local
alternative whenever the HttpClient is used.
Since the pulling process involves a lot of
functions calling functions to do smaller stuff
it was not really possible to split the changes
up more.

The first 3 patches are not buildable, I split
them for easier review.

Hannes Laimer (4):
  api2: make remote for sync-jobs optional
  pull: add logic for local pull
  manager: add completion for local sync-jobs
  ui: add ui support for local sync-jobs

 pbs-api-types/src/jobs.rs         |   4 +-
 pbs-client/src/backup_reader.rs   |   5 +
 src/api2/admin/datastore.rs       |  10 +
 src/api2/config/remote.rs         |   2 +-
 src/api2/config/sync.rs           |  41 ++-
 src/api2/node/tasks.rs            |   4 +-
 src/api2/pull.rs                  |  78 +++--
 src/bin/proxmox-backup-manager.rs |  67 ++--
 src/server/email_notifications.rs |  16 +-
 src/server/pull.rs                | 499 +++++++++++++++++++-----------
 www/form/RemoteTargetSelector.js  |  29 +-
 www/window/SyncJobEdit.js         |   8 +-
 12 files changed, 502 insertions(+), 261 deletions(-)


More information about the pbs-devel mailing list