Introduction
Kagenti Operator is a Kubernetes-native operator that enrolls, discovers, and secures AI agents and MCP tools that run as ordinary Kubernetes workloads. Built on the open-source kagenti/kagenti-operator, it lets you turn a plain Deployment into a managed agent — with consistent labels, agent-to-agent (A2A) discovery, and an optional identity/security mesh — declaratively through Kubernetes Custom Resource Definitions (CRDs).
Overview
The operator provides the following CRDs (API group agent.kagenti.dev):
- AgentRuntime: Enrolls a target workload (a
DeploymentorStatefulSet) as anagentor atool. The controller applies thekagenti.io/typeandapp.kubernetes.io/managed-bylabels, computes a configuration hash, and — when the identity stack is enabled — triggers sidecar injection through the AuthBridge webhook. - AgentCard: Represents a discovered agent. The sync controller fetches the agent's A2A Agent Card from the workload's Service and indexes it, with optional JWS signature verification and SPIFFE identity binding.
- AuthorizationPolicy: Application-level authorization intent that the operator translates to the underlying mesh (Istio / Kuadrant).
The operator itself is delivered as an OLM operator whose operand is a single Kagenti custom resource (API group kagenti.alauda.io). Installing the operator and creating a Kagenti resource deploys the agent controllers, CRDs, and admission webhooks onto the cluster.
A ValidatingAdmissionPolicy named agent-label-protection prevents the kagenti.io/type label from being set directly on a Deployment or StatefulSet — it can only be applied by the operator via an AgentRuntime.
Key Features
- Declarative agent enrollment: Mark a
Deploymentwith aprotocol.kagenti.io/a2alabel and point anAgentRuntimeat it; the operator manages the rest. - Dynamic agent discovery:
AgentCardresources are created and synced automatically so agents can find one another. - LLM-backend agnostic: Agents talk to any OpenAI-compatible chat endpoint, so an in-cluster AI InferenceService can serve as the model backend.
- MCP tool integration: Deploy Model Context Protocol servers as
tool-type workloads that agents call to extend their capabilities. - Pluggable identity & security: An optional stack (SPIRE/SPIFFE mTLS, Keycloak, Istio) can be enabled for workload identity and zero-trust transport.
Core Profile
On AI the operator ships a core profile: agent enrollment, dynamic discovery (AgentCard), and MCP tool integration are enabled, while the identity/security stack (SPIRE, Keycloak, Istio mTLS) is disabled by default because it requires components that are not part of the base install. In this profile:
- Agent pods run with no injected sidecars (only your own container).
AgentRuntimereportsMTLSReady=Falsewith reasonSPIREUnavailable— this is expected and does not block agent or tool functionality.
Opt into the identity stack once SPIRE, Keycloak, and Istio are available on the cluster.
Use Cases
- Agentic applications on Kubernetes: Run A2A agents and MCP tool servers as first-class, discoverable workloads.
- Self-hosted model backends: Drive agents with models served by AI InferenceServices instead of external LLM providers.
- Tool-augmented agents: Extend agents with MCP servers for live data (weather, search, internal APIs, …).