Skip to content

CLI (okctl)

okctl is the Ownkube CLI. It drives the platform from your terminal: inspect deployments, tail logs, check status, and pull connection details. It is scriptable, and every read command speaks JSON. If you run in your own AWS account (the Advanced path), it also connects and manages that account.

Terminal window
# macOS and Linux
brew install ownkube/tap/okctl

Pre-built binaries are published for darwin/amd64, darwin/arm64, linux/amd64, linux/arm64, windows/amd64, and windows/arm64 on the latest release. The Homebrew install wires up shell completions automatically.

  1. Authenticate

    Terminal window
    okctl login

    This opens your browser, authorizes the CLI against your Ownkube account, and stores an API key at ~/.config/ownkube/credentials.yaml (file mode 0600).

  2. Confirm

    Terminal window
    okctl status

    Shows the signed-in user and the API URL in use.

GroupWhat it does
okctl login / logout / statusBrowser-based auth and credential management
okctl deploy list|get|status|logs|revisions|connectionInspect deployments
okctl environments list|getInspect environments
okctl registries list|getInspect container registries
okctl organizations listList organizations you belong to
okctl completion <shell>Generate shell completion (bash, zsh, fish, powershell)

For the own-cloud (Advanced) commands, okctl aws ... and okctl clusters ..., see Own cloud (Advanced) below.

Run okctl <command> --help for flags and arguments.

Add -o json (or -o yaml) to any read command for structured output:

Terminal window
okctl deploy get <deployment-id> -o json | jq .

okctl resolves settings in this order (highest priority first):

SettingFlagEnv varConfig fileDefault
API URL--api-urlOKCTL_API_URLapiUrl in config.yamlhttps://app.ownkube.io
Output format-o, --outputoutputFormat in config.yamltable

Config files live in ~/.config/ownkube/: config.yaml for preferences and credentials.yaml (mode 0600) for your API key.

Only needed if you run in your own AWS account. On Ownkube-hosted compute there’s nothing here to set up.

okctl aws connect onboards an AWS account end to end. The CloudFormation stack you deploy grants Ownkube a scoped, least-privilege cross-account role and phones home when it is ready. Ownkube never receives your AWS keys.

Terminal window
# Opens the AWS console to a quick-create form, then waits for verification
okctl aws connect

connect polls until the account is verified. Useful flags:

FlagEffect
--deployCreate the stack with your local AWS credentials instead of the browser
--no-waitReturn once onboarding has started; do not poll
--no-browserPrint the quick-create URL without opening it
--timeoutHow long to wait for verification (default 15m)
-o jsonReturn the full payload (external ID and stack template) for scripting

Check status any time, and inspect the clusters running in your account:

Terminal window
okctl aws list
okctl aws get <account-id>
okctl clusters list
okctl clusters get <cluster-id>

The full own-cloud command set is okctl aws connect|list|get|verify|reconnect|resync|delete and okctl clusters list|get.

A skill for Claude, Cursor, Codex, Copilot, and Cline ships in the CLI repo. It teaches your agent when okctl is the right tool and exactly which command to run for common tasks.

Terminal window
# Into the current project
npx skills add ownkube/ownkube-cli
# Globally, across all projects
npx skills add ownkube/ownkube-cli -g

Then ask your agent things like “deploy my app to Ownkube” or “why is my Ownkube deployment failing?” and it will drive okctl for you.