Enable a Minimal Velero Installation (CRD + Controllers)
What does this MR do and why?
This MR introduces a minimal Velero installation in Sylva, limited to the essential components:
- Velero CustomResourceDefinitions (CRDs)
- Velero controllers
It avoids pulling in extra Helm chart configuration or plugins, ensuring a lightweight starting point for Kubernetes backup support.
What has been done
- Added a new unit definition for
veleroincharts/sylva-units/values.yamlwith Helm chart configuration. - Enabled CRD installation by setting
installCRDs: trueand disabling controller-specific features:deployNodeAgent: falsesnapshotsEnabled: false
- Updated management and workload values files to include the
velerounit (disabled by default). - Added a dedicated namespace definition for Velero using Kustomize:
velero-namespace.yaml- Corresponding
kustomization.yamlfor the component.
Why this change is needed
- Ensures both CRDs and the Velero controller are consistently deployed .
- With CRDs present from the start, users can define and commit Velero objects (
Backup,Restore,Schedule, etc.) in Git without race conditions at reconciliation time.
Bigger picture
It lays the groundwork for:
- Future integration with MinIO or other S3-compatible backends.
- Defining reusable backup/restore schedules per cluster at scale.
- Progressive enablement of advanced Velero features (node-agent, snapshots).
Related reference(s)
CI configuration
Below you can choose test deployment variants to run in this MR's CI.
Click to open to CI configuration
Legend:
| Icon | Meaning | Available values |
|---|---|---|
| Infra Provider |
capd, capo, capm3
|
|
| Bootstrap Provider |
kubeadm (alias kadm), rke2
|
|
| Node OS |
ubuntu, suse
|
|
| Deployment Options |
light-deploy, dev-sources, ha, misc, maxsurge-0, logging
|
|
| Pipeline Scenarios | Available scenario list and description |
-
🎬 preview☁️ capd🚀 kadm🐧 ubuntu -
🎬 preview☁️ capo🚀 rke2🐧 suse -
🎬 preview☁️ capm3🚀 rke2🐧 ubuntu -
☁️ capd🚀 kadm🛠️ light-deploy🐧 ubuntu -
☁️ capd🚀 rke2🛠️ light-deploy🐧 suse -
☁️ capo🚀 rke2🐧 suse -
☁️ capo🚀 kadm🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capo🚀 kadm🎬 wkld-k8s-upgrade🐧 ubuntu -
☁️ capo🚀 rke2🎬 rolling-update-no-wkld🛠️ ha,misc🐧 suse -
☁️ capo🚀 rke2🎬 sylva-upgrade-from-1.3.x🛠️ ha,misc🐧 ubuntu -
☁️ capo🚀 rke2🐧 ubuntu🛠️ misc,ha -
☁️ capm3🚀 rke2🛠️ misc,ha🐧 suse -
☁️ capm3🚀 rke2🐧 suse -
☁️ capm3🚀 kadm🐧 ubuntu -
☁️ capm3🚀 kadm🎬 rolling-update-no-wkld🛠️ ha,misc🐧 ubuntu -
☁️ capm3🚀 rke2🎬 wkld-k8s-upgrade🛠️ ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 ubuntu -
☁️ capm3🚀 rke2🎬 sylva-upgrade-from-1.3.x🛠️ misc,ha🐧 suse -
☁️ capm3🚀 kadm🎬 rolling-update🛠️ ha🐧 suse
Global config for deployment pipelines
-
autorun pipelines -
allow failure on pipelines -
record sylvactl events
Notes:
- Enabling
autorunwill make deployment pipelines to be run automatically without human interaction - Disabling
allow failurewill make deployment pipelines mandatory for pipeline success. - if both
autorunandallow failureare disabled, deployment pipelines will need manual triggering but will be blocking the pipeline
Be aware: after configuration change, pipeline is not triggered automatically.
Please run it manually (by clicking the run pipeline button in Pipelines tab) or push new code.