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.eb...@proxmox.com/
[1]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-14-f.eb...@proxmox.com/
[2]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-15-f.eb...@proxmox.com/
[3]:
https://lore.proxmox.com/pve-devel/20250321134852.103871-10-f.eb...@proxmox.com/


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to