vFondevilla / terramate

Terramate is a tool for managing multiple terraform stacks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of Contents

Terramate

GoDoc CI Status Go Report Card codecov

Terramate is a tool for managing multiple Terraform stacks.

The stack concept is not defined by Hashicorp's Terraform tooling but just a convention used by the Terraform community, so a stack can be loosely defined as:

A terraform stack is a runnable terraform module that operates on a subset of
the infrastructure's resource.

It provides ways to keep your code DRY and also manage dependencies between stacks with minimal effort to get started in a non-intrusive way.

  • Avoid duplication by easily sharing data across your project.
  • Explicitly define order of execution of stacks.
  • Code generation ensures that plan/apply is always done with plain Terraform commands.
  • Change detection, including for local modules used by stacks.
  • Not a wrapper, you keep using Terraform or any other of your tools.
  • All done with HCL.

For more details on how this is achieved, please consider:

Getting Started

Installing

Using Go

To install using Go just run:

go install github.com/mineiros-io/terramate/cmd/terramate@<version>

Where <version> is any terramate version tag, or you can just install the latest release:

go install github.com/mineiros-io/terramate/cmd/terramate@latest

Using Release Binaries

TODO

Using Docker

If you don't want to install Terramate on your host you can use Docker or Podman to run Terramate inside a container:

docker run ghcr.io/mineiros-io/terramate

Container images tagged with release versions are also provided. Click here for a list of the available container image tags.

Auto Completion

Terramate supports autocompletion of commands for bash, zsh and fish. To install the completion just run the command below and open a new shell session:

terramate install-completions

Project Setup

TODO: More details on the basics to setup a project

About

Terramate is a tool for managing multiple terraform stacks

License:Apache License 2.0


Languages

Language:Go 99.2%Language:Makefile 0.4%Language:Shell 0.1%Language:Dockerfile 0.1%Language:HCL 0.1%