Aula 11: Secrets e o princípio twelve-factor
Na aula anterior conhecemos o ConfigMap — um lugar para guardar configurações não sensíveis, fora da image. Mas o que fazer com a senha de um base de dados ou um token de API? São coisas que ninguém deveria ver, e certamente nunca devem ser guardadas dentro do código nem enviadas ao Git. É para isso
ConfigMap é uma prateleira aberta onde todos veem o que há nela; Secret é uma gaveta trancada para coisas privadas. Só repare — trancar a gaveta (base64) não torna o que está dentro ilegível, apenas coloca num lugar onde é preciso uma chave para abrir.
- Secret
- Um objeto no Kubernetes para armazenar informações sensíveis (senhas, tokens) separadamente da image e do código. É guardado em codificação base64 e protegido por controle de acesso — não por criptografia por padrão.
- Twelve-Factor
- Uma metodologia para construir aplicações. Um princípio central: manter toda a configuração no ambiente (environment), com separação total do código, para que o mesmo build rode em qualquer ambiente.
- base64
- Um esquema de codificação que representa dados binários como texto. Não é criptografia: qualquer um pode decodificar base64 de volta ao valor original sem nenhuma chave.
- ConfigMap
- Um objeto para armazenar configurações não sensíveis (chave/valor), injetado no contêiner como variáveis de ambiente ou ficheiros. O equivalente "aberto" de um Secret.
- Variável de Ambiente
- Um valor com um nome específico, disponível para um processo em tempo de execução. Uma forma comum de injetar configuração — de um ConfigMap ou de um Secret — na aplicação sem alterar o código.