Skip to content

Uninstall

Uninstalling is the inverse of Install: the same install.yaml (or the deploy/ kustomization) that stood the subsystem up also tears it down, so one kubectl delete removes the controller, its RBAC and NetworkPolicy, the Custom Resource Definitions, and the namespace.

Terminal window
kubectl delete -f https://github.com/re-cinq/ai-agent-subsystem/releases/latest/download/install.yaml

To remove a specific version you installed by digest, delete with that release’s manifest:

Terminal window
kubectl delete -f https://github.com/re-cinq/ai-agent-subsystem/releases/download/v0.10.3/install.yaml

If you installed with kubectl apply -k deploy, delete the same kustomization:

Terminal window
kubectl delete -k deploy
  • The namespace ai-agents and everything in it: the agent-controller Deployment, the controller and caller RBAC, the run-pod NetworkPolicy, and any agent-secrets Secret you created out of band. Namespace termination drains the contained objects, so this can take a moment.
  • The three CRDs (agents, stations, agentdefinitions under agents.re-cinq.com) and, with them, all custom resources of those kinds across every namespace. Agents own their Jobs through owner references, so deleting an Agent garbage-collects its Job and pod; there are no finalizers to unstick.

Credentials you created out of band are namespaced, so they go with the namespace. Nothing on the node is touched — the subsystem mounts nothing from the host (see Prerequisites).

To take the operator down for an upgrade or maintenance window without deleting in-flight runs and their history, remove just the namespaced workload and leave the CRDs (and their custom resources) standing:

Terminal window
kubectl -n ai-agents delete deploy/agent-controller

Re-applying install.yaml brings the controller back, and it reconciles whatever Agents it finds — Kubernetes is the only state.

Terminal window
kubectl get ns ai-agents # "NotFound" once it finishes terminating
kubectl get crd | grep agents.re-cinq.com # no output

An empty result from both means the subsystem is fully gone.