Leçon 11 : Secrets et le principe twelve-factor
Dans la leçon précédente, on a découvert le ConfigMap — un endroit où garder des réglages non sensibles, en dehors de l'image. Mais que fait-on d'un mot de passe de base de données ou d'un token API ? Ce sont des choses que tout le monde ne doit pas voir, et qu'il ne faut surtout jamais stocker dans
Un ConfigMap est une étagère ouverte où tout le monde voit ce qu'il y a dessus ; un Secret est un tiroir verrouillé pour les choses privées. Attention seulement — verrouiller le tiroir (base64) ne rend pas illisible ce qu'il y a dedans, ça le place juste là où il faut une clé pour l'ouvrir.
- Secret
- Un objet Kubernetes pour stocker des données sensibles (mots de passe, tokens) séparément de l'image et du code. Stocké en encodage base64 et protégé par contrôle d'accès — pas par chiffrement par défaut.
- Twelve-Factor
- Une méthodologie pour construire des applications. Un principe central : garder toute la configuration dans l'environnement, en séparation totale du code, pour que le même build tourne dans tout environnement.
- base64
- Une méthode d'encodage qui représente des données binaires sous forme de texte. Ce n'est pas du chiffrement : n'importe qui peut décoder du base64 pour retrouver la valeur d'origine, sans aucune clé.
- ConfigMap
- Un objet pour stocker des réglages non sensibles (clé/valeur), injecté dans un conteneur comme variables d'environnement ou comme fichiers. L'équivalent "ouvert" d'un Secret.
- Variable d'environnement
- Une valeur nommée disponible pour un processus à l'exécution. Une façon courante d'injecter de la configuration — depuis un ConfigMap ou un Secret — dans l'application sans changer le code.