Agent Operator
Synced from
agent-operator/README.md. The repository is the source of truth.
A Kubernetes operator that provides primitives for a fleet of autonomous agents — a bounded namespace workspace, generic secret/config exposure, catalog resolution, and running the agent. Channels (email, GitHub, Signal) and tools (a wiki, source ingestion) are composed at the agent layer, not baked into the operator.
Status: design stage. The CRDs and controller are specified but not yet implemented.
Images
Section titled “Images”This repository publishes one image: the controller,
ghcr.io/ai-outfitter/agent-operator. It publishes no agent runtime image
(see #13 and
#28).
The agent runtime is the published Outfitter container,
ghcr.io/ai-outfitter/outfitter:<version>. As of Outfitter
v1.4.0 that
image is deliberately extensible — it carries a shell and a root account — so a
consumer can build FROM ghcr.io/ai-outfitter/outfitter:1.4.0. That release also
forwards SIGTERM, SIGINT, and SIGHUP to the harness it spawns, so a
resident agent shuts down cleanly on pod deletion instead of being SIGKILLed
when the grace period expires. An agent that
needs more than the stock runtime publishes that derived image from its own
org’s <org>/.agents repository, beside the profiles it runs — never from an
application repository. Agent.spec.image selects the image per Agent.
containers.agent in devenv.nix still builds a runtime image, for the local
dev cluster only. It is never released, so nothing downstream can pin it. The
controller’s --agent-image flag likewise still defaults to agent-runtime:dev;
pointing that default at the Outfitter container is pending follow-up work.
- Quick start — install the operator and run an agent.
- deploy-catalog action — continuous
deployment of every agent a catalog’s
agents/<id>/deployment.yamltree declares, from GitHub or Forgejo Actions. - Use case: researcher wiki maintainer — an end-to-end example composition (email a paper, get a wiki commit).
- Architecture — the primitives-vs-composition design.
- Contributing — local development (Nix, devenv, a local cluster).