mrm-commerce / cloud_builder

Ruby DSL for managing AWS CloudFormation templates and stacks
MIT License
17 stars 4 forks source link

CloudBuilder

Generates JSON config for AWS CloudFormation using a Ruby DSL. Manage CloudFormation stacks - create, update, diff.

Based on https://github.com/songkick/cloud_formatter

Installation

Clone the repository, then run:

gem build cloud_builder.gemspec
gem install cloud_builder-version.gem

Usage

CLI tool

$ stack --help
Usage:
    stack [OPTIONS] STACK

Parameters:
    STACK                         stack to build

Options:
    -r, --region REGION           AWS region to use (default: $EC2_REGION, or "us-east-1")
    -v, --validate                validate the stack file before doing anything else
    -b, --bucket BUCKET           upload template to BUCKET (default: $CLOUD_BUILDER_BUCKET, or nil)
    -t, --diff-tool DIFF_TOOL     tool to use for diff (default: $CLOUD_BUILDER_DIFF_TOOL)
    -c, --create                  create the stack
    -u, --update                  update the stack
    -d, --diff                    do a diff between the existing template in BUCKET and the generated template
    -e, --estimate                estimate template cost
    -h, --help                    print help

For most actions you will require an active AWS account, so make sure you export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY to ENV

Example stack

See stacks/example.rb for an example stack.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Changelog

0.0.15

0.0.14

0.0.13

0.0.12

0.0.11

0.0.10

0.0.9

0.0.8

0.0.7

0.0.6

0.0.5

0.0.4

0.0.3

0.0.2

0.0.1