infra/.drone.yml
2021-02-14 13:16:20 +00:00

49 lines
1.5 KiB
YAML

kind: pipeline
type: kubernetes
name: default
steps:
- name: Get terraform files
image: alpine
# environment:
# kek:
# from_secret: tfstate
commands:
- "apk update && apk add jq curl"
- |
curl -k https://kubernetes:6443/api/v1/namespaces/drone/configmaps/tfstate -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" | jq -r .data.tfstate | base64 -d | gzip -d > /terraform.tfstate
- |
curl -k https://kubernetes:6443/api/v1/namespaces/drone/configmaps/tfvars -H "Authorization:Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" | jq -r .data.tfvars | base64 -d | gzip -d > /terraform.tfvars
- "cp /terraform.tfstate . && cp /terraform.tfvars ."
# - "cat /terraform.tfvars | head"
# - "env | grep kek"
# - 'echo $kek > /terraform.tfstate'
# - "sleep 300"
# volumes:
# - name: tfstate
# path: /terraform.tfstate
- name: Terraform apply
image: hashicorp/terraform:latest
commands:
- "terraform init"
- "terraform plan -target=module.kubernetes_cluster"
- name: Update configmap
image: alpine
commands:
- "apk update && apk add curl"
- "head terraform.tfstate"
# plan: true
# root_dir: "/data/src"
# var_files:
# - "/terraform.tfvars"
# remote:
# backend:
# ---
# kind: secret
# name: tfstate
# get:
# path: tfstate-default-state
# name: tfstate