Velero Integrator documentation
The Velero Integrator is a Kubernetes charm that acts as middleware between target applications and the Velero Operator, enabling scheduled backup management on Juju.
It receives backup specifications from target applications via the
k8s-backup-target relation and forwards them to the Velero Operator via the
velero-backup relation, adding schedule configuration on top. In short, it
separates what to back up (defined by the target apps) from when to back it
up (defined by the operator).
This charm is for Juju operators who run stateful workloads on Kubernetes and need a consistent, cron-driven way to schedule Velero backups across multiple applications without hard-coding schedules into each workload charm.
Architecture
Velero Integrator sits between one or more target applications and a single Velero Operator:
![]()
- Target applications declare what to back up (namespaces, resources,
label selectors, etc.) over the
k8s-backup-targetrelation. - The integrator enriches that specification with when — a cron schedule
and related options — and forwards it to the Velero Operator over the
velero-backuprelation. - This keeps workload charms free of scheduling policy, and lets a single operator fan multiple workloads into one Velero instance with consistent schedule management.
A typical topology has one velero-backup relation to a Velero Operator
and many k8s-backup-target relations, one per workload to back up. See
the Integrations tab on Charmhub for the full list of endpoints and
interfaces.
Quickstart
Deploy the charm and a Velero Operator, then wire up a workload that
implements the k8s-backup-target interface:
juju deploy velero-integrator
juju deploy velero-operator
# Connect the integrator to Velero
juju integrate velero-integrator velero-operator
# Connect a workload that provides backup targets
juju integrate velero-integrator:k8s-backup-target my-database
# Schedule a daily backup at 02:00
juju config velero-integrator schedule="0 2 * * *"
To pause the schedule temporarily:
juju config velero-integrator paused=true
Operational notes
- The integrator is stateless with respect to backup data — Velero itself
stores backups. Removing or redeploying the integrator does not delete
existing backups, but it will remove the schedules it manages unless
use-owner-references-in-backup=false(the default) is kept. - Changing
scheduleupdates the downstream Velero schedule in place; there is no need to re-relate workloads. - For workload-specific or Velero-specific behaviour (retention, storage locations, restore flows), consult the Velero Operator documentation and upstream Velero docs.
Project and community
Velero Integrator is an open-source project that welcomes contributions, suggestions, and feedback.