Files
kiteco-public/concourse/pipelines/deploy-release-server/pipeline.ytt.yml
2021-12-31 23:54:19 -08:00

116 lines
2.3 KiB
YAML

resource_types:
- name: terraform
type: docker-image
source:
repository: ljfranklin/terraform-resource
tag: latest
resources:
- name: kiteco
type: git
source:
branch: release
disable_ci_skip: true
fetch_tags: true
private_key: ((ssh_private))
uri: git@github.com:kiteco/kiteco.git
tag_filter: v2*
- name: release
type: s3
source:
bucket: kite-deploys
regexp: v(.*)/release
region_name: us-west-1
access_key_id: ((aws_id))
secret_access_key: ((aws_secret))
- name: terraform
type: terraform
source:
backend_type: s3
env_name: production
terraform_source: kiteco/devops/terraform/cloud/deployments/release/
backend_config:
access_key: ((aws_id))
bucket: kite-terraform-state
key: terraform.tfstate
region: us-west-1
secret_key: ((aws_secret))
workspace_key_prefix: deployments/release
env:
AWS_ACCESS_KEY_ID: ((aws_id))
AWS_SECRET_ACCESS_KEY: ((aws_secret))
GOOGLE_CREDENTIALS: ((gcloud))
jobs:
- name: stage-plan
plan:
- get: kiteco
params: &kiteco_get_params
depth: 10
submodules: none
disable_git_lfs: true
- get: release
trigger: true
- task: tfvars
file: kiteco/concourse/tasks/tf-vars/task.yml
vars:
build: release
versions: '{"green": "VERSION", "blue": "blue"}'
- put: terraform
params:
plan_only: true
var_files: [tfvars/terraform.tfvars]
- name: stage-apply
plan:
- get: kiteco
params: *kiteco_get_params
passed: [stage-plan]
- put: terraform
params:
plan_run: true
- name: switch-plan
plan:
- get: kiteco
params: *kiteco_get_params
passed: [stage-apply]
trigger: true
- put: terraform
params:
plan_only: true
vars:
versions:
green: blue
blue: green
- name: switch-apply
plan:
- get: kiteco
params: *kiteco_get_params
passed: [switch-plan]
- put: terraform
params:
plan_run: true
- name: cleanup-plan
plan:
- get: kiteco
params: *kiteco_get_params
- put: terraform
params:
plan_only: true
vars:
versions:
blue: blue
- name: cleanup-apply
plan:
- get: kiteco
params: *kiteco_get_params
passed: [cleanup-plan]
- put: terraform
params:
plan_run: true