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.