k8s-cluster-config/.drone.yml

121 lines
3.0 KiB
YAML

---
# ----------------------------------------------
# -- Helmfile diff changes
# ----------------------------------------------
kind: pipeline
type: docker
name: Show helmfile diffs
platform:
os: linux
arch: amd64
trigger:
branch:
exclude:
- main
event:
- push
steps:
- name: Diff badhouseplants
image: ghcr.io/helmfile/helmfile:canary
environment:
KUBECONFIG_CONTENT:
from_secret: KUBECONFIG_CONTENT
SOPS_AGE_KEY:
from_secret: SOPS_AGE_KEY
commands:
- mkdir $HOME/.kube
- echo "$KUBECONFIG_CONTENT" > $HOME/.kube/config && chmod 0600 $HOME/.kube/config
- helmfile -e badhouseplants diff --suppress-secrets
- name: Diff eterosoft
image: ghcr.io/helmfile/helmfile:canary
environment:
SOPS_AGE_KEY:
from_secret: SOPS_AGE_KEY
KUBECONFIG_CONTENT:
from_secret: KUBECONFIG_CONTENT
commands:
- mkdir $HOME/.kube
- echo "$KUBECONFIG_CONTENT" > $HOME/.kube/config && chmod 0600 $HOME/.kube/config
- helmfile -e etersoft diff --suppress-secrets
---
# ----------------------------------------------
# -- Helmfile apply changes
# ----------------------------------------------
kind: pipeline
type: docker
name: Apply helmfile changes
platform:
os: linux
arch: amd64
trigger:
branch:
- main
event:
- push
steps:
- name: Apply badhouseplants
image: ghcr.io/helmfile/helmfile:canary
environment:
KUBECONFIG_CONTENT:
from_secret: KUBECONFIG_CONTENT
SOPS_AGE_KEY:
from_secret: SOPS_AGE_KEY
commands:
- mkdir $HOME/.kube
- echo "$KUBECONFIG_CONTENT" > $HOME/.kube/config && chmod 0600 $HOME/.kube/config
- helmfile -e badhouseplants apply --suppress-secrets
- name: Apply eterosoft
image: ghcr.io/helmfile/helmfile:canary
environment:
KUBECONFIG_CONTENT:
from_secret: KUBECONFIG_CONTENT
SOPS_AGE_KEY:
from_secret: SOPS_AGE_KEY
commands:
- mkdir $HOME/.kube
- echo "$KUBECONFIG_CONTENT" > $HOME/.kube/config && chmod 0600 $HOME/.kube/config
- helmfile -e etersoft apply --suppress-secrets
---
# ----------------------------------------------
# -- Check da helm pipeline
# ----------------------------------------------
kind: pipeline
type: docker
name: Check helmfiles
trigger:
event:
- cron
cron:
- daily
steps:
- name: Check badhouseplants
image: ghcr.io/allanger/check-da-helm-helmfile-secrets:stable
environment:
RUST_LOG: info
SOPS_AGE_KEY:
from_secret: SOPS_AGE_KEY
commands:
- echo "Hey, bud, some helm releases are outdated:" > message_file.tpl
- cdh --kind helmfile -p $DRONE_WORKSPACE/helmfile.yaml --helmfile-environment badhouseplants -o >> message_file.tpl
- name: Send telegram notification
when:
status:
- failure
image: appleboy/drone-telegram
settings:
token:
from_secret: TELEGRAM_TOKEN
to: 131601077
message_file: message_file.tpl