klobucar / taskhawk-terraform-generator

A cli tool for managing Taskhawk Terraform configuration

Home Page:https://automatic.github.io/taskhawk/

Repository from Github https://github.comklobucar/taskhawk-terraform-generatorRepository from Github https://github.comklobucar/taskhawk-terraform-generator

Taskhawk Terraform Generator

Build Status

Taskhawk is a replacement for celery that works on AWS SQS/SNS, while keeping things pretty simple and straight forward.

Taskhawk Terraform Generator is a CLI utility that makes the process of managing Taskhawk Terraform modules easier by abstracting away details about Terraform.

Usage

Installation

Download the latest version of the release from Github releases - it's distributed as a zip containing a Go binary file.

Configuration

Configuration is specified as a JSON file. Run

./taskhawk-terraform-generator config-file-structure

to get the sample configuration file.

Advanced usage: The config may contain references to other terraform resources, as long as they resolve to an actual resource at runtime.

How to use

Run

./taskhawk-terraform-generator apply-config <config file path>

to create Terraform modules. The module is named taskhawk by default in the current directory.

Re-run on any changes.

Development

Prerequisites

Install go1.11

Getting Started

Assuming that you have go installed, set up your environment:

$ # in a location NOT in your GOPATH:
$ git checkout github.com/Automatic/taskhawk-terraform-generator
$ cd taskhawk-terraform-generator
$ go get -mod=readonly -v ./...
$ GO111MODULE=off go get github.com/go-bindata/go-bindata/...
$ GO111MODULE=off go get -u github.com/client9/misspell/cmd/misspell
$ GO111MODULE=off go get -u honnef.co/go/tools/cmd/staticcheck

Running Tests

You can run tests in using make test. By default, it will run all of the unit and functional tests, but you can also run specific tests directly using go test:

$ go test ./...
$ go test -run TestGenerate ./...

Release Notes

Github Releases

How to publish

make clean build

Upload to Github and attach the zip files created in above step.

About

A cli tool for managing Taskhawk Terraform configuration

https://automatic.github.io/taskhawk/

License:Apache License 2.0


Languages

Language:Go 87.0%Language:HCL 11.0%Language:Makefile 1.7%Language:Shell 0.4%