Config Maps
1. Visão Geral
Config Maps armazenam valores de configuração não sensíveis, visíveis a qualquer momento — URLs, nomes de host, flags, etc. — configuráveis por ambiente. É o equivalente a uma variável de ambiente "global" da aplicação, como a URL de um banco de dados de test versus a de production.
Use Config Maps quando o valor precisa variar por ambiente mas não é sigiloso — o valor pode ser consultado por qualquer pessoa com acesso à tela. Quando o valor é uma credencial ou dado sensível (senha, token), use uma Secret no lugar.
2. Criando um Config Map
A tela de criação segue a mesma estrutura da tela de Secrets:
Basic Information
| Campo | Obrigatório | Descrição |
|---|---|---|
| Config Map | Sim | Nome do config map. Precisa seguir convenções do Kubernetes: apenas letras minúsculas, números e hífens. |
| Type | Sim | Escopo de dono do config map. Ex: Squad. |
| Squad | Sim | Squad dono do config map (aparece quando Type = Squad). Padrão: Default. |
| Description | Não | Descrição livre do propósito do config map. |
Properties
Um config map pode ter uma ou mais properties — pares chave/valor. Clique em + Add Property para adicionar uma nova.
| Campo | Descrição |
|---|---|
| Property Name | Nome da propriedade dentro do config map (ex: DB_URL, API_BASE_URL). |
| Values by Environment | Um valor diferente por ambiente (ex: test, production). Diferente de uma Secret, o valor fica visível normalmente, sem mascaramento. |
Exemplo: um config map db-config com a property URL, com um valor para test (ex: URL do banco de testes) e outro para production (ex: URL do banco de produção).
Clique em Save para concluir.
3. Usando um Config Map em Flows, Backend e Frontend Apps
Assim como uma Secret, um config map precisa ser explicitamente vinculado ao Flow, Backend App ou Frontend App que vai usá-lo, na aba de configuração de acesso a secrets/config maps daquele Flow/App.
Depois de vinculado, o valor de uma property é acessado pela expressão:
{$.env.configmap_name.property_name}
Por exemplo, para acessar a property URL do config map db-config:
{$.env.db-config.URL}
O valor retornado é o correspondente ao ambiente em que o Flow/App está rodando.
4. Diferença entre Secret e Config Map
| Config Map | Secret | |
|---|---|---|
| Uso típico | Valores não sensíveis, configuráveis por ambiente (URLs, nomes de host, flags) | Valores sensíveis (senhas, tokens, chaves) |
| Visibilidade do valor | Visível normalmente | Mascarado, mesmo após salvo |
| Formulário de criação | Basic Information + Properties (por ambiente) | Basic Information + Properties (por ambiente) |
| Forma de acesso no Flow/App | {$.env.nome.property} | {$.env.nome.property} |
| Vinculação ao Flow/App | Explícita, na aba de secrets/config maps | Explícita, na aba de secrets/config maps |
Na dúvida: se o valor pode ser exibido em texto puro sem risco (uma URL, por exemplo), use Config Map. Se o valor concede acesso a algo (senha, token, chave de API), use Secret.
5. Perguntas frequentes
Um config map pode ser usado por mais de um Flow ou App? TODO: confirmar se o mesmo config map pode ser vinculado a múltiplos Flows/Apps simultaneamente.
Dá para converter um Config Map em Secret (ou vice-versa) depois de criado? TODO: confirmar se existe conversão ou se é preciso recriar como o outro tipo.