Complete field reference for BackupPolicy, BackupRun, and RestoreRun custom resource definitions
The PodWarden Backup Operator manages backup and restore lifecycles for workloads running on PodWarden-managed clusters. It uses Restic for incremental, encrypted, deduplicated snapshots stored on S3 or NFS.
API Group:backup.podwarden.comVersion:v1alpha1
Installation
The backup operator is a preinstalled system app — it's deployed automatically when PodWarden bootstraps a cluster. No manual installation is needed.
For manual installation or upgrades:
# Via Helm (recommended)helm install backup-operator ./charts/backup-operator/ \ -n podwarden-backup-operator-system --create-namespace# Via kubectl (from rendered manifest)kubectl apply -f https://www.podwarden.com/operators/backup-operator/install.yaml
Restores data from a BackupRun to a target deployment. The operator performs a compatibility check, scales down the deployment, runs the restore Job, and scales back up.
Spec
Field
Type
Required
Default
Description
backupRunRef
string
Yes
—
Name of the BackupRun to restore from
backupRunNamespace
string
No
same namespace
Namespace of the BackupRun (for cross-namespace restore)
targetDeployment
string
Yes
—
Deployment to restore data to
requireCompatible
bool
No
false
When true, fail if any compatibility issues are detected
Status
Field
Type
Description
phase
string
Pending, Running, Completed, or Failed
startedAt
timestamp
When the restore started
completedAt
timestamp
When the restore finished
error
string
Error message if the restore failed
jobName
string
Name of the Kubernetes Job executing the restore
compatibility
object
Compatibility check results (see below)
Compatibility Fields
Field
Type
Description
compatible
bool
Whether the restore is fully compatible
warnings[]
[]string
Non-blocking compatibility warnings
errors[]
[]string
Blocking compatibility errors
templateChanged
bool
Whether the Deployment template differs from the backup source
Create RestoreRun resources to restore from backups
backup:schedule
Modify backup schedules and retention settings
Auto-Provisioned Namespace Resources
When a BackupPolicy is created in a namespace, the operator automatically provisions the following resources. All managed resources carry the label backup.podwarden.com/managed-by: operator.
Resource
Name
Purpose
ConfigMap
backup-scripts
Contains backup.sh and restore.sh Restic wrapper scripts
ServiceAccount
backup-operator
Identity for backup/restore Jobs
Role
backup-operator
Permissions for Jobs to read PVCs, Secrets, and Pods
RoleBinding
backup-operator
Binds the Role to the ServiceAccount
These resources are garbage-collected when the last BackupPolicy in a namespace is deleted.