cloudstack/tools
Abhishek Kumar a1959f2dc2
backup: veeam kvm integration (#12991)
This PR introduces the initial implementation of Veeam integration support for KVM in CloudStack by adding a UHAPI-compatible server and image server components.

Veeam Backup & Replication interacts with virtualization platforms using its Universal Hypervisor API (UHAPI). To enable backup and restore workflows for CloudStack-managed KVM environments, this change introduces a UHAPI server that exposes CloudStack resources through a UHAPI-compatible interface.

In addition to the control plane APIs, an image server component is introduced to handle the data transfer operations required during backup and restore workflows.


The integration consists of two main components:

1. UHAPI Server (Control Plane) named CloudStack Veeam Control Service

A lightweight UHAPI server runs inside the CloudStack management server and exposes endpoints under:

/ovirt-engine
    - /api - For APIs
    - /sso - For authentication
    - /services/pki-resource - For certificates

This server provides inventory discovery APIs required by Veeam and translates CloudStack resources into the structures expected by UHAPI.

The server:

- exposes infrastructure inventory
- handles authentication and session tokens
- maps CloudStack resources to UHAPI-compatible representations


2. Image Server (Data Plane) named CloudStack Image Service

A separate image server component is introduced to handle backup and restore data transfer operations.

This component:

- serves disk image data during backup
- receives image data during restore operations
- exposes endpoints used by Veeam worker components
- integrates with CloudStack storage to read and write VM disk data

The separation between both these components server ensures that:

- metadata APIs and control operations remain lightweight
- bulk image transfer operations are handled independently

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com>
Co-authored-by: abh1sar <abhisar.sinha@gmail.com>
Co-authored-by: Wei Zhou <weizhou@apache.org>
2026-06-08 08:47:00 +02:00
..
apidoc backup: veeam kvm integration (#12991) 2026-06-08 08:47:00 +02:00
appliance Merge branch '4.20' 2025-10-16 13:39:40 +05:30
bugs-wiki Add Python flake8 linting for W291 trailing whitespace with Super-Linter (#4687) 2022-03-28 11:40:26 -03:00
build pre-commit add hook `check-shebang-scripts-are-executable` for Shell (#10150) 2025-09-17 14:22:28 +02:00
checkstyle Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
devcloud-kvm Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
devcloud4 Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30
docker Merge release branch 4.22 to main 2026-05-22 10:37:13 -03:00
eclipse pre-commit add hook `check-shebang-scripts-are-executable` for Shell (#10150) 2025-09-17 14:22:28 +02:00
git text in echo change in git-pr 2024-12-20 16:45:01 +01:00
jira jira-changes.py: generate content for CHANGES.md from jira filter 2014-11-30 21:16:59 -05:00
logo pre-commit: add oxipng a lossless PNG compression optimizer (#11065) 2025-10-24 15:18:45 +05:30
marvin Merge release branch 4.22 to main 2026-05-22 10:37:13 -03:00
ngui pre-commit upgrade codespell; fix spelling; (#10144) 2025-11-14 14:17:10 +01:00
transifex pre-commit: check more file types for trailing whitespace (#9352) 2024-07-10 09:22:02 +02:00
utils pre-commit trailing whitespace auto clean up (#12841) 2026-03-31 15:02:39 +02:00
whisker pre-commit: add `XML` files to the `trailing-whitespace` check (#9131) 2024-07-12 09:42:54 +02:00
pom.xml Updating pom.xml version numbers for release 4.22.2.0-SNAPSHOT 2026-05-18 17:17:25 +05:30