Skip to content

Prerequisites & topology

What you're installing, where it runs, and what the cluster needs before you apply anything.

Deployment shapes

Industric deploys two ways. On managed cloud Industric runs the control plane for you and the only thing you install is the Industric Operator — so the prerequisite is just a cluster to run it. When you self-host, you stand up three things in your own Kubernetes cluster: the CRDs, the Industric Operator, and the platform (the Industric backend plus UI). The rest of this page covers what a self-hosted install needs before you run exo-install.

Three components

Your Kubernetes cluster
1CRDs
What you can author
The autonomic.sh custom resource definitions. Registering them lets you write agents and tools as Kubernetes objects.
2Operator
What runs them
The autonomic-manager Deployment, its RBAC, and a pods/exec admission webhook. It turns those objects into running pods.
Control plane
3Platform
What your team signs in to
The Industric backend with the UI in the same binary, plus its Postgres.
The operator's connection to the platform is optional and outbound only. The platform can run in the same cluster or a different one.

The CRDs define what you can author, the operator (autonomic-manager) reconciles those objects into running pods, and the platform is the dashboard your team signs in to and the control plane the operator connects out to.

You can split them across clusters
The operator and the platform don't have to share a cluster. A common topology is one central platform cluster and many operator clusters, each connecting back over a single outbound connection. See Architecture.

Cluster requirements

RequirementValueNotes
Kubernetes version1.27 or laterWith cluster-admin: you create CRDs, ClusterRoles, and namespaces.
kubectl contextA working contextThe installer drives the cluster through your existing kubeconfig, so exec plugins, OIDC, and cloud IAM all work unchanged.
Operator podRequests 100m CPU / 128MiLimits 500m CPU / 512Mi.
Platform podRequests 100m CPU / 128MiLimits 1 CPU / 512Mi.

Database

Only when you self-host
The database is part of the platform, so you only provision one when you run the platform yourself. On managed cloud the control plane and its Postgres are run for you, and an operator-only cluster (including hub-and-spoke spokes) needs no database.

When self-hosting, the platform needs PostgreSQL 16. Let the installer deploy a bundled in-cluster Postgres (fine for trials), or bring your own managed instance (production) and pass its DSN. The backend requires an explicit exo-server --migrations step before serving. See Database migrations.

Namespaces

  • autonomic-system: the operator's namespace (the webhook serving cert is signed for autonomic-manager.autonomic-system.svc). Override it with --operator-namespace.
  • Platform namespace (self-hosted only): the platform lands here, defaulting to exo, override with --namespace. On managed cloud the platform runs in Industric's cluster, so there's nothing to create. Either way, Agents, Tools, and other CRs live in whatever namespaces you choose.

Network

  • Inbound to the platform: the backend serves plain HTTP on port 9092. Terminate TLS at your ingress.
  • Outbound from the Industric Operator: in managed mode the operator opens one outbound connection to the platform. No inbound ports are opened on the operator's cluster.
  • Image pulls: the operator launches runtime pods from adaptivelive/* images. Air-gapped clusters mirror these and point the image references at the mirror. See Air-gapped.

Local tooling

Install exo-install, the cluster installer:

terminal· bash
curl -fsSL https://exo.assets.adaptive.live/exo-install/install.sh | bash

Then run its pre-flight check before anything else:

terminal· bash
exo-install precheck

It verifies (hard requirements marked ✓):

precheck· text
1kubectl on PATH ✓ required
2helm on PATH ✓ required for rendering and installation
3docker, git on PATH advisory
4current kube-context set ✓ required
5cluster reachable ✓ required
6server version informational
7RBAC: can create CRDs / ClusterRoles / ns / deploys advisory