DisasterInstance
DisasterInstance represents one protected application. It connects application scope, source and target clusters, data sync, resource sync, restore policy, and current state.
Responsibilities
- Describe the application scope.
- Reference sync and restore policies.
- Derive
DataSyncandResourceSync. - Expose high-level protection state.
- Serve as the target of failover, reprotection, undo, and cancel operations.
Application Scope Limit
Application-level DR currently protects workloads controlled by Deployments and StatefulSets. Failover, failback, reprotection, replica scaling, target-side activation, and readiness checks are built around these two workload types.
When a DR instance is created, the protected namespace selector is populated from source-cluster workloadNamespaceStats. The operator only includes namespaces that contain a running Deployment or StatefulSet:
- Deployment:
readyReplicas > 0oravailableReplicas > 0. - StatefulSet:
readyReplicas > 0.
Services, Ingresses, ConfigMaps, Secrets, PVCs, and other supporting resources are still synchronized and restored as part of the application. Namespaces that only contain bare Pods, DaemonSets, Jobs, or CronJobs are not shown as selectable protected application scopes when creating a DR instance.
Typical States
PendingInitializingProtectedActiveFailedConfigError
Use conditions, reason, message, and history to understand why an instance is not protected.