Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Nike-Inc/cerberus-lifecycle-cli

Repository files navigation

Build codecov

Cerberus Lifecycle Management CLI

This project is a CLI for managing the lifecycle of a Cerberus environment using CloudFormation, native Vault APIs, and AWS API calls.

This command line tool includes features for:

  • Provisioning
  • Bootstrapping
  • Maintenance
  • Recovery

To learn more about Cerberus, please see the Cerberus website.

User Environment Requirements

JDK 1.8, with Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy

Development Environment Requirements

JDK 1.8, with Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy

Developing

If making changes to the project, branch off of master:

$ git checkout -b feature/feature-name

To test your changes, use the provided debug.sh bash script:

$ ./debug.sh [--debug] -e [environment] -r [region] <command> [command options]

This will suspend and await a debugger being attached on port 5005.

Running

Make sure you are on the master branch:

$ git checkout master

Run the tool with the provided bash script:

$ ./run.sh [--debug] -e [environment] -r [region] <command> [command options]

Command Line Arguments

--debug - Turns on debug level logging.

-e [environment] - The Cerberus environment to run the command against.

-r [region] - The AWS region hosting the Cerberus environment.

Misc

Bash aliases for running the Cerberus CLI

Ever dreamed of running the CLI from anywhere on the command line? Yeah, me either... but here's how!

Add to your ~/.profile or whatever gets sourced when you start a terminal session:

alias cerberus="/path/to/java-app-cerberus-cli/run.sh"
alias cerberus_debug="/path/to/java-app-cerberus-cli/debug.sh"

Updating or adding new dependencies

To update the dependency lock file ./gradlew generateLock saveLock