kombustion

command module
v0.0.0-...-3891d2e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2018 License: MIT Imports: 4 Imported by: 0

README

Kombustion

Build Status

A CloudFormation template generator, written in Go.

What is it

Kombustion generates your CloudFormation templates using an extended version of vanilla CloudFormation YAML templates.

Unlike other tools, it does not rely on a knowledge of a specific DSL or require you to write code. Instead, it allows template designers to use custom CloudFormation types provided by a plugins system to write lean YAML-based stacks.

It also provides all the necessary tools to create, update, delete and retrieve the status of your stacks.

See the Quick start for more details.

Features

  • Written in Go, for simplicity and speed
  • Cross-platform
  • Compatible with vanilla CloudFormation templates
  • Extendable with plugins
  • Automatic support for new CloudFormation types as they are released (how?)

Examples

Check out the configs directory for examples.

Maintainers

Kombustion is primarily maintained by the Kablamo team. Pull requests are welcome.

Made with ❤ in Australia.


The Kombustion logo is based on an original design by Renee French.

Documentation

Overview

AWS API and CloudFormation parser.

Installation

Get the package

go get github.com/KablamoOSS/kombustion

Build as docker image

docker build -t kombustion .

Update Base Parsers

go run ./generate/generate.go

Usage

Generate a cloudformation template from: ./configs/test.yaml:

kombustion cf generate --format=yaml test

Upsert a cloudformation template from: ./compiled/test.yaml:

kombustion cf upsert test

Delete a cloudformation stack (stackName: test)

kombustion cf delete test

Print all the events for a stack (stackName: test)

kombustion cf events test

Using Roles and MFA

TOKEN=000000 \
MFA_SERIAL=arn:aws:iam::123456:mfa/stackCreator \
ASSUMED_ROLE=arn:aws:iam::123456:role/stackCreatorRole \
kombustion cf upsert test

Custom Plugins

Kombustion utilizes package plugin (https://godoc.org/plugin). By default kombustion will look for plugins in the ./plugins directory. You can also Specify custom plugins directory:

PLUGINS=/plugins kombustion cf generate test

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL