Pular para o conteúdo principal

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​

CampoObrigatórioDescrição
Config MapSimNome do config map. Precisa seguir convenções do Kubernetes: apenas letras minúsculas, números e hífens.
TypeSimEscopo de dono do config map. Ex: Squad.
SquadSimSquad dono do config map (aparece quando Type = Squad). Padrão: Default.
DescriptionNãoDescriçã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.

CampoDescrição
Property NameNome da propriedade dentro do config map (ex: DB_URL, API_BASE_URL).
Values by EnvironmentUm 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 MapSecret
Uso típicoValores não sensíveis, configuráveis por ambiente (URLs, nomes de host, flags)Valores sensíveis (senhas, tokens, chaves)
Visibilidade do valorVisível normalmenteMascarado, mesmo após salvo
Formulário de criaçãoBasic 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/AppExplícita, na aba de secrets/config mapsExplí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? Sim — o mesmo config map pode ser vinculado a vários Flows/Apps ao mesmo tempo.

Dá para converter um Config Map em Secret (ou vice-versa) depois de criado? Não existe conversão automática. É preciso fazer manualmente: criar a nova secret (ou config map) e migrar os valores para ela.