Giter Club home page Giter Club logo

cerberus-lifecycle-cli's Introduction

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

cerberus-lifecycle-cli's People

Contributors

brunocarrier avatar fieldju avatar james-michael avatar jharen avatar mayitbeegh avatar melanahammel avatar sdford avatar shawn-sher avatar tibrim avatar tlisonbee avatar tunderwood avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cerberus-lifecycle-cli's Issues

Cross region logic checking prevents the creation of new Cerberus environments

I've been trying to spike a cerberus setup following the instructions here. Created a new AWS account for cerberus and followed the instructions up until cerberus -f /path/to/yaml create-environment
I've tried a few different options for the CLI but consistently receive an error to report:

java.lang.RuntimeException: Failed to find config bucket for region: AP_SOUTHEAST_2
	at com.nike.cerberus.store.ConfigStore.findConfigBucketInSuppliedConfigRegion(ConfigStore.java:644)
	at com.nike.cerberus.store.ConfigStore.getDecryptedEnvironmentData(ConfigStore.java:531)
	at com.nike.cerberus.store.ConfigStore.isConfigSynchronized(ConfigStore.java:755)
	at com.nike.cerberus.cli.CerberusRunner.run(CerberusRunner.java:134)
	at com.nike.cerberus.cli.CerberusRunner.main(CerberusRunner.java:275)

I've also tried providing the --region flag with us-west-2 but receive the same error message (with US_WEST_2 instead, of course).

Can anyone advise what this error is complaining about? Is there some setup I'm missing? I haven't come across any instructions to setup an S3 bucket for cerberus.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.