Skip to main content
Open-source Kubernetes DR control plane

Testudo

Application-level disaster recovery orchestration for Kubernetes. Testudo uses CRDs for intent, an operator for state reconciliation, Velero for backup and restore, and server APIs for console and automation workflows.

Source ClusterKubernetes · Velero
Testudo Control Plane
Server APIOperatorCRD Protection Intent
Recovery ClusterKubernetes · Standby
Resource and Data Sync
Object StorageS3 / MinIO
InstallPrepare clusters, object storage, and control plane components.Create InstanceCreate the first DisasterInstance.FailoverRun a complete failover workflow.DR DrillValidate backup and restore paths.
Architecture

Server is the entry point, Operator executes, CRDs are the source of truth

`disaster-server` owns auth, REST, Watch, DTOs, and statistics. `disaster-operator` owns CRD state machines, remote cluster access, Velero resources, and compensation logic.

Source ClusterKubernetes · Velero
Testudo Control Plane
Server APIOperatorCRD Protection Intent
Recovery ClusterKubernetes · Standby
Resource and Data Sync
Object StorageS3 / MinIO
API Layer/apis/disasterinstances.disaster.wuxs.vip/v1/instances
Control PlaneDisasterInstance / DataSync / ResourceSync / DisasterOperation
RuntimeSource cluster / Target cluster / Velero / S3 or MinIO
Capabilities

Capabilities for the disaster recovery loop

View all capabilities
Workflow

Standard path from protection to drill

1Protect
2Sync
3Failover
4Reprotect
5Drill
Documentation

Start reading

Start with Quick Start, then go deeper into CRDs, sync flows, operation state machines, APIs, production deployment, and contribution workflows.

Enter Docs