## Terrier
Terrier is a helper for Terraform remote configuration. It allows `terraform remote` configurations to be stored in a JSON file and used between developers reliably. Currently Terraform doesn't support meta-configuration of itself or its remotes. This makes usage of `terraform remote` problematic as lengthy commands need to remembered or be disseminated through a `README` or other error prone methods.
## Usage
### Define a `terrier.json` configuration file
```
{
"qa": {
"remote": {
"backend": "S3",
"config": {
"bucket": "foo-qa-bucket",
"key": "foo-qa.tfstate",
"region": "us-west-1"
}
}
}
}
```
The top level key provides the name of an environment, `qa` in the following example. Keys generally map to `terraform remote config` arguments. Keys and values defined under `config` will be passed through as `-backend-config` arguments.
### Run `terrier remote <environment>`
The example above would be called with
`terrier remote qa`
and would generate and execute the following `terraform remote` command
`terraform remote config -backend=S3 -backend-config="bucket=foo-qa-bucket" -backend-config="key=foo-qa.tfstate" -backend-config="region=us-west-1"`
### Continue with `terraform remote`
`terrier` only handles configuration of multiple `terraform` remotes. Once run and a remote configured, one should carry on using vanilla `terraform remote pull` and `push` commands.
Terrier is a helper for Terraform remote configuration. It allows `terraform remote` configurations to be stored in a JSON file and used between developers reliably. Currently Terraform doesn't support meta-configuration of itself or its remotes. This makes usage of `terraform remote` problematic as lengthy commands need to remembered or be disseminated through a `README` or other error prone methods.
## Usage
### Define a `terrier.json` configuration file
```
{
"qa": {
"remote": {
"backend": "S3",
"config": {
"bucket": "foo-qa-bucket",
"key": "foo-qa.tfstate",
"region": "us-west-1"
}
}
}
}
```
The top level key provides the name of an environment, `qa` in the following example. Keys generally map to `terraform remote config` arguments. Keys and values defined under `config` will be passed through as `-backend-config` arguments.
### Run `terrier remote <environment>`
The example above would be called with
`terrier remote qa`
and would generate and execute the following `terraform remote` command
`terraform remote config -backend=S3 -backend-config="bucket=foo-qa-bucket" -backend-config="key=foo-qa.tfstate" -backend-config="region=us-west-1"`
### Continue with `terraform remote`
`terrier` only handles configuration of multiple `terraform` remotes. Once run and a remote configured, one should carry on using vanilla `terraform remote pull` and `push` commands.
Metadata
Release files for terrier 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| terrier-0.2.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Release files / terrier-0.2.1-py2.py3-none-any.whl
| Download URL | terrier-0.2.1-py2.py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
3a03219a2c2fc8befa97778dff427f7501cb17f92ca7b6370a0a16201f39135e
|
|
BLAKE2b-256 checksum How to use checksums |
2303b2c3cf1078c3ce79b46f2caad3aa30e747f67ce315d1b190e32167b0733d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |