# Puente de formatos de configuración: TOML / INI / HCL / .env / Nix / dotenv / ConfigMap / Secret de Kubernetes

Convierte configuraciones entre dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (sintaxis nativa de Terraform/Vagrant) y atributos Nix, y genera manifiestos ConfigMap / Secret de Kubernetes; conserva los marcadores ${VAR} / {{var}} y la interpolación estilo envsubst, registra el origen de la inferencia de tipos (string/int/float/bool/list), pliega las etiquetas de bloques HCL en claves anidadas y un diff de ida y vuelta destaca los ajustes no equivalentes (claves perdidas, cambios de tipo, valores reescritos), con YAML apto para parches de Kustomize.

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

- **Categoría:** Format Conversion

- **Palabras clave:** convertidor de configuración, dotenv, TOML, INI, HCL, Terraform, Nix, ConfigMap, Secret, properties, YAML, envsubst

## Descripción general

Todos los formatos se analizan primero en un árbol intermedio tipado: tipos escalares (string/int/float/bool/null), listas, objetos anidados, etiquetas de bloques HCL y marcadores de interpolación con su procedencia. Los valores dotenv siempre son cadenas (su semántica real); los valores sin comillas en INI/.properties se infieren como int/float/bool y se marcan como «inferidos», mientras que los entrecomillados permanecen como cadena; las expresiones HCL (funciones, referencias) se conservan literalmente; Nix admite let … in, inherit, rutas de atributos con puntos y cadenas indentadas ''…'', con lambdas y referencias externas marcadas. Los manifiestos ConfigMap/Secret usan stringData (el servidor fusiona; Kubernetes aplica el base64 en Secret) y las claves se sanitizan según las reglas de K8s (alfanumérico, -, _, .). El diff de ida y vuelta reanaliza la salida y la compara clave a clave con el árbol fuente, informando de cuatro clases de diferencias (dropped/added/type/value): exactamente la lista que hay que revisar en una migración real.

## Entradas

- **Fuente de configuración (pega un archivo)** (textarea): DATABASE_HOST=localhost DATABASE_PORT=5432 …
- **Formato de origen** (select)
- **Formato de destino** (select)
- **Nombre del manifiesto (destinos Kubernetes)** (text): my-app-config
- **Ejecutar diff de ida y vuelta** (checkbox)

## Cuándo usarlo

- Migración de archivos de entorno .env locales o configuraciones INI a manifiestos ConfigMap o Secret de Kubernetes.
- Conversión bidireccional entre definiciones de infraestructura en Terraform HCL y expresiones de atributos Nix.
- Transformación y verificación de tipos de datos entre formatos estructurados como TOML, YAML, JSON y Java .properties.

## Cómo funciona

- Pega el texto de configuración en el área de entrada y selecciona el formato de origen o deja la detección automática.
- Selecciona el formato de salida deseado, indicando el nombre del manifiesto si vas a generar recursos de Kubernetes.
- Activa opcionalmente el diff de ida y vuelta para identificar cambios de tipo, claves reescritas o propiedades omitidas.
- Copia el resultado generado con la estructura de claves normalizada y las variables de plantilla preservadas.

## Casos de uso

- Generación de ConfigMaps y Secrets de Kubernetes listos para parches de Kustomize a partir de archivos .env.
- Adaptación de definiciones de recursos HCL a conjuntos de atributos Nix para entornos reproducibles.
- Traducción de archivos legados Java .properties o INI a archivos TOML o YAML con inferencia de tipos tipados.

## Preguntas frecuentes

### ¿Cómo detecta el sistema las diferencias mediante el diff de ida y vuelta?

Vuelve a analizar la salida generada y la compara nodo por nodo con el árbol de origen para reportar claves eliminadas, añadidas o con tipo modificado.

### ¿Qué ocurre con marcadores como ${VAR} o {{var}} durante la conversión?

Se conservan de forma literal en la salida para garantizar la compatibilidad con envsubst, motores de plantillas y pipelines de integración continua.

### ¿Por qué los manifiestos de Kubernetes usan stringData en vez de data en base64?

Permite mantener los valores en texto plano legible en el repositorio, delegando en Kubernetes la codificación automática al crear el Secret.

### ¿Cómo se procesan los bloques de Terraform HCL con múltiples etiquetas?

Las etiquetas de bloque de HCL se pliegan automáticamente en rutas de objetos anidados dentro del formato de destino.

### ¿Se sanitizan los nombres de claves para los destinos de Kubernetes?

Sí, las claves se ajustan automáticamente al conjunto de caracteres admitido por Kubernetes (alfanumérico, guiones, puntos y guiones bajos).

## Herramientas relacionadas

- [Conversor YAML-JSON](https://elysiatools.com/es/tools/yaml-json-converter): Convierte entre formatos YAML y JSON
- [Puente de configuración WireGuard/OpenVPN a Clash y sing-box](https://elysiatools.com/es/tools/wireguard-openvpn-to-clash-singbox-bridge): Convierte texto pegado de WireGuard u OpenVPN a YAML de Mihomo/Clash o JSON de sing-box y marca los campos secretos; no compartas claves privadas
- [Estudio de consultas y transformaciones JSONata](https://elysiatools.com/es/tools/jsonata-query-transform-studio): Previsualiza consultas y transformaciones estilo JSONata, compara resultados y exporta en JSON, CSV, YAML o Markdown.
- [Conversor HCL-JSON](https://elysiatools.com/es/tools/hcl-json-converter): Convierte entre HashiCorp Configuration Language (HCL) y formatos JSON para configuraciones de Terraform
- [Text to Excel Converter](https://elysiatools.com/es/tools/text-to-excel): Convert various text formats to Excel with customizable parsing and formatting options
- [Convertidor de Texto a JSON](https://elysiatools.com/es/tools/text-to-json): Convierte varios formatos de texto a JSON con opciones de análisis personalizables
- [Conversor TOML-JSON](https://elysiatools.com/es/tools/toml-json-converter): Convierte entre formatos TOML y JSON con soporte para comentarios y estructuras de datos complejas
- [Diff semántico de archivos de configuración](https://elysiatools.com/es/tools/config-file-semantic-diff): Compara configuraciones JSON, YAML, TOML y dotenv por ruta de clave, ignorando el orden y el ruido de formato.

## Ejemplos

- [Ejemplos Kubernetes YAML](https://elysiatools.com/es/samples/kubernetes-yaml): Manifiestos YAML completos de Kubernetes para Deployment, Service, ConfigMap, Secret, Ingress y otros recursos esenciales
- [Muestras de Trazado Distribuido](https://elysiatools.com/es/samples/distributed-tracing-samples): Ejemplos completos de trazado distribuido usando Jaeger, OpenTelemetry y herramientas de observabilidad modernas
- [Ejemplos Docker y Kubernetes](https://elysiatools.com/es/samples/docker-kubernetes): Ejemplos esenciales de orquestación de contenedores incluyendo Dockerfiles, Docker Compose y manifiestos Kubernetes para despliegue de aplicaciones modernas
- [Ejemplos OpenAPI/Swagger](https://elysiatools.com/es/samples/openapi-swagger): Ejemplos completos de documentación API usando OpenAPI 3.0 y especificaciones Swagger para servicios RESTful
