Does anyone have any cool ideas on how to handle Terraform provider credentials for AWS given these use cases:
- Distributed environments (prod/pre/qa/test/dev) with individual AWS accounts
- S3 backend remote state for all environments in a single AWS account
- Test Kitchen using InSpec.
My current workflow requires changing the AWS_ACCESS_KEY
and AWS_SECRET_KEY
depending on the operation:
terraform init
- requires access to S3 backend remote stateterraform plan/apply
- requires access to specific environment + remote state- Non-functional (a single set of credentials doesn't have access to both the env + remote state)
kitchen converge
- requires access to test environment + remote state- Non-functional (same reason as above)
kitchen verify
- requires access to test environment.
Ideas
- I wish I could store the S3 remote state in the respective environment accounts but variables don't seem to be supported in the Terraform
backend
configuration.