Optum / runiac

Run IaC Anywhere With Ease
https://runiac.io
Apache License 2.0
20 stars 19 forks source link
arm-templates armtemplates aws azure container docker gcp iac pipeline regional-deployments terraform

runiac - Run IaC Anywhere With Ease

Documentation

Maintenance build Github all releases

made-with-Go


A tool for running infrastructure as code (e.g. Terraform) anywhere with ease.

Please see runiac.io for latest docs

We'd love to hear from you! Submit github issues for questions, issues or feedback.

Table of Contents generated with DocToc

Demo

See runiac in action on runiac.io

Install

homebrew tap:

brew install optum/tap/runiac

manually:

Download the pre-compiled binaries from the releases page and copy to the desired location.

Getting Started

For more detailed examples of runiac, be sure to check out the starters on github!

Using runiac

To use runiac to deploy your infrastructure as code, you will need:

  1. Docker installed locally
  2. runiac installed locally

Inputs

Execute runiac deploy -h

Contributing

Please read CONTRIBUTING.md first.

Running Locally

runiac is only executed locally with unit tests. To verify changes with the example projects locally, one would need to build the runiac deploy container locally first.

Docker Build:

$ DOCKER_BUILDKIT=1 docker build -t runiacdeploydev .

We recommend adding an alias to install the cli locally:

alias runiacdev='(cd <LOCAL_PROJECT_LOCATION>/cmd/cli && go build -o $GOPATH/bin/runiacdev) && runiacdev'

This allows one to use the the examples for iterating on runiac changes.

$ cd examples/...
$ runiacdev -a <YOUR_GCP_PROJECT_ID> -e nonprod --local --container runiacdeploydev

NOTE: If only making changes to the CLI, you do not need to build the container locally --container runiacdeploydev