SOPS
Security-as-Code
Szyfrowanie sekretów w plikach trzymanych w Git (GitOps-friendly).
SOPS szyfruje wartości w plikach YAML/JSON/ENV (zostawiając klucze czytelnymi), używając kluczy z KMS (AWS/GCP/Azure), age lub PGP. Dzięki temu sekrety możesz bezpiecznie trzymać w repozytorium Git — zaszyfrowane — i odszyfrowywać dopiero przy wdrożeniu. To kanoniczne podejście „secrets-as-code” w świecie GitOps.
Kiedy używać
- Chcesz wersjonować sekrety w Git bez ujawniania wartości.
- Pracujesz w GitOps (Flux/Argo CD) i potrzebujesz szyfrowanych manifestów.
- Wolisz proste szyfrowanie plików zamiast serwera sekretów.
Przykład użycia
# szyfrowanie kluczem age
sops --encrypt --age $AGE_PUBKEY secrets.yaml > secrets.enc.yaml
sops --decrypt secrets.enc.yaml
# secrets.enc.yaml — klucze jawne, wartości zaszyfrowane
db_password: ENC[AES256_GCM,data:…,tag:…]