GithubHelp home page GithubHelp logo

cftool's Introduction

CFTool

A Tool For Managing AWS CloudFormation Stacks.

Dependencies

  • Requires the Racket programming language if building from source.
  • Standalone executable requires awscli to run commands. Assumes you have already set up your awscli profiles.

Once compiled the standalone executable has no dependencies besides the awscli.

Install Instructions

Standalone executable (Github releases)

Download the latest executable from repo’s releases and add it somewhere in your path.

Build from source

Ensure you have racket installed. Run the following commands to build the standalone executable from source.

git clone https://github.com/Nan0Scho1ar/cftool
cd cftool
make

Install the built executable.

sudo make install

Updating from source

Pull the latest changes then run:

make clean
make
sudo make install

Uninstalling

Run the following command to uninstall cftool.

sudo make uninstall

Example usage

Help text can be displayed by running cftool --help.

Stacks

Create a new stack

cftool -e prod -c my-website

Update an existing stack

cftool -e prod -u my-website

Delete an existing stack

cftool -e prod -d my-website

Stack Groups

Create a new stack group

cftool -e prod -cg my-group

Update an existing stack group

cftool -e prod -ug my-group

Delete an existing stack group

cftool -e prod -dg my-group

Config Listing

List known stack templates

Returns a list of stack templates which can be created/updated/deleted using cftool.

cftool -l

List known stack groups

Returns a list of stack groups which can be created/updated/deleted using cftool.

cftool -lg

Debugging Your CFTool Config

If you provide the -D (short form of --dry-run) flag to cftool, it will print the awscli commands which will be called to perform the requested action, instead of running the commands. This can be quite useful when trying to debug an error (e.g incorrect stack params), or check that a new definition in the config results in sensible looking commands, before running it for real on the specified environment/account.

NOTE: There is some parameter quote/escape handling done under the hood for the calls to awscli. This means that some of the commands output by -D will not “just work” if you copy paste them into a terminal. This is because the -D flag does not currently print the parameters pre-wrapped in quotes.

cftool's People

Contributors

nan0scho1ar avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.