Install with exo-install
The recommended path. One self-contained binary applies the CRDs, the operator, and the platform — driven through your own kubectl, with sensible defaults and generated secrets.
exo-install is the installer for the whole platform. It ships the manifests embedded in the binary and applies them through your existing kubectl, so your kubeconfig auth — exec plugins, OIDC, cloud IAM — works unchanged. It installs three things: the five agentkube.io CRDs, the agentkube-manager operator (Deployment, RBAC, admission webhook), and the platform (backend/UI Deployment, Service, Secret, ConfigMap, and an optional in-cluster Postgres).
What exo-install does
The embedded manifests are pinned copies derived from the operator config (agentkube/config/*) and the repo-root deploy.yaml. Defaults point at the published images — docker.io/adaptivelive/agentkube-manager for the operator and docker.io/adaptivelive/exo:latest for the platform. Secrets you don't supply are generated: the JWT secret, the encryption key, and (with the bundled Postgres) the database password.
Interactive mode
Run it with no arguments for a guided, full-terminal installer — arrow-key menus, inline validation, masked secret entry. It walks configuration → component selection → pre-flight → plan → apply.
1exo-installScripted install
For CI or a repeatable runbook, drive it by subcommand and flags:
1# 1. Verify toolchain + cluster (binaries, reachability, RBAC)2exo-install precheck3 4# 2. Install everything: CRDs → operator → platform, with defaults5exo-install install6 7# Validate against a live API server without persisting anything8exo-install install --dry-runInstalling individual pieces
Each component has its own subcommand, useful for split-cluster topologies:
1# Just the CRDs2exo-install crds3 4# Just the operator, in managed mode pointed at your platform5exo-install operator --managed --base-url https://exo.example.com6 7# Just the platform, pinned to a specific image + namespace8exo-install platform --namespace exo --image adaptivelive/exo:v0.2.1469 10# See exactly what would be applied (no cluster needed)11exo-install render crds | kubectl apply -f -Bring your own database
Skip the bundled Postgres and point the platform at a managed instance:
1exo-install install --postgres=false \2 --db-dsn "host=db.example.com user=exo dbname=exo sslmode=require"Config files
Capture every knob in a JSON file and reuse it; flags still override the file.
1exo-install config -o exo-install.json # interactive wizard writes the file2exo-install install --config exo-install.json --namespace stagingUninstall
1exo-install uninstall