Skip to content

Omnia Kubernetes Adapter

The Omnia adapter is a PromptKit deploy provider that translates compiled prompt packs into Omnia Kubernetes custom resources. It communicates with the Omnia Management API to create, update, and destroy the Kubernetes objects that back a running agent.

The adapter maps each concept from a compiled pack to one or more Omnia Kubernetes resources:

Pack conceptOmnia resourceAdapter resource type
Pack JSONConfigMapconfigmap
Pack identityPromptPack CRDprompt_pack
AgentAgentRuntime CRDagent_runtime
ToolsToolRegistry CRDtool_registry
Tool blocklistAgentPolicy CRDagent_policy
  • Single and multi-agent packs — single-agent packs produce one AgentRuntime; multi-agent packs produce one per agent with shared PromptPack and ToolRegistry resources.
  • Dry-run mode — preview every resource the adapter would create or update, without making API calls.
  • Managed resource labels — every resource is labelled with app.kubernetes.io/managed-by, pack ID, pack version, and resource type for reliable ownership tracking.
  • Tool registry — pack tool definitions are projected into a ToolRegistry CRD so the Omnia runtime can discover them at startup.
  • Agent policy — tool blocklists defined in the pack are enforced via an AgentPolicy CRD.
  • Create/update diffing — when prior state exists, the adapter diffs desired resources against the previous deployment and emits create, update, or delete actions accordingly.

Add an omnia deploy provider to your arena configuration:

deploy:
provider: omnia
config:
api_endpoint: "https://omnia.example.com"
workspace: "my-workspace"
providers:
default: claude-prod

Set the API token via environment variable:

Terminal window
export OMNIA_API_TOKEN="your-token-here"

Then use PromptArena to plan and apply:

Terminal window
promptarena deploy plan
promptarena deploy apply
Diagram
  1. PromptArena compiles the pack and passes the JSON to the adapter.
  2. The adapter parses the pack, builds Kubernetes resource payloads, and resolves provider mappings.
  3. Resources are applied in dependency order through the Omnia Management API.
  4. The API creates or updates the corresponding Kubernetes objects in the target workspace.