Skip to content

Commit

Permalink
Merge branch 'master' into yel-4964
Browse files Browse the repository at this point in the history
  • Loading branch information
ianrelf committed Dec 3, 2021
2 parents 4b6a3f1 + 58397e2 commit 80853c4
Show file tree
Hide file tree
Showing 14 changed files with 544 additions and 130 deletions.
267 changes: 267 additions & 0 deletions .drone-v1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
---
kind: pipeline
name: default
type: kubernetes

platform:
os: linux
arch: amd64

steps:
- name: init
pull: always
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt init
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
NOTPROD_ACC_ID:
from_secret: NOTPROD_ACC_ID
NOTPROD_ACC_KEY:
from_secret: NOTPROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
when:
branch:
exclude:
- master

- name: testsuite
pull: if-not-exists
image: 340268328991.dkr.ecr.eu-west-2.amazonaws.com/acp/dind
commands:
- docker run --rm -v $(pwd):/data -w /data hashicorp/terraform fmt --diff --check
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
NOTPROD_ACC_ID:
from_secret: NOTPROD_ACC_ID
NOTPROD_ACC_KEY:
from_secret: NOTPROD_ACC_KEY
when:
branch:
exclude:
- master

- name: validate
pull: if-not-exists
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt validate
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
DOMAIN_JOINER_PWD:
from_secret: DOMAIN_JOINER_PWD
NOTPROD_ACC_ID:
from_secret: NOTPROD_ACC_ID
NOTPROD_ACC_KEY:
from_secret: NOTPROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
TF_VAR_CI_ID:
from_secret: TF_VAR_CI_ID
TF_VAR_CI_KEY:
from_secret: TF_VAR_CI_KEY
when:
branch:
exclude:
- master

- name: plan-notprod
pull: always
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt plan -lock=false -out=plan
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
DOMAIN_JOINER_PWD:
from_secret: DOMAIN_JOINER_PWD
NOTPROD_ACC_ID:
from_secret: NOTPROD_ACC_ID
NOTPROD_ACC_KEY:
from_secret: NOTPROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
TF_VAR_CI_ID:
from_secret: TF_VAR_CI_ID
TF_VAR_CI_KEY:
from_secret: TF_VAR_CI_KEY
when:
event:
- push

- name: apply-notprod
pull: always
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt apply -auto-approve -parallelism=50 plan
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
DOMAIN_JOINER_PWD:
from_secret: DOMAIN_JOINER_PWD
NOTPROD_ACC_ID:
from_secret: NOTPROD_ACC_ID
NOTPROD_ACC_KEY:
from_secret: NOTPROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
TF_VAR_CI_ID:
from_secret: TF_VAR_CI_ID
TF_VAR_CI_KEY:
from_secret: TF_VAR_CI_KEY
when:
branch:
include:
- master
exclude:
- plan/*
event:
- push

- name: init-prod
pull: if-not-exists
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${PROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${PROD_ACC_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt init -reconfigure
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
DOMAIN_JOINER_PWD:
from_secret: DOMAIN_JOINER_PWD
PROD_ACC_ID:
from_secret: PROD_ACC_ID
PROD_ACC_KEY:
from_secret: PROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
TF_VAR_NAMESPACE: prod
when:
event:
- promote
- push

- name: plan-prod
pull: always
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${PROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${PROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt plan -lock=false -out=prodplan
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
DOMAIN_JOINER_PWD:
from_secret: DOMAIN_JOINER_PWD
PROD_ACC_ID:
from_secret: PROD_ACC_ID
PROD_ACC_KEY:
from_secret: PROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
TF_VAR_CI_ID:
from_secret: TF_VAR_CI_ID
TF_VAR_CI_KEY:
from_secret: TF_VAR_CI_KEY
TF_VAR_NAMESPACE: prod
when:
event:
- promote
- push

- name: apply-prod
pull: always
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${PROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${PROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt apply -auto-approve -parallelism=50 prodplan
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
DOMAIN_JOINER_PWD:
from_secret: DOMAIN_JOINER_PWD
PROD_ACC_ID:
from_secret: PROD_ACC_ID
PROD_ACC_KEY:
from_secret: PROD_ACC_KEY
SSH_KEY:
from_secret: SSH_KEY
TF_VAR_CI_ID:
from_secret: TF_VAR_CI_ID
TF_VAR_CI_KEY:
from_secret: TF_VAR_CI_KEY
TF_VAR_NAMESPACE: prod
when:
branch:
include:
- master
exclude:
- plan/*
event:
- promote
target:
- prod

services:
- name: docker
image: 340268328991.dkr.ecr.eu-west-2.amazonaws.com/acp/dind
32 changes: 23 additions & 9 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
pipeline:


init:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
pull: true
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
Expand Down Expand Up @@ -36,12 +37,13 @@ pipeline:
- NOTPROD_ACC_KEY

validate:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt validate
Expand All @@ -56,15 +58,17 @@ pipeline:
- NOTPROD_ACC_ID
- NOTPROD_ACC_KEY
- SSH_KEY
- DOMAIN_JOINER_PWD

plan-notprod:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
pull: true
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt plan -lock=false -out=plan
Expand All @@ -78,20 +82,24 @@ pipeline:
- NOTPROD_ACC_ID
- NOTPROD_ACC_KEY
- SSH_KEY
- DOMAIN_JOINER_PWD

apply-notprod:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
pull: true
commands:
- export TF_VAR_APPS_ID=$${NOTPROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${NOTPROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt apply -auto-approve -parallelism=50 plan
when:
branch: master
branch:
include: [ master ]
exclude: [ plan/* ]
event: push
secrets:
- TF_VAR_CI_ID
Expand All @@ -101,14 +109,15 @@ pipeline:
- NOTPROD_ACC_ID
- NOTPROD_ACC_KEY
- SSH_KEY

- DOMAIN_JOINER_PWD

## production
init-prod:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
commands:
- export TF_VAR_APPS_ID=$${PROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${PROD_ACC_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt init -reconfigure
Expand All @@ -122,15 +131,17 @@ pipeline:
- PROD_ACC_ID
- PROD_ACC_KEY
- SSH_KEY
- DOMAIN_JOINER_PWD

plan-prod:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
pull: true
commands:
- export TF_VAR_APPS_ID=$${PROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${PROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt plan -lock=false -out=prodplan
Expand All @@ -146,15 +157,17 @@ pipeline:
- TF_VAR_CI_ID
- TF_VAR_CI_KEY
- SSH_KEY
- DOMAIN_JOINER_PWD

apply-prod:
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:11
image: quay.io/ukhomeofficedigital/dq-docker-terragrunt:v0.23.18
pull: true
commands:
- export TF_VAR_APPS_ID=$${PROD_ACC_ID}
- export TF_VAR_APPS_KEY=$${PROD_ACC_KEY}
- export CI_ID=$${TF_VAR_CI_ID}
- export CI_KEY=$${TF_VAR_CI_KEY}
- export TF_VAR_DOMAIN_JOINER_PWD=$${DOMAIN_JOINER_PWD}
- mkdir /root/.ssh && echo "$SSH_KEY" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- ssh-keyscan -t rsa -p 2222 gitlab.digital.homeoffice.gov.uk >> ~/.ssh/known_hosts
- terragrunt apply -auto-approve -parallelism=50 prodplan
Expand All @@ -171,3 +184,4 @@ pipeline:
- TF_VAR_CI_ID
- TF_VAR_CI_KEY
- SSH_KEY
- DOMAIN_JOINER_PWD
Loading

0 comments on commit 80853c4

Please sign in to comment.