ramenctl
Command line tool and Go module for managing and troubleshooting Ramen.
Overview
Working with a complicated Kubernetes cluster is not easy. In a typical
disaster recovery environment we have at least 3 connected Kubernetes
clusters with many components. The ramenctl project aims to make it
easier to manage and troubleshoot this challenging environment.
Features
The project provides:
- The ramenctl command line tool, managing and troubleshooting ramen.
- The ramenctl Go module for integrating the ramenctl commands in other
projects. This module is used to implement the
odf dr command.
Installing
Download the ramenctl executable for your operating system and architecture
and install in the PATH.
To install the latest release on Linux and macOS, run:
os="$(uname | tr '[:upper:]' '[:lower:]')"
machine="$(uname -m)"
if [ "$machine" = "aarch64" ]; then machine="arm64"; fi
if [ "$machine" = "x86_64" ]; then machine="amd64"; fi
curl --location --fail --silent --show-error --output ramenctl \
https://github.com/ramendr/ramenctl/releases/latest/download/ramenctl-$os-$machine
sudo install ramenctl /usr/local/bin/
rm ramenctl
Examples
Create a configuration file for Regional DR test environment:
$ ramenctl init --envfile ramen/test/envs/regional-dr.yaml
Run disaster recovery tests:
$ ramenctl test run -o rdr-test
β Using report "rdr-test"
β Using config "config.yaml"
π Validate config ...
β
Config validated
π Setup environment ...
β
Environment setup
π Run tests ...
β
Application "appset-deploy-rbd" deployed
β
Application "appset-deploy-rbd" protected
β
Application "appset-deploy-rbd" failed over
β
Application "appset-deploy-rbd" relocated
β
Application "appset-deploy-rbd" unprotected
β
Application "appset-deploy-rbd" undeployed
β
passed (1 passed, 0 failed, 0 skipped)
Your system is ready for disaster recovery!
Please see Documentation to learn more.
Documentation
Visit the docs below to learn about ramenctl commands:
Check the guides below to learn more:
Contributing
- For reporting bugs, suggesting improvements, or requesting new
features, please open an
issue.
- For implementing features or fixing bugs, please see the
ramenctl contribution guide
License
ramenctl is under the Apache 2.0 license.