Every command here accepts -o json or -o yaml for structured output and --help for its full flag list. Ids come from the matching list command, or from the id in a deployment’s dashboard URL. Install and sign-in steps are on the CLI page .
Command What it does okctl loginSign in through the browser and pick an organization okctl logoutForget the stored session okctl statusShow who you are signed in as okctl link / okctl unlinkBind or unbind the current directory to a deployment. Flags: --organization, --cluster, --environment, --service okctl config view|get|setRead or change apiUrl and outputFormat okctl organizations listOrganizations you belong to okctl regions listRegions you can deploy to, with their ids okctl boxes list [--kind web|database|cache]Box sizes and prices, with the ids a manifest takes okctl completion <shell>Shell completion script okctl versionPrint the version
okctl up builds and deploys the current directory, creating the app on first run. See Deploy with okctl up for the defaults. Flags: --service, --path, --note, --no-follow, and for a new app --name, --region, --port, --type, --public, --project, --environment.
The deploy group manages deployments of every kind: web apps, workers, jobs, databases and caches.
Command What it does okctl deploy create -f app.json --project <id>Create from a manifest (JSON or YAML, -f - reads stdin). The manifest is the full create body with a top-level resourceType. For a web app, --name, --image, --tag, --port, --public, --registry work instead of a file okctl deploy list [--environment <id>] [--cluster <id>]Deployments in the organization okctl deploy get <id>Full configuration and status okctl deploy status <id>Health, replicas and the current revision okctl deploy update <id> -f app.json [--note]Apply a changed manifest as a new revision okctl deploy rename <id> <display-name>Change the display name okctl deploy delete <id>Delete the deployment and its history
Manifest shapes are on Configuration , with worked examples on the Postgres and Valkey pages.
Command What it does okctl deploy revisions <id>Revision history okctl deploy rollback <id> <revision-id>Roll back to an earlier revision. See Rollbacks okctl deploy restart <id>Restart every replica okctl deploy rebuild <id>Rebuild the current source and roll it out okctl deploy resync <id>Re-apply the current settings to recover a stalled rollout okctl deploy auto-deploy <id> --enabled=falsePause or resume deploys on push okctl deploy maintenance <id> --enabled [--message]Show or hide the maintenance page okctl deploy promote <id> --to <deployment-id>Copy this deployment’s configuration onto another, typically staging to production. See Environments okctl deploy copy <id> --to-environment <id> [--to-cluster <id>]Clone the deployment into another environment okctl deploy move <id> --project <id>Re-file the deployment under a different project
Command What it does okctl deploy build-logs <id> <revision-id>Build output for a revision okctl deploy build-args <id> --arg KEY=VALUESet Docker build arguments (pass none to clear) okctl deploy build-context <id> <context-path>Change the build context directory okctl deploy builder-size <id> small|standard|largePick the builder. Large needs Team. See Builds
Command What it does okctl deploy logs <id> [--range <seconds>] [--limit <n>] [--filter <text>] [--tail <n>]Recent log lines. See Logs okctl deploy telemetry <id> [--range-seconds] [--step]CPU, memory, replicas and restarts over a window okctl deploy observability <id>The Overview numbers: status, replicas, request rate
Command What it does okctl deploy subdomain check <id> <subdomain>Is this *.ownkube.app label free? okctl deploy subdomain suggest <id> [--desired <label>] [--limit <n>]Suggest free labels okctl deploy subdomain set <id> <subdomain>Change the public hostname. See Public hostnames
Command What it does okctl deploy trigger <id>Run a job now okctl deploy job-runs list <id>Recent runs with their status okctl deploy cancel <id> <job-name>Stop a running job
See Jobs .
Command What it does okctl deploy link <app-id> <datastore-id> [--env-var NAME]Inject a database or cache connection into an app, as DATABASE_URL or REDIS_URL by default okctl deploy connection-info <db-id>Postgres host, port, user, password and connection string okctl deploy cache-connection <cache-id>Valkey host, port and password okctl deploy reset-password <db-id>Rotate the database password okctl deploy restore <db-id> [--target-time <RFC3339>]Point-in-time recovery to the latest point or a timestamp
See Postgres and Valkey .
Command What it does okctl ssh [<id>] [-- command...]Open a shell on a running app, or run one command in it okctl ssh config [<id>...]Add your apps to ~/.ssh/config so ssh, scp and sftp work okctl ssh keys list|add [key-file]|remove <key-id>|github [username]Manage the SSH public keys on your account okctl connect [<id>] [--tunnel-only] [--port <n>] [--ssh]Open psql or valkey-cli against a datastore, or hold a local tunnel open. --ssh forces a private tunnel even when public access is on
See Shell and SSH .
Command What it does okctl environments listEnvironments in the organization okctl environments create --name <name> [--description] [--color]Create one okctl environments get|update|delete <id>Inspect, rename or remove okctl environments set-env <id> --env KEY=VALUE --secret KEY=VALUEReplace the environment’s shared variables; -f vars.json takes an array of {name, value, secret}
See Variables .
Command What it does okctl projects listProjects in the organization okctl projects create --name <name> --slug <slug> [--description] [--color]Create one okctl projects get|update|delete <id>Inspect, change or remove
See Projects .
Command What it does okctl alerts list <deployment-id>Rules on a deployment okctl alerts create <deployment-id> --name --metric cpu|memory|restarts --threshold --comparator gt|lt --severity warning|critical [--for <seconds>] [--window <seconds>]Add a rule okctl alerts update <rule-id> [...same flags] [--enabled]Change or pause a rule okctl alerts delete <rule-id>Remove it okctl alerts firings [--deployment <id>] [--limit <n>]Recent firings
See Alerts .
Command What it does okctl marketplace listThe catalog okctl marketplace get <slug>What an app installs and the inputs it takes okctl marketplace check <slug>Dry run: what would be created and what it costs okctl marketplace deploy <slug> [--region <id>] [--project <id>] [--environment <id>] [--name <prefix>] [--input KEY=VALUE] [--db-box <id>] [--cache-box <id>]Install the app with its database and cache; --cluster targets your own cluster instead of a region okctl marketplace delete <install-id>Remove an install as one unit
See Marketplace .
okctl registries list and okctl registries get <id> show the container registries connected to the organization. Connect one from the dashboard; see Use an existing image .
Command What it does okctl billing walletPrepaid wallet balance okctl billing creditPromo and plan credit status okctl billing top-up <amount-usd>Open a top-up checkout okctl billing subscribe personal|teamStart a plan okctl billing portalPayment methods and invoices okctl billing redeem <code>Apply a promo code okctl billing spend-controls get|set [--budget] [--budget-action notify|pause] [--alerts] [--alert-thresholds 50,80,100]Spend limits okctl usage current|month-to-date|projected|historyLive burn, month to date, projection and daily history
Add --no-browser to a checkout command to print the URL instead. See Usage and Cost control .
These groups apply only when you run in your own AWS account.
Command What it does okctl aws connect [--deploy] [--no-wait] [--timeout]Connect an AWS account; --deploy creates the stack with the AWS CLI credentials in your shell. See Connect AWS okctl aws list|get|verify|resync|reconnect|delete <account-id>Manage connected accounts okctl clusters create --name --account <id> --region --type starter|production --kubernetes-version [--vcpu] [--memory] [--autoscaling] [--node-type]Create a cluster. See Create a cluster okctl clusters list|get|status|cancel|delete <id>Inspect, follow, cancel or destroy okctl domains list <deployment-id>Linked custom domains and the parent domains available on the cluster okctl domains add <deployment-id> <hostname>Link a hostname and print the DNS record to set okctl domains verify <domain-id>Re-check DNS and the certificate okctl domains delete <domain-id>Unlink it. See Custom domains
CLI Install, sign in, link and okctl up. MCP server The same API as tools for a coding agent.