diff --git a/k8s/argocd/apps/00-secrets.yaml b/k8s/argocd/apps/00-secrets.yaml new file mode 100644 index 0000000..328fcc9 --- /dev/null +++ b/k8s/argocd/apps/00-secrets.yaml @@ -0,0 +1,26 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: sops-secrets + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io + annotations: + argocd.argoproj.io/sync-wave: "0" +spec: + project: homelab + revisionHistoryLimit: 3 + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + source: + repoURL: http://forgejo.riotpiao.com:3000/riotpiao.com/homelab.git + targetRevision: main + path: k8s/security/sops-secrets + plugin: {} + destination: + server: https://kubernetes.default.svc + revisionHistoryLimit: 3 diff --git a/k8s/argocd/bootstrap/sops-cmp-generate.sh b/k8s/argocd/bootstrap/sops-cmp-generate.sh new file mode 100755 index 0000000..61d6d6f --- /dev/null +++ b/k8s/argocd/bootstrap/sops-cmp-generate.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e + +export SOPS_AGE_KEY_FILE=/sops-age/keys.txt + +# Decrypt grafana secrets once +GRAFANA_SECRETS=$(sops -d k8s/platform/logging/grafana-secrets.enc.yaml) + +# Stage 0: grafana +OIDC_SECRET=$(echo "$GRAFANA_SECRETS" | yq -r '.env.GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET') +ADMIN_PASSWORD=$(echo "$GRAFANA_SECRETS" | yq -r '.adminPassword') + +cat <