Validador de YAML
Comprueba YAML para detectar errores de sintaxis antes de que provoquen fallos en una implementación o una canalización de CI. El validador analiza todos los documentos de la entrada con un analizador YAML 1.2, rechaza claves duplicadas, tabuladores usados para la sangría y expansiones descontroladas de alias, e indica el primer error con el documento, la línea y la columna correspondientes. Si la entrada es válida, muestra el número de documentos, el tipo de nivel superior de cada uno y cualquier advertencia. Diseñado para Kubernetes, Docker Compose y quienes crean archivos de configuración.
Preguntas frecuentes
¿Qué comprueba el validador de YAML?
Analiza toda la sintaxis de YAML: sangría, colecciones en bloque y en flujo, escalares entrecomillados y sin comillas, anclas, alias, etiquetas y directivas. También considera un error las claves duplicadas en un mapa. El resultado es una confirmación con un breve resumen o el primer error, con su posición y una explicación.
¿Qué versión de YAML sigue?
El validador usa el esquema básico YAML 1.2, la versión actual de la especificación. En la versión 1.2, palabras como yes, no, on y off son cadenas normales, no valores booleanos, por lo que nunca provocan un error. Los documentos escritos para herramientas YAML 1.1 siguen aceptándose siempre que su sintaxis sea válida.
¿Por qué se notifican las claves duplicadas como errores?
La especificación YAML exige que las claves de un mapa sean únicas. Muchos analizadores conservan silenciosamente el último valor, lo que oculta errores de configuración, como definir un ajuste dos veces. El validador indica la línea y la columna de la clave repetida para que pueda decidir qué valor conservar.
¿Cómo se cuentan las líneas, las columnas y los documentos?
Las líneas y las columnas empiezan en 1 desde el comienzo de la entrada que pega. Los documentos se cuentan en el orden en que aparecen y se separan con líneas ---, por lo que el primer documento es el documento 1. La posición señala dónde detectó el problema el analizador, que puede estar justo después del error real.
¿Puedo validar varios documentos YAML a la vez?
Sí. Separe los documentos con --- como en un manifiesto de Kubernetes con varios documentos y se analizarán todos. Un resultado válido muestra el número de documentos y el tipo de nivel superior de cada uno.
¿Qué significa el tipo de nivel superior?
Indica qué contiene cada documento en su raíz: un mapa de claves y valores, una secuencia de elementos, un valor escalar único o nada. La mayoría de los archivos de configuración son mapas, mientras que las listas de recursos suelen ser secuencias. Un tipo incorrecto suele deberse a un guion o una sangría mal colocados.
¿Qué son las advertencias?
Son problemas que no detienen el análisis, por ejemplo, una etiqueta que el analizador no reconoce y que, por tanto, se lee como un valor simple. Cada advertencia se muestra con su línea y columna, hasta un máximo de 20. Un documento con advertencias sigue considerándose válido.
¿Por qué se rechazan las tabulaciones?
YAML prohíbe usar caracteres de tabulación para la sangría porque su ancho es ambiguo. Sustituya las tabulaciones al principio de la línea indicada por espacios y mantenga la sangría uniforme con las líneas de alrededor. Se permiten tabulaciones dentro de los valores y las cadenas entre comillas.
¿Está protegido contra ataques con bombas de alias?
Sí. Los alias pueden expandirse como máximo 100 veces, así que un documento creado para multiplicarlos hasta ocupar gigabytes de datos, en un ataque conocido como billion laughs, se marca como no válido en lugar de agotar la memoria. El uso normal de anclas y alias para compartir ajustes se mantiene muy por debajo de este límite.
¿Valida según un esquema como Kubernetes u OpenAPI?
No, solo comprueba la sintaxis y la estructura, no si las claves y los valores coinciden con un esquema específico. Las entradas pueden tener hasta 5 MiB. Para convertir YAML válido a JSON, TOML u otro formato, use el Conversor de formatos de datos.