Skip to main content
Version: v6.0.0 [Falcon]

API Reference

Packages​

orama.trirematics.io/v1​

Package v1 contains API Schema definitions for the orama v1 API group

Resource Types​

AIFabric​

AIFabric is the Schema for the AIFabric API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringorama.trirematics.io/v1
kind stringAIFabric
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
Optional: {}
spec AIFabricSpecSpec is the desired state of the AIFabric
status AIFabricStatusStatus is the observed state of the AIFabric

AIFabricList​

AIFabricList contains a list of AIFabric

FieldDescriptionDefaultValidation
apiVersion stringorama.trirematics.io/v1
kind stringAIFabricList
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
Optional: {}
items AIFabric arrayItems is the list of AIFabric objects.

AIFabricSpec​

AIFabricSpec defines the desired state of AIFabric.

Appears in:

FieldDescriptionDefaultValidation
mcp MCPServer arrayThe MCP Servers deployed by the AIFabric, exposing tools for the
Agents in the AIFabric.
MinItems: 1
Optional: {}
llms LLM arrayThe LLMs used by the agents of the AIFabric.MinItems: 1
Optional: {}
agents Agent arrayThe agents deployed by the AIFabric.MinItems: 1
Optional: {}
imagePullSecrets LocalObjectReference arrayImagePullSecrets is a list of references to secrets for pulling images
for the AIFabric components.
MinItems: 1
Optional: {}
telemetry TelemetryTelemetry defines how the internal agents of the AIFabric export their
OpenTelemetry traces. Unset disables telemetry.
Optional: {}

AIFabricStatus​

AIFabricStatus is the current observed state of the AIFabric

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions represent the latest available observations of the AIFabric's
current state. Known types are: "Available", "Degraded", "Progressing".
Optional: {}
elements string arrayList of Elements associated to the AIFabric.Optional: {}
ready booleanReadiness of the AIFabric, equals to a logical AND between the readiness
of the Elements. Unset until the first reconciliation writes it.
Optional: {}

Agent​

Agent defines an agent in the AIFabric.

Appears in:

FieldDescriptionDefaultValidation
name NameTagThe name of the agentMaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
type ApplicationTypeThe type of the agent (internal or external).internalEnum: [external internal]
Required: {}
external ExternalAgentDescExternal holds configuration for external agents.Optional: {}
internal InternalAgentDescInternal holds configuration for internal agents.Optional: {}
chattable booleanChattable tells whether the agent is intended to be used directly
by a human.
Defaults to:
- nil (treated as false) for "sink" agents.
- true for all other agent roles and external agents.
Optional: {}

AgentRole​

Underlying type: string

AgentRole defines the role of an internal agent in a multi-agent system.

Validation:

  • Enum: [none sink supervisor worker]

Appears in:

FieldDescription
sinkThe agent is considered a dependency of all the "worker" agents
supervisorThe agent has all the "worker" agents as dependencies.
workerThe agent is considered a dependency of any "supervisor" agent
and has all the "sink" agents as dependencies.
noneThe agent does not have any implicit dependency.

ApplicationType​

Underlying type: string

Validation:

  • Enum: [external internal]

Appears in:

FieldDescription
externalThe application is deployed outside of the cluster
internalThe application is deployed inside the cluster

CompositionModel​

CompositionModel is the Schema for the compositionmodels API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringorama.trirematics.io/v1
kind stringCompositionModel
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
deploymentModes object (keys:NameTag, values:Model)
spec CompositionModelSpecSpec of the CompositionModelRequired: {}
status CompositionModelStatusNOT USED

CompositionModelList​

CompositionModelList contains a list of CompositionModel

FieldDescriptionDefaultValidation
apiVersion stringorama.trirematics.io/v1
kind stringCompositionModelList
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items CompositionModel array

CompositionModelSpec​

CompositionModelSpec defines the desired state of CompositionModel

Appears in:

FieldDescriptionDefaultValidation
provider stringMaxLength: 31
Required: {}
version stringRequired: {}

CompositionModelStatus​

CompositionModelStatus defines the observed state of CompositionModel

Appears in:

Element​

Element is the Schema for the elements API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringorama.trirematics.io/v1
kind stringElement
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ElementSpecThe desired state of the Element
status ElementStatusThe observed state of the Element

ElementList​

ElementList contains a list of Element

FieldDescriptionDefaultValidation
apiVersion stringorama.trirematics.io/v1
kind stringElementList
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Optional: {}
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Optional: {}
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Element array

ElementSpec​

ElementSpec defines the desired state of Element.

Appears in:

FieldDescriptionDefaultValidation
model ModelThe model used by the Element.Required: {}
elementConfig stringThe configuration file for the ElementOptional: {}
imagePullSecrets LocalObjectReference arrayList of references to secrets used to pull images for the Element.MinItems: 1
Optional: {}
shadowService stringThe name to assign to the service associated to the Element's deployment.Required: {}
env EnvVar arrayList of environment variables for the Element's deployment.Optional: {}
dependencies string arrayList of names of the Elements on which this Element depends.Optional: {}

ElementStatus​

ElementStatus defines the observed state of Element.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions represent the latest available observations of the Element's
current state. Known types are: "Available", "Degraded", "Progressing".
Optional: {}
ready booleanThe readiness of the Element's deployment. Unset until the first
reconciliation writes it.
Optional: {}

ExternalAgentDesc​

Underlying type: ExternalAppDesc

ExternalAgentDesc defines an external agent

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringThe url where the service is reachableRequired: {}
authHeadersSecretRef LocalObjectReferenceThe HTTP headers used for authenticating requests (optional).
Each key represents the header name and its corresponding value.
Optional: {}
timeoutSeconds integerThe timeout for requests to the external serviceOptional: {}

ExternalAppDesc​

ExternalAppDesc defines an external application

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringThe url where the service is reachableRequired: {}
authHeadersSecretRef LocalObjectReferenceThe HTTP headers used for authenticating requests (optional).
Each key represents the header name and its corresponding value.
Optional: {}
timeoutSeconds integerThe timeout for requests to the external serviceOptional: {}

ExternalEndpoint​

ExternalEndpoint defines an endpoint in terms of URL and auth headers

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringThe url where the service is reachableRequired: {}
authHeadersSecretRef LocalObjectReferenceThe HTTP headers used for authenticating requests (optional).
Each key represents the header name and its corresponding value.
Optional: {}

ExternalMCPDesc​

Underlying type: ExternalAppDesc

ExternalMCPDesc defines an external MCP server

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringThe url where the service is reachableRequired: {}
authHeadersSecretRef LocalObjectReferenceThe HTTP headers used for authenticating requests (optional).
Each key represents the header name and its corresponding value.
Optional: {}
timeoutSeconds integerThe timeout for requests to the external serviceOptional: {}

FullModelName​

Underlying type: string

FullModelName is an aliased string type for the general format of particular deployment-mode in the context of a composition-model, separated by a slash. Each of the parts is a NameTag and the length requirements match the one of the FullNameTag. The first part is the composition-model and the second part is the deployment-mode much like a directory structure.

Validation:

  • MaxLength: 127
  • MinLength: 3
  • Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?\/[a-z0-9]([-a-z0-9]*[a-z0-9])?$)

Appears in:

InternalAgentDesc​

InternalAgentDesc defines an internal agent

Appears in:

FieldDescriptionDefaultValidation
model FullModelNameModel is the CompositionModel and deployment mode of the application.MaxLength: 127
MinLength: 3
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?\/[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
annotations object (keys:string, values:string)Annotations to add to the Element created for the application.
Takes precedence over other annotations with the same key which are
defined by the model.
Annotations matching "env.orama.t9s.io/VAR_NAME" are parsed as
Element environment variables.
Optional: {}
labels object (keys:string, values:string)Labels to add to the Element created for the application.Optional: {}
llm NameTagLLM is the name of the LLM the agent must use.MaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
role AgentRoleRole is the role of the agent in a multi-agent system.
The role determines the following implicit dependencies between agents:
- "sink": the agent is considered a dependency of all the "worker"
agents.
- "supervisor": the agent has all the "worker" agents as dependencies.
- "worker": the agent is considered a dependency of any "supervisor"
agent and has all the "sink" agents as dependencies.
- "none": the agent does not have any implicit dependency.
Role-based dependencies can only be extended with additional explicit
dependencies specified in the dedicated field.
Role-based dependencies cannot be overridden or removed.
workerEnum: [none sink supervisor worker]
mcpServers NameTag arrayMCPServers is a list of MCP Servers the agent can use.MaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Optional: {}
dependencies NameTag arrayDependencies is a list of Agent names to which this Agent can
send requests. The name must be defined either in the list of agents
or in the list of external applications with kind "agent".
MaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Optional: {}

InternalAppDesc​

InternalAppDesc defines an internal application

Appears in:

FieldDescriptionDefaultValidation
model FullModelNameModel is the CompositionModel and deployment mode of the application.MaxLength: 127
MinLength: 3
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?\/[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
annotations object (keys:string, values:string)Annotations to add to the Element created for the application.
Takes precedence over other annotations with the same key which are
defined by the model.
Annotations matching "env.orama.t9s.io/VAR_NAME" are parsed as
Element environment variables.
Optional: {}
labels object (keys:string, values:string)Labels to add to the Element created for the application.Optional: {}

InternalMCPDesc​

Underlying type: InternalAppDesc

InternalMCPDesc defines an internal MCP server

Appears in:

FieldDescriptionDefaultValidation
model FullModelNameModel is the CompositionModel and deployment mode of the application.MaxLength: 127
MinLength: 3
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?\/[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
annotations object (keys:string, values:string)Annotations to add to the Element created for the application.
Takes precedence over other annotations with the same key which are
defined by the model.
Annotations matching "env.orama.t9s.io/VAR_NAME" are parsed as
Element environment variables.
Optional: {}
labels object (keys:string, values:string)Labels to add to the Element created for the application.Optional: {}

LLM​

LLM defines how to reach a large language model (LLM) service.

Appears in:

FieldDescriptionDefaultValidation
name NameTagName is the name of the LLM service.MaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
provider ModelProviderNameModelProvider is the provider of the language model.Enum: [anthropic deepseek nvidia ollama openai]
Required: {}
model stringModelName is the name of the language model to use.Required: {}
apiKeySecretRef SecretKeySelectorApiKeySecretRef is a reference to a Secret containing the API key.
The Secret should already exist in the target namespace.
Optional: {}
endpoint ExternalEndpointThe endpoint where the LLM is reachableOptional: {}
reasoningEffort stringReasoningEffort is how much the model reasons before answering, e.g.
"low". The accepted values depend on the provider.
Optional: {}
serviceTier stringServiceTier is the processing tier of the requests, e.g. "flex". The
accepted values depend on the provider.
Optional: {}

MCPServer​

MCPServer defines an MCP server exposing tools for the agents in the AIFabric.

Appears in:

FieldDescriptionDefaultValidation
name NameTagThe name of the MCP server.MaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
type ApplicationTypeThe type of the MCP server (internal or external).internalEnum: [external internal]
Required: {}
external ExternalMCPDescExternal holds configuration for external MCP servers.Optional: {}
internal InternalMCPDescInternal holds configuration for internal MCP servers.Optional: {}

Model​

Model defines a deployment mode for the CompositionModel

Appears in:

FieldDescriptionDefaultValidation
name NameTagThe name of the model.MaxLength: 63
MinLength: 1
Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
Required: {}
vendor stringThe vendor of the model, preferably defined with three alphanumeric lower case characters.Required: {}
kind stringThe kind of the model.Required: {}
imageTag stringThe image tag for the deployment's container of an element with this
model.
Required: {}
args string arrayArgs to the container.Optional: {}
command string arrayEntrypoint array. The container ENTRYPOINT is used when this is not
specified.
Optional: {}
readinessProbe ProbeReadiness probe to consider the Element available.Optional: {}
resources ResourceRequirementsResource requirements for the container of the workloadOptional: {}
rules PolicyRule arrayThe rbac rules for an element with this modelOptional: {}
clusterRules PolicyRule arrayThe rbac rules granted cluster-wide to an element with this modelOptional: {}
env EnvVar arrayThe environment for the deployment of an element with this modelOptional: {}

ModelProviderName​

Underlying type: string

Validation:

  • Enum: [anthropic deepseek nvidia ollama openai]

Appears in:

FieldDescription
anthropic
deepseek
nvidia
ollama
openai

NameTag​

Underlying type: string

NameTag is an aliased string type for the general format of names used all over Athena repository with a limited character-set and length.

Validation:

  • MaxLength: 63
  • MinLength: 1
  • Pattern: (^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)

Appears in:

Telemetry​

Telemetry defines how the internal agents of the AIFabric export their OpenTelemetry traces, over OTLP/HTTP to a collector. Leaving it unset disables telemetry entirely.

Appears in:

FieldDescriptionDefaultValidation
endpoint stringThe base URL of the OTLP/HTTP collector, e.g. "http://phoenix:6006".
The "/v1/traces" path is appended by the agent runtime, so it must not
be part of this value.
Required: {}
projectName stringThe project the traces are filed under in the telemetry backend (the
"openinference.project.name" resource attribute).
Every agent of the AIFabric shares it: a distributed trace is
reconstructed within a single project, so agents exporting to different
projects would fragment the traces of the same conversation.
Defaults to the name of the AIFabric.
Optional: {}