Configure
Protection plans
Group workloads by RPO, retention, and recovery target. Apply plans through the console, CLI, or API.
- Product
- Easy Hybrid DR
- Version
- v2.3.1
- Release status
- GA
- Documentation status
- Published
- Last updated
- Updated
- Reading time
- 1 min read
A protection plan declares which workloads to protect, what RPO to maintain, how long to keep recovery points, and the target site to ship recovery points to. Plans are the unit of orchestration: drills, failover, and failback all run against a named plan.
Plan structure
yaml
apiVersion: dr.datamotive.io/v1
kind: ProtectionPlan
metadata:
name: prod-tier1
spec:
rpoSeconds: 300
retention: 7d
schedule: continuous
sources:
- selector: tier=production
target:
site: aws-mumbai
network: recovery-net
alerts:
- channel: pagerduty
severity: criticalField reference
| Parameter | Type | Required | Description |
|---|---|---|---|
| metadata.name | string | required | Unique plan name within the workspace. |
| spec.rpoSeconds | integer | required | Maximum acceptable data loss in seconds. |
| spec.retention | duration | optional | How long to keep recovery points after the source disappears. Default: 7d |
| spec.schedule | enum | optional | continuous, periodic, or cron expression. Default: continuous |
| spec.sources | Selector[] | required | Tag-based selectors matching one or more source nodes. |
| spec.target.site | string | required | Onboarded target site id. |
| spec.target.network | string | required | Recovery network mapping name. |
| spec.alerts | AlertChannel[] | optional | Alert channels and severity thresholds. |
Create a plan
Author the plan file
Save the plan as
protection-plan.yaml. Validate it locally:bashdm plan lint -f protection-plan.yamlApply the plan
Apply creates the plan if it does not exist, otherwise updates the existing plan in place.
bashdm plan apply -f protection-plan.yamlVerify selector matches
Confirm the selector matches the expected sources.
bashdm plan describe prod-tier1
RPO and retention guidance
| Workload class | Suggested RPO | Suggested retention |
|---|---|---|
| Tier 1 OLTP database | 60s | 30d |
| Tier 1 stateless web | 5m | 14d |
| Tier 2 batch and analytics | 15m | 14d |
| Tier 3 dev and test | 60m | 7d |
Common pitfalls
| Symptom | Likely cause | Action |
|---|---|---|
| Plan stuck in pending | No source matches the selector | Update the selector, or tag a source node with the missing label. |
| RPO breach alerts during business hours | Link bandwidth saturated | Schedule large batch sources to a separate plan with a relaxed RPO. |
| Recovery points expiring too quickly | Retention below the desired window | Increase `spec.retention`. Note that target storage grows roughly linearly. |
Related docs
Was this page helpful?
