# Ponte de formatos de configuração: TOML / INI / HCL / .env / Nix / dotenv / ConfigMap / Secret do Kubernetes

Converte configurações entre dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (sintaxe nativa do Terraform/Vagrant) e conjuntos de atributos Nix, além de gerar manifestos ConfigMap / Secret do Kubernetes; preserva os marcadores ${VAR} / {{var}} e a interpolação estilo envsubst, registra a origem da inferência de tipos (string/int/float/bool/list), dobra rótulos de blocos HCL em chaves aninhadas e um diff de ida e volta destaca ajustes não equivalentes (chaves perdidas, mudanças de tipo, valores reescritos), com YAML amigável a patches do Kustomize.

> Página canônica: https://elysiatools.com/pt/tools/toml-ini-hcl-envfile-nix-dotenv-kubernetes-configmap-secret-config-format-bridge

- **Categoria:** Format Conversion

- **Palavras-chave:** conversor de configuração, dotenv, TOML, INI, HCL, Terraform, Nix, ConfigMap, Secret, properties, YAML, envsubst

## Visão geral

Todos os formatos são primeiro analisados em uma árvore intermediária tipada: tipos escalares (string/int/float/bool/null), listas, objetos aninhados, rótulos de blocos HCL e marcadores de interpolação com sua procedência. Valores dotenv são sempre strings (sua semântica real); valores sem aspas em INI/.properties são inferidos como int/float/bool e marcados como «inferidos», enquanto valores entre aspas permanecem strings; expressões HCL (funções, referências) são preservadas literalmente; Nix suporta let … in, inherit, caminhos de atributos pontilhados e strings indentadas ''…'', com lambdas e referências externas marcadas. Manifestos ConfigMap/Secret usam stringData (o servidor mescla; o base64 do Secret é aplicado pelo Kubernetes) e as chaves são saneadas segundo as regras do K8s (alfanumérico, -, _, .). O diff de ida e volta re-analisa a saída e a compara chave a chave com a árvore fonte, relatando quatro classes de diferenças (dropped/added/type/value) — exatamente a lista a revisar numa migração real.

## Entradas

- **Fonte de configuração (cole um arquivo)** (textarea): DATABASE_HOST=localhost DATABASE_PORT=5432 …
- **Formato de origem** (select)
- **Formato de destino** (select)
- **Nome do manifesto (destinos Kubernetes)** (text): my-app-config
- **Executar diff de ida e volta** (checkbox)

## Quando usar

- Migrar variáveis de arquivos .env locais para manifestos ConfigMap ou Secret do Kubernetes mantendo marcadores de interpolação intactos.
- Converter declarações de infraestrutura em HCL (Terraform) ou arquivos TOML e INI para conjuntos de atributos Nix, YAML ou JSON.
- Auditar e validar a equivalência estrutural de arquivos de configuração usando diff de ida e volta durante migrações de sistemas.

## Como funciona

- O texto de origem é analisado e estruturado em uma árvore intermediária tipada com suporte a escalares, listas, objetos aninhados, blocos HCL e expressões Nix.
- As regras do formato de destino são aplicadas, incluindo a sanitização de chaves para o padrão do Kubernetes e a preservação literal de marcadores de template.
- O resultado é emitido e, quando selecionado, um diff de ida e volta reanalisa a saída para comparar item a item com a entrada, listando alterações de chave, tipo ou valor.

## Casos de uso

- Geração de manifestos Kubernetes ConfigMap e Secret a partir de arquivos .env de ambientes de desenvolvimento.
- Conversão de configurações de infraestrutura HCL para expressões Nix compatíveis com pipelines declarativos.
- Modernização de propriedades Java (.properties) ou arquivos INI para estruturas hierárquicas em TOML, YAML ou JSON.

## Perguntas frequentes

### Como os marcadores como ${VAR} ou {{var}} são tratados durante a conversão?

Os marcadores de interpolação são mantidos literalmente no formato intermediário e na saída, permitindo substituição posterior via envsubst ou pipelines de CI/CD.

### Como os manifestos Secret do Kubernetes são formatados?

Os manifestos utilizam o campo stringData com nomes de chaves sanitizados, permitindo que o Kubernetes processe a codificação Base64 no momento da aplicação.

### O que a verificação de diff de ida e volta aponta?

Ela reanalisa a saída gerada e a confronta com a árvore de origem, identificando quatro categorias de diferenças: chaves descartadas, chaves adicionadas, alterações de tipo e valores modificados.

### Como os blocos HCL do Terraform são representados em formatos hierárquicos como JSON ou Nix?

Os identificadores e rótulos de bloco do HCL são desdobrados em caminhos de chaves de objetos aninhados, mantendo as expressões e atributos internos.

### Como a inferência de tipos opera em formatos de texto simples como INI e Java .properties?

Valores sem aspas são inferidos como números inteiros, números de ponto flutuante ou booleanos, enquanto valores entre aspas são preservados estritamente como strings.

## Ferramentas relacionadas

- [Conversor YAML-JSON](https://elysiatools.com/pt/tools/yaml-json-converter): Converte entre formatos YAML e JSON
- [Ponte de configuração WireGuard/OpenVPN para Clash e sing-box](https://elysiatools.com/pt/tools/wireguard-openvpn-to-clash-singbox-bridge): Converte texto colado de cliente WireGuard ou OpenVPN para YAML Mihomo/Clash ou JSON sing-box e sinaliza campos secretos; não compartilhe chaves privadas
- [Studio de consulta e transformacao JSONata](https://elysiatools.com/pt/tools/jsonata-query-transform-studio): Visualize consultas e transformacoes no estilo JSONata, compare resultados e exporte em JSON, CSV, YAML ou Markdown.
- [Conversor HCL-JSON](https://elysiatools.com/pt/tools/hcl-json-converter): Converte entre HashiCorp Configuration Language (HCL) e formatos JSON para configurações Terraform
- [Text to Excel Converter](https://elysiatools.com/pt/tools/text-to-excel): Convert various text formats to Excel with customizable parsing and formatting options
- [Text to JSON Converter](https://elysiatools.com/pt/tools/text-to-json): Convert various text formats to JSON with customizable parsing options
- [Conversor TOML-JSON](https://elysiatools.com/pt/tools/toml-json-converter): Converte entre formatos TOML e JSON com suporte para comentários e estruturas de dados complexas
- [Diff semântico de arquivos de configuração](https://elysiatools.com/pt/tools/config-file-semantic-diff): Compare configurações JSON, YAML, TOML e dotenv por caminho de chave, ignorando ordem e ruído de formatação.

## Exemplos

- [Exemplos Kubernetes YAML](https://elysiatools.com/pt/samples/kubernetes-yaml): Manifestos YAML completos do Kubernetes para Deployment, Service, ConfigMap, Secret, Ingress e outros recursos essenciais
- [Exemplos de Rastreamento Distribuído](https://elysiatools.com/pt/samples/distributed-tracing-samples): Exemplos completos de rastreamento distribuído usando Jaeger, OpenTelemetry e ferramentas modernas de observabilidade
- [Exemplos Docker e Kubernetes](https://elysiatools.com/pt/samples/docker-kubernetes): Exemplos essenciais de orquestração de contêineres incluindo Dockerfiles, Docker Compose e manifestos Kubernetes para implantação de aplicações modernas
- [Exemplos OpenAPI/Swagger](https://elysiatools.com/pt/samples/openapi-swagger): Exemplos abrangentes de documentação API usando OpenAPI 3.0 e especificações Swagger para serviços RESTful
