Installation
The CLI is a single binary with no dependencies — no Node.js required.- macOS and Linux
- Windows
vertra command to your PATH. Open a new terminal and check it:
VERTRA_VERSION
(for example VERTRA_VERSION=v0.3.0) before running it. VERTRA_INSTALL_DIR changes where the
binary goes (default ~/.vertracloud/bin, or %USERPROFILE%\.vertracloud\bin on Windows).
You can also download the binary for your platform directly from the
releases page.
Connecting your account
VERTRA_API_KEY environment variable instead — it takes priority over the saved key.
First deploy
vertra upload (also vertra app upload or vertra app create) creates a new application. It reads NAME,
MEMORY, MAIN, VERSION, SUBDOMAIN, START and LANGUAGE from vertracloud.config and
asks for the name, memory and main file when they are missing; in scripts, pass --name, --memory and --main.
When it finishes, it saves the new application’s ID in vertracloud.config.
From then on, vertra deploy (an alias of vertra app commit) sends the current directory to that existing
application. It never creates one: without a linked application, it asks which one to update, or fails in
scripts unless you pass the application ID.
Creating an application is asynchronous: when vertra upload makes a new
application, the CLI waits for the build to finish and shows its result. Add --no-wait to return right after
the upload; the application keeps building in the background.
Add --json to any command for structured output ready for automation.
To give a deploy a message in the deploy history,
use vertra app commit -m "fix login". Without -m, inside a git repository, the CLI uses the subject of
the latest commit.
Link a folder to an app
A folder is linked to an application when itsvertracloud.config has an ID= line. vertra upload writes it
for you. Commands that take an application ID (deploy, logs, app releases, app env…) use the linked
application when you leave the ID out.
vertra projects lists your applications and databases together, with their status, and
vertra lang pt|en|es sets the language of the CLI messages (--lang or VERTRA_LANG override it for one run).
Releases and rollback
releases accepts --page and --limit, and shows which versions can still
be restored.
rollback is available on every plan. Before it runs, the CLI shows what will happen and asks you to
confirm. With --env, it lists only the names of the variables that would be added, changed or removed,
never their values. Without --env, your current variables stay as they are. In CI, or anywhere without a
terminal, pass --yes (-y); without it the command fails instead of rolling back unasked.
Listing and reading logs need an API key with the apps:read scope. Rolling back needs apps:write, plus
apps:envs for --env.
Custom domains
add also creates the automatic www/root companion unless you
pass --no-www; the companion doesn’t count toward your plan’s domain limit. --port goes from 1 to 65535,
--redirect-status is 301, 302, 307 or 308 (default 308), and --path-prefix is a literal path such as /api. In
update, an empty --path-prefix "" or --redirect-to "" clears the value, and --primary makes the domain the main
one in place of its companion. remove asks for confirmation and also removes the companion, unless the domain you
remove is the companion itself. See Custom domain for how domains, ports and path prefixes work.
app stop, db stop, app env remove and the destructive commands ask for confirmation; pass --yes in automation.
Declining exits with status 1 and “Operation cancelled.” (with --json, an error with code CANCELLED), never as success.
Web Analytics
app commands. Without --start and --end the window is the
last 24 hours; it can be at most 30 days and within the history of your plan. --compare adds the previous period, --compare-start <date> (RFC 3339) compares with the period of the same length that starts there instead, and the
filters are --country, --edge-location, --host, --path, --method, --status, --protocol, --device, --os,
--browser, --referer, --asn, --ip, --content-type, --cache-status and --bot. errors adds --include-4xx;
requests takes --order, --limit and --cursor, and shows how to ask for the next page.
If the plan does not include performance or requests, the command says so. When Analytics is busy it tells you how long to wait.
All of them need an API key with the apps:read scope.
Blob Storage
get accepts an object ID or the exact path. Large files are sent in parts automatically, with a progress bar.
Listing, downloading, links and usage need an API key with the blob:read scope; uploading and deleting need
blob:write. See Blob Storage.
Deploy behavior
--zero-downtime:onneeds Starter 2 or above.--auto-rollback: needs Pro or above.--health-path: starts with/, no spaces, up to 200 characters.vertra app infoshows the current values.