rewantsoni/ramenctl

Command line tool and Go module for managing and troubleshooting Ramen

โ˜… 0Forks 0GitHub โ†—Compare

README

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.

Contributors

nirsparikshithbyati1998abhijeet219OdedVinerraghavendra-talurdependabot[bot]17neverendsSheetalpamechabd231rakeshgm

Issues