Velero Operator Charm
| Channel | Revision | Published | Runs on |
|---|---|---|---|
| latest/edge | 421 | 25 Sep 2025 | |
| 1.15/stable | 421 | 16 Oct 2025 | |
| 1.15/candidate | 421 | 16 Oct 2025 | |
| 1.15/edge | 421 | 16 Oct 2025 |
juju deploy velero-operator --channel edge
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
Tutorial
This guide provides a step-by-step tutorial to get you started with Charmed Velero, on top of a generic Kubernetes (K8s) cluster. In this tutorial, you will use Canonical K8s.
Requirements
- A Kubernetes Juju controller, such as Canonical K8s.
Deploy Charmed Velero
To deploy Velerop operator, add a new model to perform deployments:
juju add-model velero-tutorial
Deploy the velero-operator charm and wait for its installation to complete:
juju deploy velero-operator --trust --config use-node-agent=true --default-volumes-to-fs-backup=true
For this example, use-node-agent and default-volumes-to-fs-backup config options are set to allow Velero to make file system backups of the Persistent Volume Claims using kopia. This configuration should only be set on non-AWS/AKS clusters, as those clouds usually provide native snapshotting capabilities via Velero Plugins.
Integrate with a storage provider
This tutorial uses the s3-integrator charm as the storage provider.
Follow its documentation to set up the integrator with the AWS S3 object storage credentials. Once done, integrate it with Charmed Velero:
juju deploy s3-integrator
juju integrate velero-operator s3-integrator
After completing these steps, you should have a model that resembles this:
Model Controller Cloud/Region Version SLA Timestamp
velero-tutorial microk8s microk8s/localhost 3.6.4 unsupported 21:25:24-04:00
App Version Status Scale Charm Channel Rev Address Exposed Message
s3-integrator active 1 s3-integrator latest/stable 145 10.152.183.77 no
velero-operator active 1 velero-operator 0 10.152.183.97 no Unit is Ready
Unit Workload Agent Address Ports Message
s3-integrator/0* active idle 10.1.27.231
velero-operator/0* active idle 10.1.27.203 Unit is Ready
Back up your data
Execute a backup via the Velero Command Line Interface (CLI) using the following action:
juju run-action velero-operator/0 run-cli command="backup create mybackup --include-namespaces=test-namespace"
Get backup details and status as follows:
juju run-action velero-operator/0 run-cli command="backup describe mybackup"
Restore your data
You can restore your data from a previous backup as follows:
juju run-action velero-operator/0 run-cli command="restore create --from-backup mybackup"
After the restore is completed, the charm recreates the namespace including all its resources. You can confirm it by running:
kubectl get all -n test-namespace
Clean up your tutorial environment
Release the allocated resources and delete the model for this tutorial as follows:
juju destroy-model velero-tutorial
Congratulations! You now have a basic understanding of how the Charmed Velero works.