[Book] [OK!] GitOps Cookbook: 08. Advanced Topics: 8.1 Encrypt Sensitive Data (Sealed Secrets)


Задача:
Зашифровать Secret в Git


Делаю:
2025.12.04


Установка kubeseal и контроллера


$ kubectl create secret generic pacman-secret \
    --from-literal=user=pacman \
    --from-literal=pass=pacman


$ kubectl get secret pacman-secret -o yaml
$ kubectl get secret pacman-secret -o yaml \
  | kubeseal -o yaml > pacman-sealedsecret.yaml


$ cat pacman-sealedsecret.yaml


Отправляю его в репо:


$ kubectl delete secret pacman-secret -n default -o yaml


$ argocd app create pacman \
--repo https://github.com/wildmakaka/pacman-kikd-manifests.git \
--path 'k8s/sealedsecrets' \
--dest-server https://kubernetes.default.svc \
--dest-namespace default \
--sync-policy auto


$ argocd app list


$ argocd app sync pacman


Пароли лежат в репо в зашифрованном виде, а на сервере в расшифрованном.


$ argocd app delete pacman