Skip to main content
The manifest is one YAML file named vertracloud.template.yaml at the root of the template. Unknown fields are rejected, and the same checks run in the CLI, in the editor and in the API. The machine-readable version is the JSON Schema. A minimal manifest has id, version, name, description, category and services:

Limits

Over any of these the validator answers too_many_services or invalid_type with the path of the field. Every code is listed in Validate and test.

Identity

Text per language is an object with pt-br, en and es. pt-br is required; the other two fall back to it.

Services

services is a map from a service id to its definition. The id is lowercase letters, digits, _ and -, up to 40 characters, and it is what placeholders use ({{services.db.host}}). A service is one of three kinds, told apart by its key: an app has source, a database has database, and a Blob folder has blob.

App service

A code service needs language, and an image service cannot set language, runtime_version, main, build or start. A code service cannot set port or source.image. App services do not take a when: to turn an app on or off by answer, use sets.services in a question option. Code service, from the starter bot:
Image service, from n8n:

Healthcheck

healthcheck says when the service counts as ready at the end of the wizard. With path, the platform requests that path until it answers; without it, the same ready check as any app applies. Use timeout for the slowest realistic first boot, including database migrations. A service with web: none should omit path.

Database service

The database is created as a normal managed database with its own memory taken from the plan. It is never closed, even in a closed template.

Blob folder

A Blob service gives the stack its own folder in Blob Storage and a managed key restricted to it, with no memory of its own (ram_extra on it is refused with invalid_ram). The fields are available as placeholders, and the plan must include Blob Storage. Undoing the stack keeps the files.

Questions, permissions and deploy

inputs defines the questions of the wizard and is documented in Questions and placeholders. permissions defines what the user can change afterwards and is documented in Permissions and closed templates. deploy is a per-service block covered in Deploy settings.

Secrets

secrets declares up to 16 names. Each is generated once when the template is used (32 random characters) and is the same in every service that reads it with {{secrets.<name>}}. Use it for a key that two services must share, such as the encryption key of an editor and its workers.
For a secret that only one variable needs, {{secret:<n>}} in env is shorter. Never write a real secret as a literal value: see Best practices.

Outputs

outputs is the list the wizard shows when the deploy finishes. Each item has a label and a value, both per language, with an optional secret and once. {{app.url}} in an output means the main app: the first with web: required, then the first with web: optional, then the first app.

Questions and placeholders

inputs, when, sets and every {{...}} placeholder.

Manifest JSON Schema

Editor validation and autocomplete.
Last modified on October 30, 2026