Skip to content

CLI (okctl)

okctl is the Ownkube CLI. It drives the platform from your terminal: connect an AWS account, inspect clusters and deployments, tail logs, and pull in-cluster connection details. It is scriptable, agent-friendly, and every read command speaks JSON.

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.

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:

Terminal window
okctl aws list
okctl aws get <account-id>
GroupWhat it does
okctl login / logout / statusBrowser-based auth and credential management
okctl aws connect|list|get|verify|reconnect|resync|deleteConnect an AWS account and manage its access
okctl clusters list|getInspect clusters
okctl environments list|getInspect environments
okctl deploy list|get|status|logs|revisions|connectionInspect deployments
okctl registries list|getInspect container registries
okctl organizations listList organizations you belong to
okctl completion <shell>Generate shell completion (bash, zsh, fish, powershell)

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.

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.