# Omnia vs Kagent

> Kagent and Omnia both run agents as Kubernetes resources with pinned revisions. Omnia also tests each version on simulated callers before release, rolls it out in steps and carries the end user’s identity to every tool, free.

Category: Agents on Kubernetes. Checked against The kagent project’s published material on 2026-10-22. Canonical page: https://www.altairalabs.ai/vs/kagent/

## We already run agents on Kubernetes with kagent.

Then you already have the part the two agree on: agents as custom resources, each session pinned to an immutable revision. Kagent’s docs stop at the revision. Omnia tests it against simulated callers before it takes traffic and promotes it on the results.

## When it matters: Someone points the support agent at a newer model.

**On Omnia:** Before it serves anyone, the new revision meets simulated customers on the real tools, a caller pushing for a policy exception and one who talks over it on the phone. It grants the exception more readily than the old model did, so it stays at the gate. (Omnia docs: https://promptarena.altairalabs.ai/arena/explanation/scenario-design/)

**On Kagent:** Kagent compiles the change into a new digest-pinned revision. Its docs describe no testing before the revision serves; Solo.io’s separate agentevals tool grades traces from runs that already happened. (source: https://www.solo.io/blog/agentic-quality-benchmarking-with-agent-evals)

## A test suite on every revision

The suite has three kinds of run: simulated users on the real tools, adversarial callers looking for a policy bypass, and duplex voice calls that catch barge-in and dead air. The gate reads its results. (Omnia docs: https://promptarena.altairalabs.ai/arena/explanation/scenario-design/)

Kagent: Evaluation isn’t in the kagent docs. Voice isn’t documented. (source: https://kagent.dev/docs/kagent/1.x/about/what-is-kagent.md)

## Traffic in steps

Both pin a session to the revision it started on. Omnia also moves new conversations across in steps, checks the metrics before each one, and rolls the revision back if they drop. *(enterprise)* (Omnia docs: https://omnia.altairalabs.ai/tutorials/progressive-rollouts/)

Kagent: Sessions pin to their revision. Canary, eval-gated promotion and rollback aren’t documented. (source: https://kagent.dev/docs/kagent/1.x/about/core-concepts.md)

## The user’s identity reaches the tool

OIDC or your gateway authenticates the caller, and the agent passes that identity to every tool and remote agent it calls. It’s in the free core. A CEL rule can also check a tool call’s arguments before it runs. *(enterprise)* (Omnia docs: https://omnia.altairalabs.ai/how-to/security/configure-authentication/)

Kagent: Open source has Kubernetes RBAC, an oauth2-proxy and a per-binding tool allowlist. OIDC and on-behalf-of token exchange are in Solo Enterprise for kagent. (source: https://www.solo.io/products/kagent-enterprise)

## At a glance

| Topic | Omnia | Omnia docs | Kagent | Kagent docs | Source |
|---|---|---|---|---|---|
| Agents as Kubernetes resources | Custom resources and controllers, installed with Helm. | https://omnia.altairalabs.ai/explanation/agents/autoscaling/ | Harness, AgentTemplate and Agent resources. | documented | https://kagent.dev/docs/kagent/1.x/about/core-concepts.md |
| Immutable versions | A versioned pack: prompts, tools, policy and tests together. | https://omnia.altairalabs.ai/reference/core/promptpacksource/ | Digest-identified revisions. | documented | https://kagent.dev/docs/kagent/1.x/about/core-concepts.md |
| Simulated users before release | Multi-turn, against real tools, adversarial included. | https://promptarena.altairalabs.ai/arena/explanation/scenario-design/ | Not in the kagent docs. | not documented | https://kagent.dev/docs/kagent/1.x/about/what-is-kagent.md |
| Voice | Duplex voice, and tests for it. | https://promptarena.altairalabs.ai/arena/explanation/duplex-architecture/ | Not documented. | not documented | https://kagent.dev/docs/kagent/1.x/about/what-is-kagent.md |
| Stepped rollout, auto rollback | Traffic shifts in steps and rolls back on its own. | https://omnia.altairalabs.ai/tutorials/progressive-rollouts/ | Not documented. | not documented | https://kagent.dev/docs/kagent/1.x/about/core-concepts.md |
| Argument-level tool policy | A CEL rule on every call, before the tool runs. *(enterprise)* | https://omnia.altairalabs.ai/how-to/security/configure-tool-policies/ | Allowlist by tool name, optional approval. | partly documented | https://kagent.dev/docs/kagent/1.x/skills-and-mcp/about-tools.md |
| End-user identity to tools | In the free core. | https://omnia.altairalabs.ai/explanation/platform/delegation-tokens/ | In the enterprise edition. | partly documented | https://www.solo.io/products/kagent-enterprise |
| Deploy to AgentCore, Vertex or Foundry | The same pack, one command. | https://promptarena.altairalabs.ai/arena/explanation/deploy/overview/ | Not documented. | not documented | https://kagent.dev/docs/kagent/1.x/llms.txt |

## Questions

**Which kagent version is this?**

The 1.x documentation, which kagent describes as an alpha and a clean break from the 0.x line.

**Does either need a service mesh?**

Kagent’s open-source install doesn’t mention one; Istio ambient appears in Solo’s enterprise edition. Omnia doesn’t need one.

**Can Omnia run agents built with other frameworks?**

Yes. They run under the same policy, audit and testing as Omnia’s own, and any agent is reachable over A2A or as an MCP tool.
