Skip to main content

CRD Model

Testudo uses Kubernetes CRDs as the control plane contract. Server writes desired state. Operator reconciles runtime state and writes status back.

Main Resources

  • DisasterInstance: protected application and main state machine.
  • DataSync: PVC data synchronization.
  • ResourceSync: Kubernetes resource synchronization.
  • AppBackup: wrapper around Velero Backup.
  • AppRestore: wrapper around Velero Restore.
  • DisasterOperation: long-running operations.
  • DisasterGroup: ordered orchestration for multiple instances.
  • DisasterDrill: drill and validation workflow.
  • Cluster: remote cluster configuration.
  • StorageRepository: backup storage configuration.

Design Rule

CRDs are the source of truth. Server should not hold a separate execution state, and operator should not depend on server memory to continue reconciliation.