Files
k3s-homelab/apps/cluster-secrets/README.md
T
Alex 3a9675f992 feat(secrets): seal remaining user-provided cluster secrets
Converts cloudflare-api-token, argocd repo creds, nightscout, and the three
solitaire secrets to SealedSecrets (adopted in place; values verified unchanged
by before/after data hash). Controller-generated secrets (cert-manager webhook CA,
LE account key, argocd internals) intentionally left alone.

Verified post-seal: argocd repository label and dockerconfigjson type preserved,
letsencrypt-prod issuer still Ready, both ArgoCD apps still Synced/Healthy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 10:01:58 -07:00

1.5 KiB

cluster-secrets

SealedSecrets for credentials belonging to components not deployed from this repo's ArgoCD apps (cert-manager, argocd itself, and solitaire — whose manifests live in the Ferrous-Solitaire repo). They are committed here encrypted, purely so the cluster's secrets are reproducible after a rebuild.

No ArgoCD Application watches this directory; these are applied manually:

kubectl apply -f apps/cluster-secrets/

Disaster recovery

These are useless without the sealed-secrets controller's private key. Restore it FIRST, or a fresh controller will generate a new key and none of these can be decrypted:

gpg -d /mnt/bulk/backups/sealed-secrets/master-key-YYYYMMDD.gpg | kubectl apply -f -
kubectl -n kube-system rollout restart deploy/sealed-secrets-controller
kubectl apply -f apps/cluster-secrets/

Passphrase for that file lives in the password manager. It is not recorded anywhere else.

Contents

File Secret Notes
cloudflare-api-token-sealedsecret.yaml cert-manager/cloudflare-api-token DNS-01 ACME; TLS renewal depends on it
argocd-gitea-repo-sealedsecret.yaml argocd/gitea-rusty-solitare repo creds; needs label argocd.argoproj.io/secret-type=repository
solitaire-gitea-registry-sealedsecret.yaml solitaire/gitea-registry image pull secret (dockerconfigjson)
solitaire-matomo-sealedsecret.yaml solitaire/matomo-secret
solitaire-secrets-sealedsecret.yaml solitaire/solitaire-secrets