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
| Kind | Short | Purpose |
|---|---|---|
Agent | ag | A coding/automation agent: runtime, goal, model, schedule |
Tool | tl | A managed connection (db, ssh, http, k8s) |
Installing the CRDs
Three equivalent ways to register the definitions:
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):
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.