§09 · Reference

CRD overview

Everything Exo runs in your cluster is a Kubernetes custom resource under autonomic.sh/v1alpha1. What the kinds are, how to install the definitions, and how to author and inspect objects.

Exo Operator is a real Kubernetes operator, so its primitives are CRDs. You author Agent and Tool objects with kubectl apply (or GitOps, or the exo CLI), and the autonomic-manager reconciles them into running workloads.

Group & version

All kinds live in the API group autonomic.sh, version v1alpha1, and are namespaced. An Agent in team-a and one in team-b are independent, and RBAC scopes by namespace.

The kinds

KindShortPurpose
AgentagA coding/automation agent: runtime, goal, model, schedule
TooltlA managed connection (db, ssh, http, k8s)

Installing the CRDs

Three equivalent ways to register the definitions:

terminal· bash
exo-install crds
helm repo add exo https://exo.assets.adaptive.live/charts
helm install autonomic exo/autonomic --namespace autonomic-system --create-namespace --set crds.install=true
kubectl apply -f https://exo.assets.adaptive.live/manifests/crds.yaml

Authoring resources

Apply a manifest with kubectl, or manage objects through the exo CLI (which proxies to the manager):

terminal· bash
kubectl apply -f agent.yaml
kubectl get agents -n team-a
kubectl describe agent triage-bot -n team-a
exo agent list
exo agent get triage-bot -n team-a
exo tool list

Sample manifests for every kind live in the repo under autonomic/samples/. Start from those.

Reading status

Each kind writes a .status the reconciler updates as it works. After applying a manifest, read it back to see the resolved view and any errors. The per-kind pages that follow call out the fields that matter most when something doesn't come up.