Lección 11: Secrets y el principio twelve-factor
En la lección anterior conocimos el ConfigMap — un lugar para guardar configuraciones no sensibles, fuera de la imagen. Pero ¿qué haces con la contraseña de una base de datos o un token de API? Son cosas que no todos deberían ver, y desde luego nunca deben guardarse dentro del código ni subirse a Gi
Un ConfigMap es un estante abierto que todos ven; un Secret es un cajón con llave para cosas privadas. Solo fíjate — cerrar el cajón (base64) no hace que lo de adentro sea ilegible, solo lo pone donde hace falta una llave para entrar.
- Secret
- Un objeto de Kubernetes para guardar información sensible (contraseñas, tokens) separada de la imagen y del código. Se guarda en base64 y se protege mediante control de acceso — no mediante cifrado por defecto.
- Twelve-Factor
- Una metodología para construir aplicaciones. Un principio central: guardar toda la configuración en el entorno (environment), separada por completo del código, para que el mismo build corra en cualquier entorno.
- base64
- Un esquema de codificación que representa datos binarios como texto. No es cifrado: cualquiera puede decodificar base64 de vuelta al valor original sin ninguna llave.
- ConfigMap
- Un objeto para guardar configuraciones no sensibles (clave/valor), que se inyecta en un contenedor como variables de entorno o archivos. La contraparte "abierta" de un Secret.
- Variable de entorno
- Un valor con nombre disponible para un proceso en tiempo de ejecución. Una forma común de inyectar configuración — desde un ConfigMap o un Secret — en la aplicación sin cambiar el código.