Skip to content

Resource Types

The Omnia adapter manages five Kubernetes resource types. This page documents each type, its naming convention, when it is created, and the API operations used.

Resource typeAdapter constantAPI path segmentConditional
ConfigMapconfigmapconfigmapsNo — always created
PromptPackprompt_packpromptpacksNo — always created
ToolRegistrytool_registrytoolregistriesYes — only if pack defines tools
AgentPolicyagent_policyagentpoliciesYes — only if pack defines a tool blocklist
AgentRuntimeagent_runtimeagentruntimesNo — always created (one per agent)

A Kubernetes ConfigMap that stores the raw compiled pack JSON. This is the data source that the PromptPack CRD references.

<pack-id>-packdata

All names are sanitized to valid Kubernetes DNS subdomain names: lowercased, underscores and spaces replaced with hyphens, invalid characters stripped, repeated hyphens collapsed, and truncated to 253 characters.

Always. Every deployment creates exactly one ConfigMap.

{
"kind": "ConfigMap",
"metadata": {
"name": "<pack-id>-packdata",
"labels": { ... }
},
"data": {
"pack.json": "<raw pack JSON>"
}
}
OperationHTTP methodURL
CreatePOST/api/v1/workspaces/<ws>/configmaps
UpdatePUT/api/v1/workspaces/<ws>/configmaps/<name>
GetGET/api/v1/workspaces/<ws>/configmaps/<name>
DeleteDELETE/api/v1/workspaces/<ws>/configmaps/<name>

A custom resource that identifies the prompt pack, references its ConfigMap data, and records the provider mapping.

<pack-id>

Always. Every deployment creates exactly one PromptPack.

{
"kind": "PromptPack",
"metadata": {
"name": "<pack-id>",
"labels": { ... }
},
"spec": {
"packId": "<pack-id>",
"version": "<pack-version>",
"configMapRef": "<pack-id>-packdata",
"providerRef": "<default-provider>",
"description": "<pack description>"
}
}

The providerRef is set from the default entry in the providers map. The description is included only if the pack has a non-empty description.

OperationHTTP methodURL
CreatePOST/api/v1/workspaces/<ws>/promptpacks
UpdatePUT/api/v1/workspaces/<ws>/promptpacks/<name>
GetGET/api/v1/workspaces/<ws>/promptpacks/<name>
DeleteDELETE/api/v1/workspaces/<ws>/promptpacks/<name>

A custom resource that lists the tools available to the agent runtime. Each tool entry includes its name, description, and JSON Schema input parameters.

<pack-id>-tools

Conditional. Only created when the pack defines at least one tool (len(pack.Tools) > 0).

{
"kind": "ToolRegistry",
"metadata": {
"name": "<pack-id>-tools",
"labels": { ... }
},
"spec": {
"tools": [
{
"name": "tool-name",
"description": "Tool description",
"inputSchema": { ... }
}
]
}
}

Tools are sorted alphabetically by name for deterministic output.

OperationHTTP methodURL
CreatePOST/api/v1/workspaces/<ws>/toolregistries
UpdatePUT/api/v1/workspaces/<ws>/toolregistries/<name>
GetGET/api/v1/workspaces/<ws>/toolregistries/<name>
DeleteDELETE/api/v1/workspaces/<ws>/toolregistries/<name>

A custom resource that enforces tool usage policies. Currently supports tool blocklists — tools that the agent is not allowed to call.

<pack-id>-policy

Conditional. Only created when at least one prompt in the pack defines a tool policy with a non-empty blocklist.

{
"kind": "AgentPolicy",
"metadata": {
"name": "<pack-id>-policy",
"labels": { ... }
},
"spec": {
"toolBlocklist": ["blocked-tool-a", "blocked-tool-b"]
}
}

The blocklist is the deduplicated, sorted union of all blocklists across all prompts in the pack.

OperationHTTP methodURL
CreatePOST/api/v1/workspaces/<ws>/agentpolicies
UpdatePUT/api/v1/workspaces/<ws>/agentpolicies/<name>
GetGET/api/v1/workspaces/<ws>/agentpolicies/<name>
DeleteDELETE/api/v1/workspaces/<ws>/agentpolicies/<name>

The running agent instance. References the PromptPack and optionally the ToolRegistry and AgentPolicy. Supports resource sizing via the runtime config.

  • Single-agent packs: <pack-id>
  • Multi-agent packs: the agent’s name as extracted from the pack (one AgentRuntime per agent)

Always. Single-agent packs produce one AgentRuntime. Multi-agent packs produce one per extracted agent.

{
"kind": "AgentRuntime",
"metadata": {
"name": "<agent-name>",
"labels": { ... }
},
"spec": {
"promptPackRef": "<pack-id>",
"agentName": "<agent-name>",
"providerRef": "<resolved-provider>",
"replicas": 2,
"resources": {
"cpu": "500m",
"memory": "512Mi"
},
"toolRegistryRef": "<pack-id>-tools",
"agentPolicyRef": "<pack-id>-policy"
}
}

Notes:

  • agentName is only set for multi-agent packs.
  • providerRef is resolved per-agent: first by exact agent name match in the providers map, then by the default entry.
  • replicas and resources are only set when the runtime config is provided.
  • toolRegistryRef is only set when the pack defines tools.
  • agentPolicyRef is only set when the pack defines a tool policy.
OperationHTTP methodURL
CreatePOST/api/v1/workspaces/<ws>/agentruntimes
UpdatePUT/api/v1/workspaces/<ws>/agentruntimes/<name>
GetGET/api/v1/workspaces/<ws>/agentruntimes/<name>
DeleteDELETE/api/v1/workspaces/<ws>/agentruntimes/<name>

All resource names are sanitized to valid Kubernetes DNS subdomain names:

  1. Lowercased
  2. Underscores and spaces replaced with hyphens
  3. Characters outside [a-z0-9-.] stripped
  4. Repeated hyphens collapsed
  5. Leading/trailing hyphens and dots trimmed
  6. Truncated to 253 characters (the Kubernetes maximum)