YAML es sensible a la indentación y los espacios. Un solo error puede invalidar un despliegue en Docker Compose o Kubernetes. Las herramientas de validación y linting ayudan a detectar fallos, aplicar reglas de estilo y garantizar consistencia antes de ejecutar sistemas críticos.
yamllint
CLI)Instalación: pip install yamllint
Validación:
yamllint config.yml
Muestra la línea y columna de errores, además de sugerencias de estilo. Existe versión online en YAML Lint.
Disponible en el Marketplace de VSCode, brinda validación en tiempo real, autocompletado basado en esquemas y sugerencias de corrección. Ideal para trabajar con Kubernetes, GitHub Actions o Docker.
Muchos parsers permiten validar YAML contra esquemas JSON. Ejemplo: validar deployment.yaml
contra el esquema oficial de apps/v1
, garantizando estructura y tipos correctos.
Integrar validadores en automatizaciones evita que YAML erróneos lleguen a producción.
name: Validar YAML
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Instalar yamllint
run: pip install yamllint
- name: Validar archivos YAML
run: yamllint .
Incorrecto:
producto:
codigo: 1 # tabulación
Correcto:
producto:
codigo: 1
Incorrecto:
usuario:
nombre: Ana
edad: 25
Correcto:
usuario:
nombre: Ana
edad: 25
Recomendado:
respuesta: "yes"
codigo_postal: "05000"
Incorrecto:
---
producto: Teclado
---producto: Mouse
Correcto:
---
producto: Teclado
---
producto: Mouse
Incorrecto:
frutas:
- Manzana
- Banana
- Naranja
Correcto:
frutas:
- Manzana
- Banana
- Naranja
yamllint
o la extensión de VSCode antes de desplegar."yes"
, "no"
, "00123"
).En conclusión, la validación y el linting son fundamentales para asegurar que los archivos YAML sean correctos, consistentes y estén listos para sistemas sensibles como Kubernetes, Docker Compose o workflows de CI/CD.