Skip to content

edgible application

Most users deploy applications via edgible stack deploy and a YAML file. The application commands offer imperative alternatives — useful for one-off operations and for managing per-app credentials. Alias: app.

Terminal window
edgible application list
edgible application list --json

Create one application imperatively. Each subcommand corresponds to a workload type.

These work across all create subcommands:

FlagDescription
-n, --name <name>Application name.
-d, --description <text>Free-form description.
--device-id <id>Device to place on.
--gateway-ids <ids>Comma-separated gateway IDs (for self-hosted gateways).
--hostnames <list>Comma-separated hostnames. Omit for a generated hostname.
--auth-modes <list>Comma-separated modes: none, org, api-key, short-code.
--allowed-orgs <list>Comma-separated org IDs for org mode.
--non-interactiveFail rather than prompt for missing values.

Point at a port already in use on the device.

Terminal window
edgible application create existing \
--name legacy-svc \
--port 8080 \
--protocol https \
--hostnames legacy.example.com \
--auth-modes api-key
FlagDescription
-p, --port <n>Local port the existing service listens on. Default 3000.
--protocol <p>https (default), http, tcp, or udp.
--https-upgradeForce HTTPS even if the workload speaks HTTP.
Terminal window
edgible application create docker-compose \
--name my-app \
--compose-file ./docker-compose.yml \
--hostnames app.example.com
FlagDescription
--compose-file <path>Path to your Compose file.
Terminal window
edgible application create managed-process \
--name worker \
--command "./bin/worker --mode prod" \
--port 9090 \
--working-dir /opt/app \
--log-file /var/log/worker.log
FlagDescription
-c, --command <cmd>The command to run.
-p, --port <n>Port the process listens on.
--working-dir <path>Process CWD.
--env <pairs>Comma-separated KEY=VALUE pairs.
--log-file <path>Where stdout/stderr go.
--protocol <p>Same set as existing.
Terminal window
edgible application create vm \
--name legacy \
--backend qemu \
--disk-image /var/lib/edgible/vms/legacy.qcow2 \
--memory 2048 \
--cpus 2
FlagDescription
--backend <vm>qemu today.
--disk-image <path>Path to a qcow2 image on the device.
--memory <mib>Memory in MiB.
--cpus <n>Virtual CPUs.
--ssh-port <n>Port to expose for SSH.
--ssh-public-key <path>Public key authorized for SSH.
--arch <arch>x86_64 or aarch64.

Fetch the current state of one application. Aliases: status, info.

Terminal window
edgible application get --app-id <id>
edgible application get --app-id <id> --json

Show lifecycle events (deploy, fail, recover, restart) for an application.

Terminal window
edgible application events --app-id <id> --limit 100

Change name, auth modes, allowed orgs, or target state — the parts of an application that don’t require a redeploy.

Terminal window
edgible application update --app-id <id> --auth-modes api-key
edgible application update --app-id <id> --target-state suspended
FlagDescription
--auth-modes <list>New auth modes.
--allowed-orgs <list>New allowed orgs.
--target-state <state>running or suspended.

Remove an application. Alias: rm.

Terminal window
edgible application delete --app-id <id> --force

Manage bearer tokens for api-key auth mode. Alias: keys.

Terminal window
edgible application api-keys list --app-id <id>
edgible application api-keys create \
--app-id <id> \
--name "ci-deploy" \
--expires 2026-12-31
edgible application api-keys delete --app-id <id> --key-id <key>

Manage rotating, time-bounded codes for short-code auth mode. Alias: codes.

Terminal window
edgible application short-codes create \
--app-id <id> \
--name "demo" \
--expires 2026-04-30T18:00:00Z \
--max-uses 50
edgible application short-codes toggle --app-id <id> --code-id <c>

Open an SSH session to a vm workload.

Terminal window
edgible application ssh --id <app-id> --user ubuntu
FlagDescription
-i, --id <id>Application ID (required).
-u, --user <name>SSH user.
-k, --key <path>Path to private key.
--command <cmd>Run a single command non-interactively.