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

LatticeClusterBackup spec fields
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

BackupScopeSpec fields
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

BackupRetentionSpec fields
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

LatticeClusterBackup status fields
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.