[pve-devel] About PVE Backup Integration Guide

Fiona Ebner f.ebner at proxmox.com
Tue Mar 25 09:59:01 CET 2025


Am 24.03.25 um 06:20 schrieb Prashant Patil:
> We would like to do plugin integration POC. So, for that to get started, we would like to know various interfaces of these plugins. Is there any detailed API documentation available for these plugins? Also, do you have any test app code which integrates with the plugins to try out?

The cover letter of the patch series [0] mentions:
> A backup provider needs to implement a storage plugin as well as a
> backup provider plugin. The storage plugin is for integration in
> Proxmox VE's front-end, so users can manage the backups via
> UI/API/CLI. The backup provider plugin is for interfacing with the
> backup provider's backend to integrate backup and restore with that
> backend into Proxmox VE.

We unfortunately do not have a proper documentation for the storage
plugin API yet, some colleagues are currently working on that. But if
the storage only needs to support backups, you don't need to implement
some of the methods (e.g. for volume snapshots) and don't need much
complexity. See the BackupProviderDirExamplePlugin.pm in [1] for a
simple example of which methods are important. A second example, that
also involves handling secrets (but also not fully complete), is the
BorgBackupPlugin.pm in [2]. Of course, the backup mechanism doesn't need
to be configurable in your case, you can choose one for VMs and one for
LXCs.

The backup provider plugin serves as the bridge between Proxmox VE and
your backup server/storage. The API for this is documented in the
Base.pm plugin in [3] with Perl's POD documentation format. You can read
it by running the command:
perldoc src/PVE/BackupProvider/Plugin/Base.pm
Or some alternative way to view POD documentation. Examples can be found
in [1][2] too.

If you have questions about specific parts of the API (both storage
plugin or backup provider), feel free to ask.

There are pre-built packages with the series incorporated available at
[0] with SHA256SUM [1].

[0]: http://download.proxmox.com/temp/backup-provider-api-v5/
[1]:
> b30ef35447310e4f92e6ed434fce902160a76b64b54432a43696b853e2f073ad  libpve-common-perl_8.2.9+backupproviderapiv5_all.deb
> e2f3b9d2217bbb0bb75c94a73be1a9b76cda688028234fb529f4a25d1006a4ad  libpve-storage-perl_8.3.4+backupproviderapiv5_all.deb
> efb4cb6c3928e20a5c297533e44da93f913b474f7dfb27274c822071890b8975  pve-container_5.2.5+backupproviderapiv5_all.deb
> 138324eafd889a5e90e69c9b5aedd9df3ed7db09be7305d979bdd5a306e1858f  pve-manager_8.3.5+backupproviderapiv5_all.deb
> bdb871a0c57347607aec955f771cdb7ad24245cb1c4bf2517fbb78d734228ccd  pve-qemu-kvm_9.2.0-2+backupproviderapiv5_amd64.deb
> 12eb9034819364d0057b80d827515832589ee0848934b27be4039dbbc78cb060  qemu-server_8.3.9+backupproviderapiv5_amd64.deb
> 04ca13927bfd70800c1855022642e6db88b05b711b44877a120a84949d208c2e  qemu-server-dbgsym_8.3.9+backupproviderapiv5_amd64.deb

Best Regards,
Fiona

[0]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-1-f.ebner@proxmox.com/
[1]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-14-f.ebner@proxmox.com/
[2]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-15-f.ebner@proxmox.com/
[3]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-10-f.ebner@proxmox.com/




More information about the pve-devel mailing list