UNKNOWN
Project description
## 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file terrier-0.1.dev3-py2-none-any.whl
.
File metadata
- Download URL: terrier-0.1.dev3-py2-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b8e6475c98bfba84ee27316cf50a834bbbdf8b701d158302945c47e4d365b8f |
|
MD5 | d1cdd957fd1aaf91a8e31c7059684bb6 |
|
BLAKE2b-256 | 7a9d92153fbbce0b8e1fde07c6c02461641b3504dc59b9827489cda9cd6a2208 |