vertracloud.template.yaml, que diz à plataforma o que perguntar, quanta memória reservar e como iniciar o app. Neste tutorial você cria um template de bot de Discord que faz uma pergunta (o token do bot, um segredo), roda com a RAM mínima e cria um bot funcionando em poucos cliques. Leva cerca de 20 minutos e termina com o bot respondendo ao /ping.
Um template de código não usa vaga de imagem, porque a plataforma faz o build do seu código do mesmo jeito que faz o de qualquer aplicação. Se você não tem certeza de que precisa de um template de código ou de imagem, leia antes a visão geral para autores.
Antes de começar
A CLI da Vertra instalada e autenticada com uma chave de API (
vertra auth login) que tenha os escopos templates:read, templates:write e templates:deploy.Um plano que possa criar templates privados (os mesmos planos que podem criar imagens Docker, veja Planos e limites). Cada conta pode manter até 5 templates privados.
Node.js 22 ou mais recente no seu computador, só para gerar o arquivo de lock.
Passo a passo
1
Crie a pasta e o código do bot
Uma pasta de template guarda o manifesto na raiz e o código de cada serviço de código em uma subpasta. Crie esta estrutura:O O Gere o arquivo de lock sem instalar nada, para que nenhuma pasta
src/package.json fixa a versão da biblioteca para que toda cópia do template instale o mesmo código:src/package.json
src/index.js lê o token do ambiente, registra o comando /ping e encerra com uma mensagem clara quando o login falha, assim um token errado aparece no log em vez de um loop de crash silencioso:src/index.js
node_modules vá parar no pacote:2
Pegue um token de bot para testar
No Discord Developer Portal, crie uma aplicação, abra Bot e use Reset Token. Copie o token em um lugar seguro: você vai digitá-lo ao usar o template, nunca em um arquivo. Depois convide o bot para um servidor de teste (OAuth2, escopos
bot e applications.commands).3
Escreva o manifesto
O manifesto responde a quatro perguntas: o que é este template, o que o usuário preenche, o que roda e o que o usuário pode alterar depois. Crie o O que cada parte faz:
vertracloud.template.yaml:vertracloud.template.yaml
4
Valide o manifesto
Na pasta do template, execute:O comando confere o manifesto com as regras da plataforma sem criar nada. Ele imprime cada achado com arquivo, linha, caminho no manifesto e código, e sai com status de falha quando há pelo menos um. Adicione
--json para obter { valid, file, issues: [{ path, code, message, line }] } em scripts. Corrija todos os achados e execute de novo até passar; os mais comuns estão em Validar e testar e na referência de erros.5
Crie o template privado
src (arquivos .env*, .git e links simbólicos nunca são enviados) e cria um template privado que só você, ou o seu workspace, pode ver. Ele aparece em Templates, aba My templates, com um contador como “1 of 5 private templates”. A plataforma também procura segredos no código antes de aceitá-lo e, se encontrar algum, lista os arquivos.6
Use o seu próprio template
Abra Templates, My templates, escolha o template e selecione Use. O assistente pede o token do bot, deixa você definir o nome do app e, se quiser, uma RAM maior. Ou pelo terminal:O deploy roda como um job: cria o app, injeta a variável, inicia o app e espera o healthcheck. Se qualquer etapa falhar, tudo o que foi criado é desfeito. No fim, o assistente mostra as saídas.
7
Confira o bot
Abra o log do app. Um início saudável imprime
Logged in as <bot name>. Slash command /ping registered. No seu servidor de teste, digite /ping: o bot responde com a latência. Se o log mostrar Login failed, o token está errado ou foi redefinido.8
Publique uma nova versão
Altere o código ou o manifesto, aumente Uma versão é imutável e precisa ser maior que a anterior. Os apps criados a partir do template veem “New version available” e se atualizam quando o dono clica, sempre com um snapshot de segurança antes.
version (por exemplo, para 1.0.1) e execute:Solução de problemas
Próximos passos
- Referência do manifesto: todos os campos, com exemplo.
- Placeholders e perguntas: tipos de pergunta,
whenesets. - Requisitos e plano: como RAM e web viram o plano exigido.
- Permissões: o que quem usa o template pode alterar.
- Templates privados: versões, workspaces e as outras formas de criar um.
- Validar e testar: uma checklist antes de compartilhar.
- Próximo tutorial: empacote um app com Dockerfile como template de imagem.