Validátor YAML
Zkontrolujte YAML, abyste odhalili syntaktické chyby dřív, než způsobí selhání nasazení nebo CI pipeline. Validátor zpracuje všechny dokumenty ve vstupu pomocí parseru YAML 1.2, odmítne duplicitní klíče, tabulátory použité k odsazení a nekontrolované rozbalování aliasů a ohlásí první chybu včetně dokumentu, řádku a sloupce. U platného vstupu zobrazí počet dokumentů, typ nejvyšší úrovně každého z nich a případná upozornění. Určeno autorům konfigurací pro Kubernetes a Docker Compose.
Často kladené otázky
Co kontroluje validátor YAML?
Zpracovává kompletní syntaxi YAML: odsazení, blokové a řádkové kolekce, hodnoty v uvozovkách i bez nich, kotvy, aliasy, značky a direktivy. Duplicitní klíče v mapování považuje za chybu. Výsledkem je buď potvrzení s krátkým shrnutím, nebo první chyba s uvedením její pozice a vysvětlením.
Jakou verzi YAML používá?
Validátor používá základní schéma YAML 1.2, aktuální verzi specifikace. Ve verzi 1.2 jsou slova jako yes, no, on a off běžné řetězce, nikoli logické hodnoty, takže nikdy nezpůsobí chybu. Dokumenty vytvořené pro nástroje YAML 1.1 jsou stále přijímány, pokud mají platnou syntaxi.
Proč jsou duplicitní klíče hlášeny jako chyby?
Specifikace YAML vyžaduje, aby klíče v mapování byly jedinečné. Mnoho parserů tiše ponechá poslední hodnotu, čímž skryje chyby v konfiguraci, například když je nastavení definováno dvakrát. Validátor uvede řádek a sloupec opakovaného klíče, abyste se mohli rozhodnout, kterou hodnotu ponechat.
Jak se počítají čísla řádků, sloupců a dokumentů?
Řádky a sloupce se počítají od 1 od začátku vloženého vstupu. Dokumenty se počítají v pořadí, v jakém se objevují, a oddělují se řádky ---; první dokument má tedy číslo 1. Pozice označuje místo, kde parser zjistil problém, což může být až za samotnou chybou.
Mohu ověřit několik dokumentů YAML najednou?
Ano. Oddělte dokumenty pomocí --- jako v manifestu Kubernetes s více dokumenty a každý dokument se zpracuje. Platný výsledek zobrazí počet dokumentů a nejvyšší úroveň typu každého z nich.
Co znamená typ nejvyšší úrovně?
Říká vám, co každý dokument obsahuje v kořenovém uzlu: mapování klíčů a hodnot, posloupnost položek, jednu skalární hodnotu nebo vůbec nic. Většina konfiguračních souborů obsahuje mapování, zatímco seznamy prostředků jsou často posloupnosti. Nesprávný typ obvykle znamená chybně umístěnou pomlčku nebo odsazení.
Co jsou varování?
Varování upozorňují na problémy, které nezastaví parsování, například na značku, kterou parser nezná a která se proto načte jako prostá hodnota. Každé varování je uvedeno spolu s číslem řádku a sloupce, a to až do počtu 20. Dokument s varováními se stále považuje za platný.
Proč jsou tabulátory odmítány?
YAML zakazuje tabulátory při odsazování, protože jejich šířka není jednoznačná. Nahraďte tabulátory na začátku nahlášeného řádku mezerami a zachovejte odsazení stejné jako na okolních řádcích. Tabulátory uvnitř hodnot a řetězců v uvozovkách jsou povoleny.
Je chráněn proti útokům s aliasovými bombami?
Ano. Aliasy se mohou rozbalit nejvýše 100krát, takže dokument vytvořený tak, aby násobením aliasů zabral gigabajty dat, což se často označuje jako útok billion laughs, bude označen za neplatný, místo aby vyčerpal paměť. Při běžném používání kotev a aliasů pro sdílená nastavení zůstáváte hluboko pod tímto limitem.
Ověřuje obsah podle schématu, například Kubernetes nebo OpenAPI?
Ne, kontroluje pouze syntaxi a strukturu, nikoli to, zda klíče a hodnoty odpovídají konkrétnímu schématu. Vstup může mít velikost až 5 MiB. Chcete-li převést platný YAML do JSON, TOML nebo jiného formátu, použijte Převodník datových formátů.