Skip to content
Weik.ioDocs
2026.2
Try Weik.io

Deployments

Weik.io 2026.2

Deploy, promote, roll back, stop, start and remove integrations in an environment.

On this page

A deployment is one version of one integration in one environment. It runs on every agent that serves the environment, may run the project and has the capabilities the integration requires, so two matching agents run two copies. The agents hear about a change at once and act on it within seconds.

deploy and promote check before they write that an online agent matches, that every secret the version reads has a value in the environment and that the agents run a new enough release. When a check fails, the command prints the command that fixes it.

Commands on this page#

Command What it does
weikio deploy Deploy a version of one or more integrations to an environment.
weikio get deployments List the deployments of an environment.
weikio get fleet List the deployments you may read with what each of its agents runs.
weikio describe deployment Read one deployment with its overrides and the agents running it.
weikio promote Promote a deployment’s version from one environment to another.
weikio rollback Roll a deployment back to its previous version.
weikio stop Stop a deployment without removing it.
weikio start Start a stopped deployment.
weikio restart Restart a deployment with freshly resolved configuration.
weikio undeploy Remove deployments from an environment.

The flags every command accepts, such as --env, --project, -o and --context, are on the CLI reference page and are left out of the tables below.

weikio deploy#

Deploy a version of one or more integrations to an environment. Without --version, or with --version latest, the deployment runs the newest published version and follows every new publish, which a production environment refuses unless its protection allows it. --set adds an override for this deployment only, which beats every other value of the same name.

Terminal
weikio deploy [<p>/<n> ...] [-f <path> ...] [--env E] [--version X|latest] [--stopped|--no-start] [--set k=v ...] [--unset k ...] [--force] [--no-wait] [--dry-run] [-y]
Argument or flag What it does
<integrations> The integrations, each as project/name.
-f, --file <file> A file, a directory or - for standard input, repeated as needed.
--version <version> The version to run, or latest.
--no-start, --stopped Create the deployment without starting it.
--set <set> An override as k=v, added to the deployment’s other overrides (repeatable).
--unset <unset> The name of an override to remove (repeatable).
--force Deploy even if no online agent matches yet, or a matching agent runs an older release than the version needs.
--no-wait Return once the deployment is written, without waiting for it to run (always so without a terminal).
--dry-run Print what would happen and change nothing.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant whose role has deploy in the environment.

API: GET /api/v1/environments/{environment}/projects/{project}/deployments/{name}, GET /api/v1/version, PATCH /api/v1/environments/{environment}/projects/{project}/deployments/{name}[?force=true].

Terminal
$ weikio deploy finance/erp-invoice-export
You see
Target: https://hub.example, project finance (argument), environment devtest (context)
Deploying finance/erp-invoice-export 1.1.0 (latest) to devtest...
deployment devtest/finance/erp-invoice-export updated (version 1.0.0 -> 1.1.0)
Agents: 1 of 1 running after 3.4 s
Terminal
$ weikio deploy finance/erp-invoice-export     # with production as the context's environment
You see
error: --env is required to write to production environment 'production'.
       To go ahead, run:
         weikio deploy finance/erp-invoice-export --env production

weikio get deployments#

List the deployments of an environment.

Terminal
weikio get deployments [--env E] [--project P] [--state S]
Argument or flag What it does
--state <state> Show only deployments in this state.

Who can run it: a grant whose role has read in the environment.

API: GET /api/v1/environments/{environment}/deployments, GET /api/v1/environments/{environment}/projects/{project}/deployments, GET /api/v1/deployments?environment=&project=.

Terminal
$ weikio get deployments --env production
You see
PROJECT   INTEGRATION          VERSION   DESIRED   ACTUAL    AGENTS                   SINCE
finance   erp-invoice-export   1.0.0     started   failed    2/3 running, 1 failed    2026-09-16 14:40 UTC
finance   invoice-archive      1.4.2     started   running   3/3 running              2026-09-15 09:12 UTC
finance   ledger-sync          0.8.0     started   pending   0/1 running, 1 offline   2026-09-12 11:30 UTC
finance   nightly-payroll      2.3.1     stopped   stopped   0/2 running, 2 stopped   2026-09-10 02:05 UTC

weikio get fleet#

List the deployments you may read with what each of its agents runs. HEALTH is running, stopped, pending, failed, crashed, blocked, no-leader, degraded or version-behind, and --state lists only one of them.

Terminal
weikio get fleet [--env E] [--project P] [--state S]
Argument or flag What it does
--state <state> Show only deployments of this health: running, degraded, stopped, pending, failed, crashed, blocked, no-leader or version-behind.

Who can run it: a grant whose role has read in the environment.

API: GET /api/v1/deployments?environment=&project=&health=.

weikio describe deployment#

Read one deployment with its overrides and the agents running it. The AGENTS table shows each copy with its process, restarts, last exit and how long it may take to stop.

Terminal
weikio describe deployment <p>/<n> [--env E]
Argument or flag What it does
<integration> Integration as project/name.

Who can run it: a grant whose role has read in the environment.

API: GET /api/v1/environments/{environment}/projects/{project}/deployments/{name}, GET /api/v1/projects/{project}/integrations/{name}/status, GET /api/v1/users/_emails?ids=, GET /api/v1/agents/{id}.

weikio promote#

Promote a deployment’s version from one environment to another. Promote copies the version that runs in one environment to the next and rebuilds nothing. When the source follows latest, the target gets the exact version latest points at. The target keeps its own overrides and Java options, and into production the command asks first.

Terminal
weikio promote <p>/<n> --from A [--to B] [--stopped] [--dry-run] [-y]
Argument or flag What it does
<integration> Integration as project/name.
--from <from> The environment to copy from.
--to <to> The environment to copy into.
--no-start, --stopped Create the deployment without starting it.
--dry-run Print what would happen and change nothing.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant with read in the source environment and deploy in the target environment.

API: GET /api/v1/environments/{A}/projects/{project}/deployments/{name}, GET /api/v1/version, PATCH /api/v1/environments/{B}/projects/{project}/deployments/{name}?dryRun=true, PATCH /api/v1/environments/{B}/projects/{project}/deployments/{name}.

Terminal
$ weikio promote finance/erp-invoice-export --from devtest --to production
You see
Target: https://hub.example, project finance (argument), environment production (--to)
error: Can't deploy finance/erp-invoice-export 1.1.0 to production: secret 'erp-api-key' has no value.
       To set 'erp-api-key', run:
         weikio secret set finance/erp-api-key --env production
       To set it for this integration only, run:
         weikio secret set finance/erp-api-key --integration erp-invoice-export --env production
Terminal
$ printf '%s' "$ERP_PROD_KEY" | weikio secret set finance/erp-api-key --env production
You see
Target: https://hub.example, project finance (argument), environment production (--env)
secret finance/erp-api-key set for production (revision 4183)
Terminal
$ weikio promote finance/erp-invoice-export --from devtest --to production
You see
Target: https://hub.example, project finance (argument), environment production (--to)
This will promote 'finance/erp-invoice-export' 1.1.0 to production environment 'production'.
Continue? [y/N] y
Promoting finance/erp-invoice-export 1.1.0 (latest) to production...
deployment production/finance/erp-invoice-export updated (version 1.0.0 -> 1.1.0, previous 1.0.0)
Agents: 1 of 1 running after 4.0 s

weikio rollback#

Roll a deployment back to its previous version. The deployment goes back to its previous version. The version it replaced becomes the new previous one, so a second rollback returns to where you started.

Terminal
weikio rollback <p>/<n> [--env E] [--dry-run]
Argument or flag What it does
<integration> Integration as project/name.
--dry-run Print what would happen and change nothing.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant whose role has deploy in the environment.

API: GET /api/v1/environments/{environment}/projects/{project}/deployments/{name}, PATCH /api/v1/environments/{environment}/projects/{project}/deployments/{name}.

Terminal
$ weikio rollback finance/erp-invoice-export --env production
You see
Target: https://hub.example, project finance (argument), environment production (--env)
This will roll 'finance/erp-invoice-export' back to 1.0.0 in production environment 'production'.
Continue? [y/N] y
deployment production/finance/erp-invoice-export updated (version 1.1.0 -> 1.0.0, previous 1.1.0)
Agents: 1 of 1 running after 3.7 s

weikio stop#

Stop a deployment without removing it. The deployment stays, and weikio start starts the same version again.

Terminal
weikio stop <p>/<n> [--env E]
Argument or flag What it does
<integration> Integration as project/name.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant whose role has operate in the environment.

weikio start#

Start a stopped deployment.

Terminal
weikio start <p>/<n> [--env E]
Argument or flag What it does
<integration> Integration as project/name.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant whose role has operate in the environment.

weikio restart#

Restart a deployment with freshly resolved configuration. The agents stop and start the integration, and it reads its configuration again at the start. The command refuses while a secret the version reads has no value in the environment.

Terminal
weikio restart <p>/<n> [--env E]
Argument or flag What it does
<integration> Integration as project/name.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant whose role has operate in the environment.

weikio undeploy#

Remove deployments from an environment. Removing a deployment leaves its versions published. A running deployment is stopped first, and its last log lines and figures are kept.

Terminal
weikio undeploy [<p>/<n> ...] [-f <path> ...] [--all [--project P]] [--env E] [-y]
Argument or flag What it does
<integrations> The integrations, each as project/name.
-f, --file <file> A file, a directory or - for standard input, repeated as needed.
--all Remove every deployment in the environment that you have deploy access to.
-y, --yes Don’t ask for confirmation.
--reason <reason> Reason for the change, stored with the audit record.

Who can run it: a grant whose role has deploy in the environment.

API: DELETE /api/v1/environments/{environment}/projects/{project}/deployments/{name}.

Also written as weikio remove.

Terminal
$ weikio undeploy --env devtest --all --project sandbox
You see
Target: https://hub.example, project sandbox (--project), environment devtest (--env)
3 deployments will be removed from environment 'devtest': sandbox/hello, sandbox/csv-import, sandbox/erp-ping.
Continue? [y/N] y
deployment devtest/sandbox/hello deleted
deployment devtest/sandbox/csv-import deleted
deployment devtest/sandbox/erp-ping deleted

Exit codes#

The commands on this page exit with the codes in the exit code table: 0 on success, 1 when the hub refuses a change, 2 for a usage error, 3 when the key is missing or not allowed, 4 when something isn’t found, 5 for a conflicting change, 6 when the hub can’t be reached and 8 when a document isn’t valid.

See also#