Ramen is an open-cluster-management (OCM) placement extension that provides Kubernetes-native Disaster Recovery for workloads and their persistent data across a pair of OCM managed clusters. Ramen orchestrates, workload protection and placement on managed clusters through:
Ramen supports several approaches for replicating persistent data across clusters:
Ramen uses storage plugins that implement the CSI
storage replication specification
and csi-addons Volume[Group]Replication
APIs
to orchestrate volume replication and recovery across clusters.
Ceph-csi is one such plugin that implements the csi-addons APIs.
For storage that supports Kubernetes Volume[Group]Snapshots APIs, Ramen uses
the volsync rsync plugin to
transfer periodic snapshots to peer clusters.
When storage is already highly available and requires no replication, Ramen manages only workload resources. It ensures access guarantees through the csi-addon fencing specification and and csi-addons NetworkFence APIs.
NOTE: This differs from synchronously replicated storage systems, which still require replication state management and therefore would use Storage Vendor Assisted Replication.
Ramen supports several approaches for protecting and replicating application resources across clusters:
Applications deployed via GitOps (e.g., ArgoCD ApplicationSets) with OCM-managed Placements work directly with Ramen's placement orchestration. This is the most common deployment pattern for cloud-native applications.
Ramen can also protect applications deployed through other methods (e.g., kubectl, kustomize) by using velero to automatically identify and back up application resources.
Recipes define vendor-supplied workflows for capturing and recovering complex stateful applications. They specify:
Recipes extend discovered applications protection by enabling multi-step workflows beyond simple backup and restore.
Target Audience:
We welcome contributions. See the contributing guide to get started, or open an issue to report bugs, suggest improvements, or request features.
Ramen is under active development. All APIs are currently alpha with no stable releases yet.
Ramen is under the Apache 2.0 license.
$ claude mcp add ramen \
-- python -m otcore.mcp_server <graph>