Nan0Scho1ar / cftool

CloudFormation Tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

CloudFormation Tool

License:GNU General Public License v3.0


Languages

Language:Racket 96.2%Language:Makefile 3.8%