38 lines
965 B
YAML
38 lines
965 B
YAML
pipeline:
|
|
validate:
|
|
image: alpine:3.16
|
|
when:
|
|
path: "dns/**"
|
|
event: pull_request
|
|
commands:
|
|
- apk add --no-cache terraform
|
|
- terraform version
|
|
- cd dns
|
|
- env
|
|
- terraform init
|
|
- terraform validate
|
|
- terraform plan -var "token=$LINODE_TOKEN"
|
|
secrets:
|
|
- source: linode_token
|
|
target: LINODE_TOKEN
|
|
- source: aws_access_key_id
|
|
target: AWS_ACCESS_KEY_ID
|
|
- source: aws_secret_access_key
|
|
target: AWS_SECRET_ACCESS_KEY
|
|
|
|
deploy:
|
|
image: alpine:3.16
|
|
when:
|
|
path: "dns/**"
|
|
branch: main
|
|
event: push
|
|
commands:
|
|
- apk add --no-cache terraform
|
|
- terraform version
|
|
- cd dns
|
|
- terraform init
|
|
- terraform validate
|
|
- terraform plan -out deploy.plan -var "token=$LINODE_TOKEN"
|
|
- terraform apply deploy.plan -var "token=$LINODE_TOKEN"
|
|
secrets: [linode_token, aws_access_key_id, aws_secret_access_key]
|