我想为不同的环境参数化工作。
例如:
resources:
- name: prod
type: terraform
icon: terraform
source:
backend_type: s3
backend_config:
env_name: prod
bucket:
key:
env:
AWS_ACCESS_KEY_ID: ((aws-sts:prod.access_key))
AWS_SECRET_ACCESS_KEY: ((aws-sts:prod.secret_key))
AWS_SESSION_TOKEN: ((aws-sts:prod.security_token))
AWS_REGION: ((vault:kv/my-vault.region))
jobs:
- name: terraform plan prod
disable_manual_trigger: true
plan:
- get: git-repo-prod
trigger: true
- put: prod
params:
env_name: prod
terraform_source: git-repo-prod/terraform
plan_only: true
vars:
region: ((vault:kv/my-vault.region))
2个问题:
- 我如何为这项工作创建模板。例如,现在我有工作
terraform plan prod
,我想为具有不同环境的不同工作提供 1 个模板。terraform plan *
(产品/ppe/qa/dev) - 如何使用文件管理变量?
vars:
region: ((vault:kv/my-vault.region))
我可以使用vars_file
,但在这种情况下,大厅将变量作为刺痛转移到 terraform(region: ((vault:kv/my-vault.region))
类似这样的东西)
有没有可能在大厅里这样做?