Verificador de indentação e sintaxe YAML com linhas
Encontre os deslizes de estrutura que quebram um arquivo YAML: na amostra, port repetido na linha 4 depois da linha 3 e uma tabulação na linha 5 geram 2 apontamentos, cada um com sua linha e uma explicação clara. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- service: name: api port: 8080 port: 9090 debug: true
- Número de erros
- 2
Este verificador de indentação e sintaxe YAML encontra pequenos erros estruturais que tornam arquivos de configuração pouco confiáveis: tabulações escondidas no espaço inicial, mudanças inesperadas na profundidade da indentação e chaves repetidas no mesmo mapeamento. Cada ocorrência inclui a linha de origem, para que você possa ir diretamente à configuração incorreta. O verificador também rejeita texto que não possa ser interpretado como YAML, separando entradas malformadas de documentos válidos que apenas apresentam avisos de lint.
Leia um relatório objetivo em vez de perseguir mensagens do parser
Cole o documento YAML completo no campo de texto e execute a verificação. O resultado informa se o documento passou, apresenta o total de ocorrências e lista cada problema com número de linha iniciado em um, tipo estável e explicação. Esse formato compacto atende tanto quem revisa um arquivo de implantação quanto um script que confere configurações geradas.
O verificador concentra-se em três riscos estruturais comuns. Ele encontra tabulações no espaço inicial, pois editores podem exibi-las com larguras diferentes. Também detecta mudanças de indentação incompatíveis com a estrutura definida pelos nós superiores.
Além disso, acompanha as chaves por escopo: a mesma grafia pode existir em objetos distintos, mas uma repetição dentro do mesmo objeto é informada. Comentários e linhas vazias não alteram as referências. Uma resposta limpa traz um array de erros vazio, sem valores artificiais, facilitando seu uso como uma etapa aprovada em builds ou fluxos anteriores ao commit.
Entenda a diferença entre ocorrências de lint e entrada inválida
Uma ocorrência de lint descreve texto que ainda pode ser examinado de forma útil, embora sua estrutura seja arriscada. Uma tabulação na indentação ou uma chave duplicada, por exemplo, gera um resultado normal com a linha correspondente. Uma falha de parsing é diferente: o documento está tão incompleto ou malformado que uma análise estrutural confiável não pode continuar.
Aspas não terminadas, delimitadores de coleções de fluxo sem par, chaves de mapeamento vazias ou uma linha simples onde se exige um mapa ou uma sequência causam erro de entrada inválida. Separar esses resultados ajuda na automação. Sua integração pode mostrar todas as ocorrências recuperáveis de uma vez, enquanto uma falha de parsing interrompe o pipeline e solicita o reparo da fonte.
A verificação é determinística: ela não reescreve o documento, não escolhe valores duplicados nem adivinha o aninhamento desejado. Em configurações, alterar o sentido silenciosamente costuma ser pior que rejeitar o arquivo. Corrija primeiro a falha mais antiga, verifique novamente e trate depois os avisos restantes com linhas numeradas.
Use o verificador com segurança em editores e pipelines de entrega
Envie o texto-fonte exato, e não um objeto já processado, porque a indentação e as chaves duplicadas desaparecem quando muitos parsers convertem YAML em dados comuns. Preserve finais de linha e comentários para que as posições coincidam com o editor. Um pipeline prático pode fazer esta verificação após a aplicação de templates e antes da inclusão de segredos, falhando quando valid é false ou quando surge um erro de entrada inválida.
A resposta é estável para textos idênticos: não usa rede, aleatoriedade, relógio ou estado do ambiente. Limites de entrada e de linhas impedem trabalho ilimitado. Trata-se deliberadamente de lint estrutural básico, não de validação de esquema.
Ele não sabe se um campo do Kubernetes, uma propriedade de workflow ou uma opção do aplicativo é permitida. Quando a semântica importar, combine-o com o validador de esquema do sistema de destino.
Casos de uso
Verificar configurações de implantação
Encontre aninhamento deslocado, tabulações e opções repetidas antes que a ferramenta de implantação interprete o arquivo.
Validar YAML gerado
Examine a saída de templates no build e receba linhas acionáveis quando a geração produzir uma estrutura malformada.
Revisar alterações de configuração
Inclua uma verificação estrutural rápida na revisão de código para que erros sutis de espaços não se escondam em diffs extensos.
Perguntas frequentes
Quanto custa uma verificação?
A versão para navegador pode ser usada diretamente nesta página.
O verificador modifica meu YAML?
Não. Ele apenas relata ocorrências e nunca reescreve a indentação, remove chaves ou escolhe entre valores duplicados.
Chaves duplicadas são permitidas em objetos diferentes?
Sim. Uma chave só é apontada quando se repete no mesmo escopo de mapeamento; ela pode aparecer em objetos aninhados separados.
Por que tabulações são apontadas quando o arquivo parece alinhado?
Editores podem mostrar tabulações com larguras diferentes; assim, YAML aparentemente alinhado pode mudar de aninhamento entre ferramentas.
Este é um validador de esquema do Kubernetes ou de workflows?
Não. Ele verifica estrutura geral e sintaxe básica de YAML, não nomes de campos, tipos ou regras de política específicos de produtos.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev2/yaml-lint-basic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"service:\n name: api\n ports:\n - 8080\n - 8081"}'const res = await fetch("https://api.kit.forhosting.com/dev2/yaml-lint-basic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "service:\n name: api\n ports:\n - 8080\n - 8081"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev2/yaml-lint-basic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "service:\n name: api\n ports:\n - 8080\n - 8081"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev2/yaml-lint-basic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"service:\\n name: api\\n ports:\\n - 8080\\n - 8081"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"service:\n name: api\n ports:\n - 8080\n - 8081"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev2/yaml-lint-basic", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "service:\n name: api\n ports:\n - 8080\n - 8081"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev2.yaml_lint_basic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Use o verificador com segurança em editores e pipelines de entrega
O endpoint serve para verificações rápidas antes de YAML chegar a uma ferramenta de implantação, publicador de pacotes, tarefa de integração contínua ou inicialização do aplicativo.