1001Ferramentas
📦Dev

K8s ConfigMap YAML

Gere um Kubernetes ConfigMap em YAML a partir de pares chave=valor, pronto para aplicar com kubectl. Centralize a configuração dos seus pods em segundos.

YAML

ConfigMap em YAML sem contar espaços

Você quer tirar três configurações do código e jogar num ConfigMap, e aí o YAML atravessa o caminho. Dois espaços ou quatro? O data fica dentro do metadata ou do lado? Um espaço sobrando e o kubectl responde mapping values are not allowed in this context. Aqui você digita o nome do recurso, cola as linhas chave=valor e o manifesto se monta ao lado, atualizando a cada tecla.

O esqueleto é fixo: apiVersion v1, kind ConfigMap, metadata.name e o bloco data preenchido com as suas linhas. Cada linha é quebrada no primeiro sinal de igual, então tudo que vier depois continua fazendo parte do valor, outros iguais incluídos. Os valores saem entre aspas, o que mantém DATABASE_URL=postgres://a=b:5432 inteiro e impede que 8080 ou true virem número e booleano na leitura do YAML.

Confira duas coisas antes de aplicar. O nome precisa ser um label DNS-1123 (minúsculas, dígitos e hífen) e as chaves só aceitam letras, dígitos, ponto, hífen e sublinhado — a página não valida nada disso por você. Valor multilinha, tipo um nginx.conf inteiro, não cabe aqui, porque cada quebra de linha vira outra chave; para esse caso, kubectl create configmap --from-file. Tudo roda no seu navegador, e trocar o ConfigMap não reinicia os pods sozinho.

Perguntas frequentes

Dá para definir o namespace?
Não. A saída traz apenas metadata.name. Acrescente o namespace à mão no arquivo ou passe -n na hora do kubectl apply.
Por que todos os valores saem entre aspas?
Porque o campo data de um ConfigMap precisa ser um mapa de strings. Sem aspas, o YAML leria 8080 como inteiro e yes como booleano, e o servidor da API rejeitaria o objeto.
Tem botão de copiar?
Não. O YAML fica num bloco de texto que você seleciona e copia. Ele é reconstruído a cada tecla digitada, sem precisar clicar em nada.

Ferramentas Relacionadas