Infrastructure
LatticeClusterBackup
Defines cluster-wide backup schedules and scope. Translates to Velero Schedule resources. References a BackupStore for storage configuration, or uses the default BackupStore if no storeRef is specified.
group: lattice.dev version: v1alpha1 scope: namespaced
Examples
daily-backup.yaml
apiVersion: lattice.dev/v1alpha1
kind: LatticeClusterBackup
metadata:
name: daily-backup
namespace: lattice-system
spec:
schedule: "0 2 * * *"
storeRef: production-s3
scope:
controlPlane: true
gpuPaasResources: true
includeNamespaces: [platform, ml]
retention:
daily: 30
ttl: "720h" control-plane-only.yaml
apiVersion: lattice.dev/v1alpha1
kind: LatticeClusterBackup
metadata:
name: control-plane-backup
namespace: lattice-system
spec:
schedule: "0 */6 * * *"
scope:
controlPlane: true
retention:
ttl: "168h" Spec
| Field | Type | Description |
|---|---|---|
schedule | string | Cron schedule for backup creation (e.g., "0 2 * * *"). |
storeRef | string? | Reference to a BackupStore resource. If omitted, the default BackupStore is used. |
scope | BackupScopeSpec | What to back up. Controls resource types and namespace selection. |
retention | BackupRetentionSpec | Retention policy for backup artifacts. |
paused | bool | Pause backup creation. Default: false. |
BackupScopeSpec
| Field | Type | Description |
|---|---|---|
controlPlane | bool | Backup Lattice control plane CRDs (LatticeCluster, LatticeService, CloudProvider, CedarPolicy, BackupStore, etc.). Default: false. |
gpuPaasResources | bool | Backup GPU PaaS CRDs (GPUPool, InferenceEndpoint, ModelCache, GPUTenantQuota). Default: false. |
workloadNamespaces | NamespaceSelector? | Select namespaces to back up by label selectors. |
includeNamespaces | []string | Explicit list of namespaces to include in the backup. |
excludeNamespaces | []string | Explicit list of namespaces to exclude from the backup. |
BackupRetentionSpec
| Field | Type | Description |
|---|---|---|
daily | u32? | Number of daily backups to retain. |
ttl | string? | Time-to-live for backup artifacts (e.g., "720h" for 30 days). |
Status
| Field | Type | Description |
|---|---|---|
phase | ClusterBackupPhase | Current lifecycle phase of the cluster backup. |
veleroScheduleName | string? | Name of the underlying Velero Schedule resource. |
resolvedStore | string? | Name of the resolved BackupStore (explicit or default). |
conditions | []Condition | Standard Kubernetes conditions. |
message | string? | Human-readable status message. |
observedGeneration | i64? | Last spec generation processed by the controller. |
ClusterBackupPhase
Pending Waiting for Velero Schedule to be created.
Active Velero Schedule is created and running on the configured cron schedule.
Paused Backup creation is paused. Existing backups are retained.
Failed Has encountered an error creating or managing Velero resources.