terraform/README.md

48 lines
1.5 KiB
Markdown

# Terraform
* Website: http://www.terraform.io
* IRC: `#terraform` on Freenode
* Mailing list: [Google Groups](http://groups.google.com/group/terraform)
Terraform is a tool for building and changing infrastructure
safetly and efficiently.
## Developing Terraform
If you wish to work on Terraform itself or any of its built-in providers,
you'll first need [Go](http://www.golang.org) installed (version 1.2+ is
_required_). Make sure Go is properly installed, including setting up
a [GOPATH](http://golang.org/doc/code.html#GOPATH). Make sure Go is compiled
with cgo support. You can verify this by running `go env` and checking that
`CGOENABLED` is set to "1".
Next, install [Git](http://git-scm.com/), which is needed for some dependencies.
Then, install [Gox](https://github.com/mitchellh/gox), which is used
as a compilation tool on top of Go:
$ go get -u github.com/mitchellh/gox
Next, clone this repository into `$GOPATH/src/github.com/hashicorp/terraform`
and then just type `make`. This will compile some dependencies and then
run the tests. If this exits with exit status 0, then everything is working!
$ make
...
To compile a development version of Terraform and the built-in plugins,
run `make dev`. This will put Terraform binaries in the `bin` folder:
$ make dev
...
$ bin/terraform
...
If you're developing a specific package, you can run tests for just that
package by specifying the `TEST` variable. For example below, only
`terraform` package tests will be run.
$ make test TEST=./terraform
...