vertra template validate, que o envia à API e não cria nada, e depois teste de verdade criando-o como template privado na sua própria conta. A validação pega erros do arquivo; só um deploy real prova que o software inicia no sandbox.
Validar pela CLI
vertracloud.template.yaml da pasta (ou o arquivo que você passar) e o verifica com a API. Cada problema é impresso com seu arquivo, linha, caminho no manifesto e código, e o comando termina com status de falha quando há pelo menos um. Com --json, ele imprime:
vertra auth login) ou ter VERTRA_API_KEY definida. Veja a CLI para a instalação.
Validar pela API
POST /v1/templates/validate recebe um manifesto em JSON e não cria nada. Ele sempre responde 200, com valid e a lista de problemas, e exige o escopo templates:read.
issues vazio, o required_plan calculado, a soma da memória mínima em ram_min_total e um resumo de cada serviço. O corpo pode ter até 1 MiB. Veja a referência do endpoint.
Validar no seu editor
Adicione esta linha na primeira linha do manifesto e um editor com suporte a YAML valida e autocompleta enquanto você digita:Teste como template privado
A validação não executa o seu software. Antes de publicar ou abrir um pull request:- Crie o template como privado na sua própria conta:
vertra template create .(ou Salvar como template no dashboard). - Use-o:
vertra template deploy my-template --name test-1 --set discord_token=..., ou use o assistente do dashboard. Responda às perguntas exatamente como um novo usuário faria e experimente cada opção que liga ou desliga um serviço. - Confira o healthcheck, os logs, os outputs, e se um restart mantém os dados em
/appe nos bancos de dados. - Experimente uma atualização: aumente
version, publique e atualize o app, depois faça rollback. - Exclua o app ou a stack de teste. Se o deploy falhar, tudo o que o job criou é removido automaticamente.
Um template que funciona no seu computador ainda pode falhar no sandbox, porque a raiz é somente leitura, o processo roda como uid 1000 e apenas
/app é gravável. Veja Boas práticas.Códigos de validação
Cada problema tem umpath (por exemplo, services.app.ram.recommended) e um destes códigos. A mesma lista aparece em details.issues de TEMPLATE_MANIFEST_INVALID quando você cria um template.
Erros também podem voltar quando você cria ou publica o template: veja Templates privados e a referência de erros de template.