CRD overview
Everything Industric 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.
Industric 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 |
|---|---|---|
AgentFS | afs | Persistent filesystem for agents |
Agent | ag | Agent runtime, goal, model, and schedule |
App | — | Application with a development server |
CommandPolicy | cpol | Agent command, filesystem, and network policy |
Devbox | dbox | Coding workspace and persistent runner |
GatewayPolicy | gpol | Model input and output policy |
LLMGateway | llmgw | Provider proxy and model traffic controls |
MCPPolicy | mpol | MCP access, tool, and argument policy |
McpProxy | — | Composite MCP endpoint |
MCP | — | Remote MCP server registration |
RuntimePolicy | rpol | Policy bundle of typed members and coverage; also accepts legacy documents |
Sandbox | sb | Sandbox runtime configuration |
ToolPolicy | tpol | Tool command and SQL policy |
Tool | tl | Managed database, cloud, host, or API connection |
WebAgent | wa | Managed browser workspace |
Installing the CRDs
The installer and chart bundle reviewed on 11 November 2026 contain 13 definitions, omitting App and WebAgent. The matching operator source has all 15. Install from that release's autonomic/config/crd/ directory when you need the complete set:
kubectl apply -f autonomic/config/crd/
exo-install crds
manifests/crds.yaml yourself. See Upgrades.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.