YAML Validator
Preverite YAML glede sintaktičnih napak, preden te prekinejo uvajanje ali cevovod CI. Validator razčleni vsak dokument v vnosu z razčlenjevalnikom YAML 1.2, zavrne podvojene ključe, zamike s tabulatorji in nenadzorovano širjenje vzdevkov ter sporoči prvo napako z dokumentom, vrstico in stolpcem. Pri veljavnem vnosu prikaže število dokumentov, tip najvišje ravni vsakega dokumenta in morebitna opozorila. Namenjen je avtorjem konfiguracij za Kubernetes, Docker Compose in druge konfiguracije.
Pogosta vprašanja
Kaj preverja validator YAML?
Razčleni celotno sintakso YAML: zamike, blokovne in pretočne zbirke, vrednosti v narekovajih in navadnem besedilu, sidra, vzdevke, oznake in direktive. Podvojene ključe v preslikavi obravnava kot napako. Rezultat je potrditev s kratkim povzetkom ali prva napaka z lokacijo in razlago.
Kateri različici YAML sledi?
Preverjevalnik uporablja osrednjo shemo YAML 1.2, trenutno različico specifikacije. V različici 1.2 so besede, kot so yes, no, on in off, navadni nizi in ne logične vrednosti, zato nikoli ne povzročijo napake. Dokumenti, pripravljeni za orodja YAML 1.1, so še vedno sprejeti, če je njihova sintaksa veljavna.
Zakaj so podvojeni ključi prijavljeni kot napake?
Specifikacija YAML zahteva, da so ključi v preslikavi enolični. Številni razčlenjevalniki tiho obdržijo zadnjo vrednost, zaradi česar napake v konfiguraciji, kot je dvakrat določena nastavitev, ostanejo skrite. Preverjevalnik navede vrstico in stolpec ponovljenega ključa, da se lahko odločite, katero vrednost obdržati.
Kako se štejejo številke vrstic, stolpcev in dokumentov?
Številke vrstic in stolpcev se začnejo z 1 na začetku prilepljenega vnosa. Dokumenti se štejejo po vrstnem redu, ločeni so z vrsticami ---, zato je prvi dokument dokument 1. Mesto označuje, kje je razčlenjevalnik zaznal težavo, kar je lahko tik za dejansko napako.
Ali lahko hkrati preverim več dokumentov YAML?
Da. Dokumente ločite z --- kot v večdokumentnem manifestu Kubernetes, in razčlenjen bo vsak dokument. Pri veljavnem rezultatu sta prikazana število dokumentov in vrhnja vrsta vsakega od njih.
Kaj pomeni vrhnja vrsta?
Pove, kaj vsebuje vsak dokument v korenu: preslikavo ključev in vrednosti, zaporedje elementov, eno skalarno vrednost ali nič. Večina konfiguracijskih datotek vsebuje preslikave, seznami virov pa so pogosto zaporedja. Napačna vrsta običajno pomeni, da je pomišljaj napačno postavljen ali da je zamik neustrezen.
Kaj so opozorila?
Opozorila označujejo težave, ki ne ustavijo razčlenjevanja, na primer oznako, ki je razčlenjevalnik ne pozna in jo zato prebere kot navadno vrednost. Vsako opozorilo je navedeno s številko vrstice in stolpca; prikazanih jih je največ 20. Dokument z opozorili še vedno velja za veljavnega.
Zakaj so tabulatorji zavrnjeni?
YAML prepoveduje tabulatorje za zamikanje, ker je njihova širina dvoumna. Tabulatorje na začetku navedene vrstice zamenjajte s presledki in ohranite enak zamik kot v sosednjih vrsticah. Tabulatorji znotraj vrednosti in nizov v narekovajih so dovoljeni.
Ali je zaščiten pred napadi z eksplozijo vzdevkov?
Da. Vzdevki se lahko razširijo največ 100-krat, zato je dokument, pripravljen za pomnožitev vzdevkov v gigabajte podatkov, kar se pogosto imenuje napad »billion laughs«, označen kot neveljaven, namesto da bi izčrpal pomnilnik. Običajna uporaba sidrišč in vzdevkov za skupne nastavitve ostane daleč pod to omejitvijo.
Ali preverja skladnost s shemo, kot sta Kubernetes ali OpenAPI?
Ne, preverja samo sintakso in strukturo, ne pa tega, ali se ključi in vrednosti ujemajo z določeno shemo. Vnosi so lahko veliki do 5 MiB. Če želite veljaven YAML pretvoriti v JSON, TOML ali drugo obliko, uporabite Pretvornik podatkovnih formatov.