Created
May 18, 2016 20:19
-
-
Save charity/49d90285f20803f652fffe641598a9cc to your computer and use it in GitHub Desktop.
terraform environment init.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Usage: ./init.sh once to initialize remote storage for this environment. | |
# Subsequent tf actions in this environment don't require re-initialization, | |
# unless you have completely cleared your .terraform cache. | |
# | |
# terraform plan -var-file=./production.tfvars | |
# terraform apply -var-file=./production.tfvars | |
tf_env="production" | |
terraform remote config -backend=s3 \ | |
-backend-config="bucket=hound-terraform-state" \ | |
-backend-config="key=$tf_env.tfstate" \ | |
-backend-config="region=us-east-1" | |
echo "set remote s3 state to $tf_env.tfstate" | |
We're doing much of what you've outlined here (hooray, we're doing it right too!), but my question is this: if you have a terraform remote state resource, why do you need to initialize it with the shell script? We had our own shell script already and it was my thinking that putting the remote state into Terraform as a resource would eliminate the need for it. BY which I mean, we had the shell script and NO terraform remote state resource declaration and it worked just fine.
Thoughts?
Check this out. https://github.com/pporada-gl/terraform-stuff
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@sean-abbott I guess it will use $(PWD) to use .terraform . So if you switch dirs (
cd env-dev
or cdenv-production
) and then run init.sh you'll get: