# YAML-validator

Kontrollér YAML for syntaksfejl, før de ødelægger en udrulning eller en CI-pipeline. Validatoren analyserer alle dokumenter i inputtet med en YAML 1.2-parser, afviser dublerede nøgler, tabulatorer brugt til indrykning og ukontrolleret aliasudvidelse og rapporterer den første fejl med dokument, linje og kolonne. Gyldigt input viser antallet af dokumenter, typen på øverste niveau for hvert dokument og eventuelle advarsler. Udviklet til Kubernetes-, Docker Compose- og konfigurationsforfattere.

## Ofte stillede spørgsmål

### Hvad kontrollerer YAML-validatoren?

Den analyserer hele YAML-syntaksen: indrykning, blok- og flow-samlinger, citerede og ukomplicerede skalarværdier, ankre, aliaser, tags og direktiver. Den behandler også dublerede nøgler i en mapping som en fejl. Resultatet er enten en bekræftelse med et kort resumé eller den første fejl med dens placering og en forklaring.

### Hvilken version af YAML følger den?

Validatoren bruger YAML 1.2-kernespecifikationen, som er den aktuelle version af specifikationen. I 1.2 er ord som yes, no, on og off almindelige strenge og ikke booleske værdier, så de udløser aldrig en fejl. Dokumenter skrevet til YAML 1.1-værktøjer accepteres stadig, så længe syntaksen er gyldig.

### Hvorfor rapporteres dublerede nøgler som fejl?

YAML-specifikationen kræver, at nøgler i en mapping er unikke. Mange parsere beholder stiltiende den sidste værdi, hvilket skjuler konfigurationsfejl som en indstilling, der er defineret to gange. Validatoren rapporterer linjen og kolonnen for den gentagne nøgle, så du kan vælge, hvilken værdi der skal beholdes.

### Hvordan tælles linje-, kolonne- og dokumentnumre?

Linjer og kolonner starter ved 1 fra begyndelsen af det input, du indsætter. Dokumenter tælles i den rækkefølge, de forekommer, adskilt af ----linjer, så det første dokument er dokument 1. Positionen angiver, hvor parseren registrerede problemet, hvilket kan være lige efter den faktiske fejl.

### Kan jeg validere flere YAML-dokumenter på én gang?

Ja. Adskil dokumenterne med ---, som i et Kubernetes-manifest med flere dokumenter, så parses hvert dokument. Et gyldigt resultat viser antallet af dokumenter og hver enkelt topniveautype.

### Hvad betyder typen på øverste niveau?

Den fortæller, hvad hvert dokument indeholder ved roden: en mapping af nøgler og værdier, en sekvens af elementer, en enkelt skalarværdi eller ingenting. De fleste konfigurationsfiler er mappings, mens lister over ressourcer ofte er sekvenser. En forkert type her skyldes som regel en fejlplaceret bindestreg eller indrykning.

### Hvad er advarsler?

Advarsler er problemer, der ikke stopper parsningen, for eksempel et tag, som parseren ikke kender, og derfor læser som en almindelig værdi. Hver advarsel vises med linje og kolonne, op til 20 advarsler. Et dokument med advarsler tæller stadig som gyldigt.

### Hvorfor afvises tabulatorer?

YAML forbyder tabulatortegn til indrykning, fordi deres bredde er tvetydig. Erstat tabulatorerne i begyndelsen af den rapporterede linje med mellemrum, og brug samme indrykning som på de omkringliggende linjer. Tabulatorer i værdier og citerede strenge er tilladt.

### Er den beskyttet mod aliasbomber?

Ja. Aliaser må højst udvides 100 gange, så et dokument, der er lavet til at mangedoble aliaser til gigabyte af data, ofte kaldet et billion laughs-angreb, rapporteres som ugyldigt i stedet for at opbruge hukommelsen. Normal brug af ankre og aliaser til delte indstillinger holder sig langt under denne grænse.

### Validerer den mod et skema som Kubernetes eller OpenAPI?

Nej, den kontrollerer kun syntaks og struktur, ikke om nøgler og værdier passer til et bestemt skema. Input kan være op til 5 MiB. Hvis du vil konvertere gyldig YAML til JSON, TOML eller et andet format, skal du bruge Data Format Converter.

Din annonce her?

[Send os en e-mail](mailto:hi@dennn.is?subject=Annoncering%20p%C3%A5%20OneClick%20Pro)

[Annonce Pluginsamlingen, der er klar til agenter, til WordPress.](https://sleekwp.com/?ref=oneclickpro)
