Saltar al contenido principal
El manifiesto es un único archivo YAML llamado vertracloud.template.yaml en la raíz de la plantilla. Los campos desconocidos se rechazan, y las mismas comprobaciones se ejecutan en la CLI, en el editor y en la API. La versión legible por máquina es el JSON Schema. Un manifiesto mínimo tiene id, version, name, description, category y services:

Límites

Si se supera cualquiera de estos límites, el validador responde too_many_services o invalid_type con la ruta del campo. Todos los códigos están listados en Validar y probar.

Identidad

El texto por idioma es un objeto con pt-br, en y es. pt-br es obligatorio; los otros dos usan ese como alternativa.

Servicios

services es un mapa de un id de servicio a su definición. El id son letras minúsculas, dígitos, _ y -, de hasta 40 caracteres, y es lo que usan los placeholders ({{services.db.host}}). Un servicio es de uno de tres tipos, que se distinguen por su clave: una app tiene source, una base de datos tiene database y una carpeta de Blob tiene blob.

Servicio de app

Un servicio code necesita language, y un servicio image no puede definir language, runtime_version, main, build ni start. Un servicio code no puede definir port ni source.image. Los servicios de app no admiten when: para activar o desactivar una app según una respuesta, usa sets.services en una opción de pregunta. Servicio code, del bot de partida:
Servicio image, de n8n:

Healthcheck

healthcheck indica cuándo un servicio cuenta como listo al final del asistente. Con path, la plataforma hace peticiones a esa ruta hasta que responde; sin él, se aplica la misma comprobación de disponibilidad que a cualquier app. Usa timeout para el primer arranque más lento que sea realista, incluidas las migraciones de la base de datos. Un servicio con web: none debería omitir path.

Servicio de base de datos

La base de datos se crea como una base de datos gestionada normal, con su propia memoria tomada del plan. Nunca se cierra, ni siquiera en una plantilla cerrada.

Carpeta de Blob

Un servicio Blob da al stack su propia carpeta en Blob Storage y una clave gestionada restringida a ella, sin memoria propia (ram_extra sobre él se rechaza con invalid_ram). Los campos están disponibles como placeholders, y el plan debe incluir Blob Storage. Deshacer el stack conserva los archivos.

Preguntas, permisos y despliegue

inputs define las preguntas del asistente y se documenta en Preguntas y placeholders. permissions define lo que el usuario puede cambiar después y se documenta en Permisos y plantillas cerradas. deploy es un bloque por servicio tratado en Ajustes de despliegue.

Secretos

secrets declara hasta 16 nombres. Cada uno se genera una sola vez cuando se usa la plantilla (32 caracteres aleatorios) y es el mismo en todos los servicios que lo leen con {{secrets.<name>}}. Úsalo para una clave que dos servicios deben compartir, como la clave de cifrado de un editor y sus workers.
Para un secreto que solo necesita una variable, {{secret:<n>}} en env es más corto. Nunca escribas un secreto real como valor literal: consulta Buenas prácticas.

Salidas

outputs es la lista que el asistente muestra cuando termina el despliegue. Cada elemento tiene un label y un value, ambos por idioma, con secret y once opcionales. {{app.url}} en una salida significa la app principal: la primera con web: required, luego la primera con web: optional y luego la primera app.

Relacionado

Preguntas y placeholders

inputs, when, sets y todos los placeholders {{...}}.

JSON Schema del manifiesto

Validación y autocompletado en el editor.
Última modificación el 30 de octubre de 2026