Helm secrets
Introduction
Utilisation des secrets dans les charts helm
Attention
La clés publique (45TGZ78KOED5612DERFVF34SW1222B0WDLKMCBV1) utilisée dans les exmples ci-dessous est un exemple. Vous devez utiliser votre clés publique (voir Secrets OPerationS (SOPS)).
Prérequis
Application
- Plugin helm secret
- Sops
Clés
- Une clés privée (à mettre dans le fichier privatekey.key)
- Une clés public
- Le mot de passe Pour la création des clés (voir Secrets OPerationS (SOPS))
Variable d'environnement
GPG_TTY=$(tty)
export GPG_TTY
La variable GPG_TTY est nécessaire pour saisir le mot de passe lors de l'édition/décryptage du fichier de secrets
Importation de la clés GPG SOPS
cat privatekey.key | gpg --batch --import
gpg --edit-key <clés public>
gpg> trust
sec rsa4096/D3A60BBC335F30F1
created: 2023-08-13 expires: never usage: SC
trust: unknown validity: unknown
ssb rsa4096/A824C783A6C19963
created: 2023-08-13 expires: never usage: E
[ unknown] (1). Infra kubernetes GMo <exploit.gmotech@gmail.com>
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision?
Taper 5 puis valider
Crypter un fichier
-
Créer le fichier
.sops.yamlà la racine de votre chart helm avec le contenu suivant:creation_rules: - pgp: "45TGZ78KOED5612DERFVF34SW1222B0WDLKMCBV1" -
Fichier à crypter
echo "password: Top5ecret" > value_secret.yaml -
Crypter le fichier
sops --encrypt --in-place -p 45TGZ78KOED5612DERFVF34SW1222B0WDLKMCBV1 value_secret.yaml -
Vérifier
cat value_secret.yaml password: ENC[AES256_GCM,data:/e+rO0iyEsvY,iv:WQQ8qh31GoClijFW+Z9mjAeR4ylJ18LfXeZmtIOcAJE=,tag:e0P93v9iw8GLyOwz1Pxq/Q==,type:str] sops: ... unencrypted_suffix: _unencrypted version: 3.7.3
Editer un fichier crypté
helm secrets edit value_secret.yaml
| Version | Date | Change | Auteur |
|---|---|---|---|
| 1.0 | 13.08.2023 | Création | GMo |