Killian 988d466cba feat(backups) : sets the backup archives as a collection and streams changes as they happen (#10567)
The `backup-archive` SSE collection (#10472) only announced a change when a client listed the
repository: XO never read one on its own, so a subscriber learnt of a backup created, merged or
deleted at the next listing by any client, and after a restart heard nothing from a repository
until a client listed it.

XO now reads the repositories itself:
- every enabled repository is listed once XO has started, one after another, and a repository
  enabled later as soon as `updateRemote()` has stored it;
- the changes this XO makes are pushed at once, for a repository whose journal can be replayed: at
  the end of each VM export to it (worker, no-worker mode and proxy alike), at the end of the job
  and after a deletion. A read in progress when `refresh()` is called reads again, since it may
  have missed the change, at most 3 times and never when that means listing the repository in full;
- the other changes (the size the merge worker rewrites, another XO sharing the repository) are
  read by two timers, 2 repositories at a time and through the listing backoff: every minute from
  the journal, every 10 minutes by a full listing for a repository whose journal cannot be read,
  e.g. behind a proxy which does not expose it;
- a repository is listed in full again an hour after its entry was built, rather than when it
  crosses a UTC day, which bounds the drift from what the journal does not record. The
  `fullListingInterval` parameter of its URL sets this delay, in whole minutes; the XO 6 and XO 5
  repository forms now keep it when the repository is edited.

The archives are registered through `registerCollection` like any other collection, which drops
the REST API special case for them. Their events now carry an array of archives (`add`, `update`)
or of ids (`remove`); SSE subscribers still receive one event per archive.
2026-10-22 11:41:10 +02:00
2023-08-03 17:56:24 +02:00
2023-09-21 10:28:31 +02:00
2022-03-02 17:49:53 +01:00
2023-04-05 11:22:10 +02:00
2026-10-05 17:18:51 +02:00
2023-09-21 10:28:31 +02:00
2023-09-26 14:34:47 +02:00
2024-06-14 11:43:38 +02:00

Xen Orchestra

Manage, Backup and Cloudify your XCP-ng/XenServer infrastructure

XO (Xen Orchestra) is a complete solution to visualize, manage, backup and delegate your XCP-ng (or XenServer) infrastructure. No agent is required for it to work.

It provides a web UI, a CLI and a REST API, while also getting a Terraform provider among other connectors/plugins.

⚡️ Quick start

Log in to your account and use the deploy form available from the Vates website.

📚 Documentation

The official documentation is available at https://docs.xen-orchestra.com/

Documentation updates are deployed automatically once per day.

🚀 Features

  • Centralized interface: one Xen Orchestra to rule your entire infrastructure, even across datacenters at various locations
  • Administration and management: VM creation, management, migration, metrics and statistics, XO proxies for remote sites… XO will become your best friend!
  • Backup & Disaster Recovery: The backup is an essential component for the security of your infrastructure. With Xen Orchestra, select the backup mode that suits you best and protect your VMs and your business. Rolling snapshot, Full backup & replication, incremental backup & replication, mirror backup, S3 support among many other possibilities!
  • Cloud Enabler: Xen Orchestra is your cloud initiator for XCP-ng (and XenServer). Group management, resource delegation and easy group administration. The Cloud is yours!

🌍 Translations

Status of XO Lite & XO 6:

Translation status

Help us translate Xen Orchestra in more languages!

📸 Screenshots

Xen Orchestra dashboard

Xen Orchestra dashboard, including Network stats

Storage repository statistics (XO 5)

License

AGPL3 © Vates

Description
The global orchestration solution to manage and backup XCP-ng and XenServer.
Readme 215 MiB
Languages
JavaScript 55.4%
TypeScript 26.9%
Vue 13.5%
Rust 3.1%
CSS 0.4%
Other 0.5%