/templates/schema/v1.json. Aponte o seu editor para ele e o vertracloud.template.yaml é validado e autocompletado enquanto você digita, sem nenhuma ferramenta para instalar além de uma extensão de YAML. O schema é gerado a partir da mesma definição que a API usa para validar manifestos, então não se descola da plataforma.
Use no seu editor
Adicione este comentário como a primeira linha do manifesto:- autocompletar para todo campo e enum (
category,language,web,database, …); - sublinhado de erro para campos desconhecidos, tipos errados, valores fora do intervalo e padrões que não correspondem (por exemplo, um
idcom letras maiúsculas).
Use no CI
Qualquer validador de JSON Schema pode verificar um manifesto depois que você converte o YAML em JSON. Por exemplo, com oajv-cli:
vertra template validate.
O que o schema verifica
O schema verifica a forma do manifesto: quais campos existem, seus tipos e enums, padrões de string, intervalos numéricos e comprimentos, tamanhos de array e quais campos cada tipo de serviço exige.O que só a API verifica
Algumas regras não podem ser escritas em JSON Schema porque olham vários campos ao mesmo tempo ou o estado da plataforma. A CLI, o editor, a API e o CI do repositório público as executam com o mesmo código:- placeholders que apontam para serviços, perguntas ou secrets que existem;
whenque se refere a uma pergunta anterior, com umequalsdo tipo certo;- uma pergunta
selectcom opções, e umdefaultque seja uma delas; recommendednão abaixo demin, emaxnão abaixo derecommended;- campos de imagem em serviços code e campos de code em serviços image;
min_planque seja o id de um plano real, e umaversionde banco de dados que esteja disponível;- expressões regulares inseguras em
validation.regex; - nomes de variável controlados pela plataforma, e valores literais que parecem secrets;
- combinações de permissões, e campos reservados a templates privados ou a templates públicos.
Versionamento
O nome do arquivo carrega a versão:v1.json descreve o formato v1 do manifesto. Uma mudança de formato incompatível seria publicada sob um novo nome de arquivo em vez de substituir o v1.json. Aponte o seu editor para a versão com a qual você escreveu o manifesto.
Relacionados
Referência do manifesto
Todos os campos em texto corrido, com exemplos.
Validar e testar
A CLI, a API e os códigos de validação.