Coder Social home page Coder Social logo

scottk212 / terrahelp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencredo/terrahelp

0.0 2.0 0.0 822 KB

Terraform helper. Terrahelp is as a command line utility written in Go and is aimed at providing supplementary functionality which can sometimes prove useful when working with Terraform.

License: Apache License 2.0

Makefile 0.08% Go 91.33% HCL 8.59%

terrahelp's Introduction

Travis CI ReportCard

Terrahelp

terraforming, with a little help from your friends

terrahelp is as a command line utility written in Go and is aimed at providing supplementary functionality which can sometimes prove useful when working with Terraform.

At present, it offers the following:

  • Encryption & decryption functionality. Run in either full or inline mode, and leveraging either a simple or Vault based encryption provider, this functionality provides the ability to encrypt and decrypt files such as terraform.tfstate files, as well as piped in output from commands such as terraform apply etc.

  • Masking functionality. If you don't want to encrypt sensitive data, but rather just mask it out with something like ***** then you can use the mask command instead. This can either be run over a file, or have the content piped into it.

For more details, and some examples of how to use it please see the example READMEs.

Additionally the blog post Securing Terraform State with Vault also provides more details and background as well.

    NAME:
       terrahelp - Provides additional functions helpful with terraform development

    USAGE:
       terrahelp [global options] command [command options] [arguments...]

    VERSION:
       0.4.3

    AUTHOR(S):
       https://github.com/opencredo OpenCredo - Nicki Watt

    COMMANDS:
        vault-autoconfig	Auto configures Vault with a basic setup to support encrypt and decrypt actions.
        encrypt		        Uses configured provider to encrypt specified content
        decrypt		        Uses configured provider to decrypt specified content
        mask                Mask will overwrite sensitive data in output or files with a masked value (eg. ******).
        help, h             Shows a list of commands or help for one command
        
    GLOBAL OPTIONS:
       --help, -h		show help
       --version, -v	print the version

Installation

Pre-built binaries

Available from this repository's releases page here.

The community has also made it available as an AUR package via https://aur.archlinux.org/packages/terrahelp

OSX, Linux & *BSD

Download a binary, set the correct permissions, add to your PATH:

chmod +x terrahelp
export PATH=$PATH:/wherever/terrahelp

And run it:

terrahelp -help

Windows

Not here yet ...

Build it yourself

To set up your Go environment - look here.

Install Go (Terrahelp is currently built against 1.7.3)

mkdir -p "$GOPATH/src/github.com/opencredo/"
git clone https://github.com/opencredo/terrahelp.git "$GOPATH/src/github.com/opencredo/terrahelp"
cd "$GOPATH/src/github.com/opencredo/terrahelp"

Dependencies

Terrahelp uses govendor to manage it's dependencies, and currently also checks them into Git to enable a seamless build experience. However should you wish to change / upgrade any of these, you can get govendor, and then run the appropriate commands (e.g sync, fetch etc)

go get -u github.com/kardianos/govendor
govendor sync

Build it

go install

Test it

go test -v ./...

Run it:

terrahelp -v 

Want to cross compile it?

env GOOS=darwin GOARCH=amd64 go build -o=terrahelp-darwin-amd64
env GOOS=linux GOARCH=amd64 go build -o=terrahelp-linux-amd64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.