Skip to main content
Version: Latest

API Reference

Packages

vllm.ai/v1alpha1

Package v1alpha1 contains API Schema definitions for the vllm v1alpha1 API group

Resource Types

APIConfig

APIConfig defines API configuration

Appears in:

FieldDescriptionDefaultValidation
batch_classification BatchClassificationConfigOptional: {}

AutoscalingSpec

AutoscalingSpec defines autoscaling configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates if HPA is enabledfalseOptional: {}
minReplicas integerMinReplicas is the minimum number of replicas1Optional: {}
maxReplicas integerMaxReplicas is the maximum number of replicas10Optional: {}
targetCPUUtilizationPercentage integerTargetCPUUtilizationPercentage is the target CPU percentage80Optional: {}
targetMemoryUtilizationPercentage integerTargetMemoryUtilizationPercentage is the target memory percentageOptional: {}

BatchClassificationConfig

BatchClassificationConfig defines batch classification configuration

Appears in:

FieldDescriptionDefaultValidation
max_batch_size integer100Optional: {}
concurrency_threshold integer5Optional: {}
max_concurrency integer8Optional: {}
metrics BatchMetricsConfigOptional: {}

BatchMetricsConfig

BatchMetricsConfig defines batch classification metrics configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleantrueOptional: {}
detailed_goroutine_tracking booleantrueOptional: {}
high_resolution_timing booleanfalseOptional: {}
sample_rate stringSample rate for metrics (0.0-1.0). Stored as string to avoid float precision issues.1.0Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
duration_buckets string arrayDuration buckets for histograms. Stored as strings to avoid float precision issues.
Example: ["0.001", "0.005", "0.01", "0.025", "0.05", "0.1", "0.25", "0.5", "1", "2.5", "5", "10", "30"]
Optional: {}
size_buckets integer arrayOptional: {}

CategoryModelConfig

CategoryModelConfig defines category model configuration

Appears in:

FieldDescriptionDefaultValidation
model_id stringOptional: {}
use_modernbert booleanOptional: {}
threshold stringClassification threshold (0.0-1.0). Stored as string to avoid float precision issues.Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
use_cpu booleanOptional: {}
category_mapping_path stringOptional: {}

ClassifierConfig

ClassifierConfig defines classifier configuration

Appears in:

FieldDescriptionDefaultValidation
category_model CategoryModelConfigOptional: {}
pii_model PIIModelConfigOptional: {}

ComplexityCandidates

ComplexityCandidates defines candidate examples for complexity classification

Appears in:

FieldDescriptionDefaultValidation
candidates string arrayList of candidate phrases or examples

ComplexityRulesConfig

ComplexityRulesConfig defines complexity-based signal classification

Appears in:

FieldDescriptionDefaultValidation
name stringName of the complexity rule (e.g., "code-complexity", "reasoning-complexity")
description stringDescription of what this rule classifiesOptional: {}
threshold stringThreshold for difficulty classification (0.0-1.0). Stored as string to avoid float precision issues.
Queries scoring above this threshold are classified as "hard"
Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
hard ComplexityCandidatesHard candidates represent complex/difficult examples
easy ComplexityCandidatesEasy candidates represent simple/easy examples
composer RuleCompositionComposer allows filtering based on other signals (e.g., only apply this rule if domain:medical)Optional: {}

CompositionCondition

CompositionCondition defines a single composition condition

Appears in:

FieldDescriptionDefaultValidation
type stringType of signal to check (e.g., "domain", "language", "category")
name stringName of the specific signal/rule value to match

ConfigSpec

ConfigSpec defines the semantic router configuration

Appears in:

FieldDescriptionDefaultValidation
routing JSONRouting contains canonical v0.3 routing configuration under config.routing.
It is intentionally preserved as an object so the operator can pass through
the router-owned signal, projection, decision, and algorithm contract without
lagging behind every router schema addition.
Type: object
Optional: {}
embedding_models EmbeddingModelsConfigEmbedding models configuration (qwen3, gemma, mmbert)Optional: {}
response_cache SemanticCacheConfigResponse cache configuration.Optional: {}
semantic_cache SemanticCacheConfigSemanticCache is the deprecated response-cache field.Optional: {}
tools ToolsConfigTools configurationOptional: {}
prompt_guard PromptGuardConfigPrompt guard configurationOptional: {}
classifier ClassifierConfigClassifier configurationOptional: {}
complexity_rules ComplexityRulesConfig arrayComplexity rules for complexity-aware routingOptional: {}
strategy stringDecision routing strategy ("priority" for priority-based matching)Enum: [priority]
Optional: {}
decisions DecisionConfig arrayRouting decisions based on signals (domain, complexity, etc.)Optional: {}
reasoning_families object (keys:string, values:ReasoningFamily)Reasoning familiesOptional: {}
default_reasoning_effort stringDefault reasoning effortEnum: [low medium high]
Optional: {}
api APIConfigAPI configurationOptional: {}
observability ObservabilityConfigObservability configurationOptional: {}

DecisionConfig

DecisionConfig defines a routing decision

Appears in:

FieldDescriptionDefaultValidation
name stringName is the unique identifier for this decision
description stringDescription provides information about what this decision handlesOptional: {}
priority integerPriority is used for decision ordering - higher priority decisions are evaluated firstOptional: {}
rules RuleCombinationConfigRules defines the combination of conditions using AND/OR logic
modelRefs ModelRefConfig arrayModelRefs contains model references for this decisionOptional: {}
preferred_endpoints string arrayPreferredEndpoints specifies which vLLM endpoints to prefer for this decisionOptional: {}
plugins RawExtension arrayPlugins contains policy configurations applied after rule matchingOptional: {}
algorithm JSONAlgorithm configures base model selection for this decision. It is
preserved as a router-owned object so supported algorithms can evolve
without requiring the operator CRD to duplicate every nested field.
Type: object
Optional: {}

EmbeddingEndpointConfig

EmbeddingEndpointConfig defines an external OpenAI-compatible embedding endpoint.

Appears in:

FieldDescriptionDefaultValidation
base_url stringBaseURL is the base URL for the embedding endpoint, typically ending in /v1.Optional: {}
model stringModel is the embedding model name sent to the external provider.Optional: {}
api_key_env stringAPIKeyEnv names the environment variable containing the provider API key.Optional: {}
timeout_seconds integerTimeoutSeconds is the request timeout for embedding calls.Minimum: 0
Optional: {}
max_retries integerMaxRetries is the maximum number of retry attempts for embedding calls.Minimum: 0
Optional: {}
dimensions integerDimensions requests a provider-side output dimension when supported.Minimum: 1
Optional: {}

EmbeddingModelsConfig

EmbeddingModelsConfig defines configuration for embedding models

Appears in:

FieldDescriptionDefaultValidation
qwen3_model_path stringPath to Qwen3-Embedding-0.6B model directory
Qwen3 provides 32K context and high quality embeddings (1024 dimensions)
Optional: {}
gemma_model_path stringPath to EmbeddingGemma-300M model directory
Gemma provides 8K context and fast embeddings (768 dimensions)
Optional: {}
mmbert_model_path stringPath to mmBERT 2D Matryoshka embedding model directory
Supports layer early exit (3/6/11/22) and dimension reduction (64-768)
Optional: {}
use_cpu booleanUse CPU for inference (default: true)trueOptional: {}
embedding_config HNSWEmbeddingConfigEmbedding configuration for embedding-based classificationOptional: {}
endpoint EmbeddingEndpointConfigEndpoint configures an external embedding provider endpoint.
The API key should be injected into the semantic router pod environment
and referenced by APIKeyEnv rather than stored directly in the CR.
Optional: {}

ExporterConfig

ExporterConfig defines exporter configuration

Appears in:

FieldDescriptionDefaultValidation
type stringotlpOptional: {}
endpoint stringjaeger:4317Optional: {}
insecure booleantrueOptional: {}

GatewayReference

GatewayReference references an existing Gateway

Appears in:

FieldDescriptionDefaultValidation
name stringName of the GatewayMinLength: 1
namespace stringNamespace of the GatewayMinLength: 1

GatewaySpec

GatewaySpec defines Gateway API integration configuration

Appears in:

FieldDescriptionDefaultValidation
existingRef GatewayReferenceExistingRef references an existing Gateway to useOptional: {}

HNSWCacheConfig

HNSWCacheConfig defines HNSW index configuration for hybrid/in-memory backends.

Appears in:

FieldDescriptionDefaultValidation
use_hnsw booleanUseHNSW enables HNSW indexing for faster similarity searchfalseOptional: {}
hnsw_m integerM is the number of bi-directional links per node16Minimum: 2
Optional: {}
hnsw_ef_construction integerEfConstruction is the size of dynamic candidate list during construction200Minimum: 1
Optional: {}
max_memory_entries integerMaxMemoryEntries limits in-memory entries for hybrid backend1000Minimum: 0
Optional: {}

HNSWEmbeddingConfig

HNSWEmbeddingConfig contains settings for embedding classification with HNSW indexing

Appears in:

FieldDescriptionDefaultValidation
backend stringBackend selects the embedding provider backend.Enum: [candle openvino openai_compatible]
Optional: {}
model_type stringModelType specifies which embedding model to use
Options: "qwen3" (1024-dim, 32K context), "gemma" (768-dim, 8K context), "mmbert" (64-768-dim, multilingual), "remote" (external provider)
Enum: [qwen3 gemma mmbert remote]
Optional: {}
preload_embeddings booleanPreloadEmbeddings enables precomputing candidate embeddings at startuptrueOptional: {}
target_dimension integerTargetDimension is the embedding dimension to use (default: 768)
For mmBERT, supported local dimensions are 64, 128, 256, 512, 768.
External providers may use other positive dimensions such as 1024, 1536, or 3072.
Minimum: 1
Optional: {}
target_layer integerTargetLayer controls mmBERT early exit and is used only when ModelType is "mmbert".
Lower layers reduce encoder work but may reduce quality; layer 22 uses the full encoder depth.
Evaluate the latency and quality trade-off on representative deployment data.
Enum: [3 6 11 22]
Optional: {}
enable_soft_matching booleanEnableSoftMatching enables soft matching modetrueOptional: {}
min_score_threshold stringMinScoreThreshold for matching (0.0-1.0). Stored as string to avoid float precision issues.0.5Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}

ImageSpec

ImageSpec defines the container image configuration

Appears in:

FieldDescriptionDefaultValidation
repository stringRepository is the container image repositoryghcr.io/vllm-project/semantic-router/extprocOptional: {}
tag stringTag is the container image taglatestOptional: {}
pullPolicy PullPolicyPullPolicy is the image pull policyIfNotPresentEnum: [Always Never IfNotPresent]
Optional: {}
imageRegistry stringImageRegistry is an optional registry prefixOptional: {}

IngressHost

IngressHost defines an ingress host

Appears in:

FieldDescriptionDefaultValidation
host stringOptional: {}
paths IngressPath arrayOptional: {}

IngressPath

IngressPath defines an ingress path

Appears in:

FieldDescriptionDefaultValidation
path stringOptional: {}
pathType stringOptional: {}
servicePort integerOptional: {}

IngressSpec

IngressSpec defines ingress configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates if ingress is enabledfalseOptional: {}
className stringClassName is the ingress class nameOptional: {}
annotations object (keys:string, values:string)Annotations for ingressOptional: {}
hosts IngressHost arrayHosts configurationOptional: {}
tls IngressTLS arrayTLS configurationOptional: {}

IngressTLS

IngressTLS defines ingress TLS configuration

Appears in:

FieldDescriptionDefaultValidation
secretName stringOptional: {}
hosts string arrayOptional: {}

LoRAAdapterSpec

LoRAAdapterSpec defines one LoRA adapter exposed by a VLLMEndpoint model.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the unique adapter identifier referenced by decision.modelRefs[].lora_name.MaxLength: 100
MinLength: 1
description stringDescription provides a short human-readable summary for UI and docs surfaces.MaxLength: 500
Optional: {}

MetricsPortSpec

MetricsPortSpec extends PortSpec with enable flag

Appears in:

FieldDescriptionDefaultValidation
port integerPort is the service portMaximum: 65535
Minimum: 1
Optional: {}
targetPort integerTargetPort is the container portMaximum: 65535
Minimum: 1
Optional: {}
protocol ProtocolProtocol is the port protocolTCPOptional: {}
enabled booleanEnabled indicates if metrics should be exposedtrueOptional: {}

MilvusCacheAuth

MilvusCacheAuth defines Milvus authentication.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether to use authenticationfalseOptional: {}
username stringUsername for Milvus authenticationOptional: {}
password stringPassword for Milvus authentication (plaintext - consider using PasswordSecretRef instead)Optional: {}
password_secret_ref SecretKeySelectorPasswordSecretRef references a Secret containing the Milvus password
Preferred over plaintext Password field for security
Optional: {}

MilvusCacheBatch

MilvusCacheBatch defines batch operation settings.

Appears in:

FieldDescriptionDefaultValidation
insert_batch_size integerInsertBatchSize for bulk inserts100Minimum: 1
Optional: {}
timeout integerTimeout for batch operations in seconds60Minimum: 0
Optional: {}

MilvusCacheCollection

MilvusCacheCollection defines Milvus collection configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Milvus collectionsemantic_cacheOptional: {}
description stringDescription of the collectionSemantic cache for LLM request-response pairsOptional: {}
vector_field MilvusCacheVectorFieldVectorField configuration for embeddingsOptional: {}
index MilvusCacheCollectionIndexIndex configuration for the collectionOptional: {}

MilvusCacheCollectionIndex

MilvusCacheCollectionIndex defines collection index settings.

Appears in:

FieldDescriptionDefaultValidation
type stringType of index algorithmHNSWEnum: [HNSW IVF_FLAT IVF_SQ8 IVF_PQ]
Optional: {}
params MilvusCacheIndexParamsParams for the indexOptional: {}

MilvusCacheCompaction

MilvusCacheCompaction defines compaction settings.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether auto-compaction is activefalseOptional: {}
interval integerInterval in seconds between compaction runs86400Minimum: 0
Optional: {}

MilvusCacheConfig

MilvusCacheConfig defines Milvus cache backend configuration. Configure these settings when using Milvus as the semantic cache backend.

Appears in:

FieldDescriptionDefaultValidation
connection MilvusCacheConnectionConnection settings for Milvus serverOptional: {}
collection MilvusCacheCollectionCollection settings for MilvusOptional: {}
search MilvusCacheSearchSearch settings for Milvus queriesOptional: {}
performance MilvusCachePerformancePerformance tuning for MilvusOptional: {}
data_management MilvusCacheDataManagementDataManagement settings for TTL and compactionOptional: {}
development MilvusCacheDevelopmentDevelopment settings for Milvus cacheOptional: {}

MilvusCacheConnection

MilvusCacheConnection defines Milvus connection parameters.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the Milvus server hostname or IP addressOptional: {}
port integerPort is the Milvus server port19530Maximum: 65535
Minimum: 1
Optional: {}
database stringDatabase name in Milvussemantic_router_cacheOptional: {}
timeout integerTimeout for Milvus operations in seconds30Minimum: 0
Optional: {}
auth MilvusCacheAuthAuth configuration for Milvus authenticationOptional: {}
tls MilvusCacheTLSTLS configuration for secure Milvus connectionsOptional: {}

MilvusCacheConnectionPool

MilvusCacheConnectionPool defines connection pool settings.

Appears in:

FieldDescriptionDefaultValidation
max_connections integerMaxConnections in the pool10Minimum: 1
Optional: {}
max_idle_connections integerMaxIdleConnections to keep5Minimum: 0
Optional: {}
acquire_timeout integerAcquireTimeout in seconds30Minimum: 0
Optional: {}

MilvusCacheDataManagement

MilvusCacheDataManagement defines data lifecycle settings.

Appears in:

FieldDescriptionDefaultValidation
ttl MilvusCacheTTLTTL settings for automatic expirationOptional: {}
compaction MilvusCacheCompactionCompaction settingsOptional: {}

MilvusCacheDevelopment

MilvusCacheDevelopment defines development-mode settings.

Appears in:

FieldDescriptionDefaultValidation
drop_collection_on_startup booleanDropCollectionOnStartup clears the collection when router starts (for testing)falseOptional: {}
auto_create_collection booleanAutoCreateCollection automatically creates the collection if it doesn't existtrueOptional: {}
verbose_errors booleanVerboseErrors includes detailed error messages in logstrueOptional: {}

MilvusCacheIndexParams

MilvusCacheIndexParams defines index parameters.

Appears in:

FieldDescriptionDefaultValidation
M integerM is the number of bi-directional links for HNSW16Minimum: 2
Optional: {}
efConstruction integerEfConstruction for HNSW index building64Minimum: 1
Optional: {}

MilvusCachePerformance

MilvusCachePerformance defines performance tuning.

Appears in:

FieldDescriptionDefaultValidation
connection_pool MilvusCacheConnectionPoolConnectionPool settingsOptional: {}
batch MilvusCacheBatchBatch settings for operationsOptional: {}

MilvusCacheSearch

MilvusCacheSearch defines Milvus search parameters.

Appears in:

FieldDescriptionDefaultValidation
params MilvusCacheSearchParamsParams for search operationsOptional: {}
topk integerTopK is the number of results to return10Minimum: 1
Optional: {}
consistency_level stringConsistencyLevel for search operations
Options: "Strong", "Session", "Bounded", "Eventually"
SessionEnum: [Strong Session Bounded Eventually]
Optional: {}

MilvusCacheSearchParams

MilvusCacheSearchParams defines search-time parameters.

Appears in:

FieldDescriptionDefaultValidation
ef integerEf is the search-time HNSW parameter64Minimum: 1
Optional: {}

MilvusCacheTLS

MilvusCacheTLS defines TLS settings for Milvus connections.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether to use TLSfalseOptional: {}
cert_file stringCertFile is the path to client certificate fileOptional: {}
key_file stringKeyFile is the path to client key fileOptional: {}
ca_file stringCAFile is the path to CA certificate fileOptional: {}

MilvusCacheTTL

MilvusCacheTTL defines time-to-live settings.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether TTL is activefalseOptional: {}
timestamp_field stringTimestampField is the field used for TTL calculationcreated_atOptional: {}
cleanup_interval integerCleanupInterval in seconds between cleanup runs3600Minimum: 0
Optional: {}

MilvusCacheVectorField

MilvusCacheVectorField defines vector field configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the vector fieldembeddingOptional: {}
dimension integerDimension of the embedding vectorsMinimum: 1
Optional: {}
metric_type stringMetricType for vector similarity
Options: "IP" (inner product), "L2", "COSINE"
IPEnum: [IP L2 COSINE]
Optional: {}

ModelRefConfig

ModelRefConfig defines a model reference for routing

Appears in:

FieldDescriptionDefaultValidation
model stringModel name to route to
lora_name stringLoRAName is the optional LoRA adapter nameOptional: {}
use_reasoning booleanUseReasoning enables reasoning mode for this modelOptional: {}
reasoning_effort stringReasoningEffort specifies the reasoning effort level (low, medium, high)Optional: {}

ObservabilityConfig

ObservabilityConfig defines observability configuration

Appears in:

FieldDescriptionDefaultValidation
tracing TracingConfigOptional: {}

OpenShiftFeaturesStatus

OpenShiftFeaturesStatus tracks OpenShift-specific feature status

Appears in:

FieldDescriptionDefaultValidation
routesEnabled booleanRoutesEnabled indicates if OpenShift Routes are enabled
routeHostname stringRouteHostname is the hostname of the created RouteOptional: {}

OpenShiftSpec

OpenShiftSpec defines OpenShift-specific configuration

Appears in:

FieldDescriptionDefaultValidation
routes RouteConfigRoutes configuration for OpenShift RoutesOptional: {}

PIIModelConfig

PIIModelConfig defines PII model configuration

Appears in:

FieldDescriptionDefaultValidation
model_id stringOptional: {}
use_modernbert booleanOptional: {}
threshold stringDetection threshold (0.0-1.0). Stored as string to avoid float precision issues.Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
use_cpu booleanOptional: {}
pii_mapping_path stringOptional: {}

PersistenceSpec

PersistenceSpec defines persistence configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates if persistence is enabledtrueOptional: {}
storageClassName stringStorageClassName is the storage class namestandardOptional: {}
accessMode PersistentVolumeAccessModeAccessMode is the access modeReadWriteOnceOptional: {}
size stringSize is the storage size10GiOptional: {}
existingClaim stringExistingClaim is an existing PVC to useOptional: {}
annotations object (keys:string, values:string)Annotations for the PVCOptional: {}

PortSpec

PortSpec defines a service port configuration

Appears in:

FieldDescriptionDefaultValidation
port integerPort is the service portMaximum: 65535
Minimum: 1
Optional: {}
targetPort integerTargetPort is the container portMaximum: 65535
Minimum: 1
Optional: {}
protocol ProtocolProtocol is the port protocolTCPOptional: {}

ProbeSpec

ProbeSpec defines probe configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates if the probe is enabledtrueOptional: {}
initialDelaySeconds integerInitialDelaySeconds before probe startsOptional: {}
periodSeconds integerPeriodSeconds between probesOptional: {}
timeoutSeconds integerTimeoutSeconds for probeOptional: {}
failureThreshold integerFailureThreshold for probeOptional: {}

PromptGuardConfig

PromptGuardConfig defines prompt guard configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleantrueOptional: {}
variant stringVariant selects a local Candle-backed model variant. It is mutually
exclusive with Protocol. When both fields are omitted, the operator uses
mmbert32k.
Enum: [candle mmbert32k]
Optional: {}
protocol stringProtocol selects a remote HTTP backend's wire contract. Mutually
exclusive with Variant. Requires an external model configured via a
vllmEndpoints/externalModels entry with model_role="guardrail".
Enum: [http_chat http_classify]
Optional: {}
model_id stringmodels/mmbert32k-jailbreak-detector-mergedOptional: {}
threshold stringJailbreak detection threshold (0.0-1.0). Stored as string to avoid float precision issues.0.7Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
use_cpu booleantrueOptional: {}
jailbreak_mapping_path stringOptional: {}
positive_labels string arrayPositiveLabels lists the jailbreak_mapping labels that count as unsafe,
for a custom backend whose positive class isn't named "jailbreak"
(e.g. "INJECTION", "malicious"). Defaults to ["jailbreak"] when unset.
Optional: {}

QdrantCacheConfig

QdrantCacheConfig defines Qdrant cache backend configuration. Configure these settings when using Qdrant as the semantic cache backend.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the Qdrant server hostname or IP addressOptional: {}
port integerPort is the Qdrant gRPC port6334Maximum: 65535
Minimum: 1
Optional: {}
api_key stringAPIKey for Qdrant authenticationOptional: {}
use_tls booleanUseTLS enables TLS for the Qdrant connectionfalseOptional: {}
collection_name stringCollectionName is the Qdrant collection to use for semantic cachesemantic_cacheOptional: {}
connect_timeout integerConnectTimeout is the timeout in seconds for Qdrant connection10Optional: {}

ReasoningFamily

ReasoningFamily defines reasoning family configuration

Appears in:

FieldDescriptionDefaultValidation
type stringOptional: {}
parameter stringOptional: {}

RedisCacheConfig

RedisCacheConfig defines Redis cache backend configuration. Configure these settings when using Redis as the semantic cache backend.

Appears in:

FieldDescriptionDefaultValidation
connection RedisCacheConnectionConnection settings for Redis serverOptional: {}
index RedisCacheIndexIndex settings for Redis vector searchOptional: {}
search RedisCacheSearchSearch settings for Redis queriesOptional: {}
development RedisCacheDevelopmentDevelopment settings for Redis cacheOptional: {}

RedisCacheConnection

RedisCacheConnection defines Redis connection parameters.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the Redis server hostname or IP address
Example: "redis.default.svc.cluster.local"
Optional: {}
port integerPort is the Redis server port6379Maximum: 65535
Minimum: 1
Optional: {}
database integerDatabase is the Redis database number to use0Minimum: 0
Optional: {}
password stringPassword for Redis authentication (plaintext - consider using PasswordSecretRef instead)Optional: {}
password_secret_ref SecretKeySelectorPasswordSecretRef references a Secret containing the Redis password
Preferred over plaintext Password field for security
Optional: {}
timeout integerTimeout for Redis operations in seconds30Minimum: 0
Optional: {}
tls RedisCacheTLSTLS configuration for secure Redis connectionsOptional: {}

RedisCacheDevelopment

RedisCacheDevelopment defines development-mode settings.

Appears in:

FieldDescriptionDefaultValidation
drop_index_on_startup booleanDropIndexOnStartup clears the index when router starts (for testing)falseOptional: {}
auto_create_index booleanAutoCreateIndex automatically creates the index if it doesn't existtrueOptional: {}
verbose_errors booleanVerboseErrors includes detailed error messages in logstrueOptional: {}

RedisCacheIndex

RedisCacheIndex defines Redis vector index configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Redis indexsemantic_cache_idxOptional: {}
prefix stringPrefix for Redis keysdoc:Optional: {}
vector_field RedisCacheVectorFieldVectorField configuration for embeddingsOptional: {}
index_type stringIndexType specifies the index algorithm
Options: "HNSW" (recommended), "FLAT"
HNSWEnum: [HNSW FLAT]
Optional: {}
params RedisCacheIndexParamsParams for HNSW indexOptional: {}

RedisCacheIndexParams

RedisCacheIndexParams defines HNSW index parameters.

Appears in:

FieldDescriptionDefaultValidation
M integerM is the number of bi-directional links per node
Higher values = better recall, more memory
16Minimum: 2
Optional: {}
efConstruction integerEfConstruction is the size of dynamic candidate list during construction
Higher values = better quality, slower indexing
64Minimum: 1
Optional: {}

RedisCacheSearch

RedisCacheSearch defines Redis search parameters.

Appears in:

FieldDescriptionDefaultValidation
topk integerTopK is the number of results to return from vector search1Minimum: 1
Optional: {}

RedisCacheTLS

RedisCacheTLS defines TLS settings for Redis connections.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether to use TLS for Redis connectionfalseOptional: {}
cert_file stringCertFile is the path to client certificate fileOptional: {}
key_file stringKeyFile is the path to client key fileOptional: {}
ca_file stringCAFile is the path to CA certificate fileOptional: {}

RedisCacheVectorField

RedisCacheVectorField defines vector field configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the vector fieldembeddingOptional: {}
dimension integerDimension of the embedding vectors
For BERT: 384, for Qwen3: 1024, for Gemma: 768
Minimum: 1
Optional: {}
metric_type stringMetricType for vector similarity
Options: "COSINE", "IP" (inner product), "L2" (Euclidean)
COSINEEnum: [COSINE IP L2]
Optional: {}

ResourceConfig

ResourceConfig defines resource configuration for tracing

Appears in:

FieldDescriptionDefaultValidation
service_name stringvllm-semantic-routerOptional: {}
service_version stringv0.1.0Optional: {}
deployment_environment stringdevelopmentOptional: {}

RouteConfig

RouteConfig defines OpenShift Route configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled specifies whether to create an OpenShift RoutefalseOptional: {}
hostname stringHostname for the Route (optional - OpenShift generates if empty)Optional: {}
tls RouteTLSConfigTLS configuration for the RouteOptional: {}

RouteTLSConfig

RouteTLSConfig defines TLS configuration for OpenShift Routes

Appears in:

FieldDescriptionDefaultValidation
termination stringTermination type (edge, passthrough, reencrypt)edgeEnum: [edge passthrough reencrypt]
Optional: {}
insecureEdgeTerminationPolicy stringInsecureEdgeTerminationPolicy for HTTP trafficRedirectEnum: [Allow Redirect None]
Optional: {}

RuleCombinationConfig

RuleCombinationConfig defines how to combine multiple rule conditions

Appears in:

FieldDescriptionDefaultValidation
operator stringOperator specifies how to combine conditions: "AND", "OR", or "NOT". NOT is strictly unary: it takes
exactly one child condition and negates its result. Compose NOR/NAND by nesting NOT around OR/AND.
Enum: [AND OR NOT]
conditions RuleConditionConfig arrayConditions is the list of rule references to evaluate

RuleComposition

RuleComposition defines how to compose/filter rules based on other signals

Appears in:

FieldDescriptionDefaultValidation
operator stringOperator for combining conditions (AND, OR, NOT). NOT is strictly unary and negates its single child.Enum: [AND OR NOT]
conditions CompositionCondition arrayList of conditions that must be met

RuleConditionConfig

RuleConditionConfig references a specific rule by type and name

Appears in:

FieldDescriptionDefaultValidation
type stringType specifies the signal or projection type referenced by this condition.Enum: [keyword embedding domain fact_check user_feedback reask preference language context structure complexity modality authz jailbreak pii kb conversation event projection]
name stringName is the name of the rule to reference

SamplingConfig

SamplingConfig defines sampling configuration

Appears in:

FieldDescriptionDefaultValidation
type stringalways_onOptional: {}
rate stringSampling rate (0.0-1.0). Stored as string to avoid float precision issues.1.0Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}

SemanticCacheConfig

SemanticCacheConfig defines semantic cache configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether semantic caching is activetrueOptional: {}
backend_type stringBackendType specifies the cache backend to use
Options: "memory" (default), "redis", "valkey", "milvus", "qdrant", "hybrid"
memoryEnum: [memory redis valkey milvus qdrant hybrid]
Optional: {}
similarity_threshold stringSimilarity threshold for cache hits (0.0-1.0). Stored as string to avoid float precision issues.0.8Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
max_entries integerMaxEntries is the maximum number of cache entries (for memory/hybrid backends)1000Optional: {}
ttl_seconds integerTTLSeconds is the time-to-live for cache entries in seconds3600Optional: {}
eviction_policy stringEvictionPolicy for in-memory cache ("fifo", "lru", "lfu")fifoEnum: [fifo lru lfu]
Optional: {}
redis RedisCacheConfigRedis configuration (required when backend_type is "redis")Optional: {}
valkey ValkeyCacheConfigValkey configuration (required when backend_type is "valkey")Optional: {}
milvus MilvusCacheConfigMilvus configuration (required when backend_type is "milvus")Optional: {}
qdrant QdrantCacheConfigQdrant configuration (required when backend_type is "qdrant")Optional: {}
embedding_model stringEmbeddingModel specifies which embedding model to use for semantic similarity
Options: "mmbert" (default), "bert", "qwen3", "gemma"
mmbertEnum: [bert qwen3 gemma mmbert]
Optional: {}
hnsw HNSWCacheConfigHNSW configuration for hybrid/in-memory backendsOptional: {}

SemanticRouter

SemanticRouter is the Schema for the semanticrouters API

Appears in:

FieldDescriptionDefaultValidation
apiVersion stringvllm.ai/v1alpha1
kind stringSemanticRouter
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SemanticRouterSpec
status SemanticRouterStatus

SemanticRouterList

SemanticRouterList contains a list of SemanticRouter

FieldDescriptionDefaultValidation
apiVersion stringvllm.ai/v1alpha1
kind stringSemanticRouterList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items SemanticRouter array

SemanticRouterSpec

SemanticRouterSpec defines the desired state of SemanticRouter

Appears in:

FieldDescriptionDefaultValidation
image ImageSpecImage configurationOptional: {}
replicas integerNumber of replicas1Minimum: 0
Optional: {}
imagePullSecrets LocalObjectReference arrayImagePullSecrets for private registriesOptional: {}
serviceAccount ServiceAccountSpecServiceAccount configurationOptional: {}
service ServiceSpecService configurationOptional: {}
resources ResourceRequirementsResource requirementsOptional: {}
persistence PersistenceSpecPersistence configurationOptional: {}
config ConfigSpecConfiguration overrides merged into the canonical v0.3 config.yaml.
Router-wide runtime overrides land under config.global.router/services/stores/
integrations/model_catalog, with model-backed modules nested under
config.global.model_catalog.modules. Provider defaults land under
config.providers.defaults.
Optional: {}
toolsDb ToolEntry arrayTools database configurationOptional: {}
vllmEndpoints VLLMEndpointSpec arrayVLLMEndpoints is a Kubernetes-native backend discovery adapter.
It generates canonical config.providers.models[].backend_refs
and config.routing.modelCards entries.
Optional: {}
autoscaling AutoscalingSpecAutoscaling configurationOptional: {}
startupProbe ProbeSpecProbes configurationOptional: {}
livenessProbe ProbeSpecOptional: {}
readinessProbe ProbeSpecOptional: {}
securityContext SecurityContextSecurity contextOptional: {}
podSecurityContext PodSecurityContextPod security contextOptional: {}
podAnnotations object (keys:string, values:string)Pod annotationsOptional: {}
nodeSelector object (keys:string, values:string)Node selectorOptional: {}
tolerations Toleration arrayTolerationsOptional: {}
affinity AffinityAffinityOptional: {}
env EnvVar arrayEnvironment variablesOptional: {}
args string arrayContainer argumentsOptional: {}
gateway GatewaySpecGateway integration for reusing existing gatewaysOptional: {}
openshift OpenShiftSpecOpenShift-specific featuresOptional: {}
ingress IngressSpecIngress configurationOptional: {}

SemanticRouterStatus

SemanticRouterStatus defines the observed state of SemanticRouter

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions represent the latest available observations of the SemanticRouter's stateOptional: {}
observedGeneration integerObservedGeneration reflects the generation of the most recently observed SemanticRouterOptional: {}
replicas integerReplicas is the current number of replicasOptional: {}
readyReplicas integerReadyReplicas is the number of ready replicasOptional: {}
phase stringPhase represents the current phase of the SemanticRouterOptional: {}
gatewayMode stringGatewayMode indicates deployment mode: standalone or gateway-integrationOptional: {}
openshiftFeatures OpenShiftFeaturesStatusOpenShiftFeatures tracks OpenShift-specific feature statusOptional: {}

ServiceAccountSpec

ServiceAccountSpec defines service account configuration

Appears in:

FieldDescriptionDefaultValidation
create booleanCreate specifies whether to create a service accounttrueOptional: {}
name stringName of the service account to useOptional: {}
annotations object (keys:string, values:string)Annotations for the service accountOptional: {}

ServiceBackend

ServiceBackend defines a direct Kubernetes service backend

Appears in:

FieldDescriptionDefaultValidation
name stringService nameMinLength: 1
namespace stringService namespace (defaults to same namespace)Optional: {}
port integerService portMinimum: 1

ServiceSpec

ServiceSpec defines the service configuration

Appears in:

FieldDescriptionDefaultValidation
type ServiceTypeType is the service typeClusterIPEnum: [ClusterIP NodePort LoadBalancer]
Optional: {}
grpc PortSpecGRPC port configurationOptional: {}
api PortSpecAPI port configurationOptional: {}
metrics MetricsPortSpecMetrics port configurationOptional: {}

Tool

Tool defines a tool function

Appears in:

FieldDescriptionDefaultValidation
type stringEnum: [function]
Optional: {}
function ToolFunctionOptional: {}

ToolEntry

ToolEntry defines a tool entry in the tools database

Appears in:

FieldDescriptionDefaultValidation
tool ToolOptional: {}
description stringOptional: {}
category stringOptional: {}
tags string arrayOptional: {}

ToolFunction

ToolFunction defines a tool function details

Appears in:

FieldDescriptionDefaultValidation
name stringOptional: {}
description stringOptional: {}
parameters ToolParametersOptional: {}

ToolParameters

ToolParameters defines tool function parameters

Appears in:

FieldDescriptionDefaultValidation
type stringOptional: {}
properties JSONType: object
Optional: {}
required string arrayOptional: {}

ToolsConfig

ToolsConfig defines tools configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleantrueOptional: {}
top_k integer3Optional: {}
similarity_threshold stringSimilarity threshold for tool selection (0.0-1.0). Stored as string to avoid float precision issues.0.2Pattern: ^0(\.[0-9]+)?$|^1(\.0+)?$
Optional: {}
tools_db_path stringconfig/tools_db.jsonOptional: {}
fallback_to_empty booleantrueOptional: {}

TracingConfig

TracingConfig defines tracing configuration

Appears in:

FieldDescriptionDefaultValidation
enabled booleanfalseOptional: {}
provider stringopentelemetryOptional: {}
exporter ExporterConfigOptional: {}
sampling SamplingConfigOptional: {}
resource ResourceConfigOptional: {}

VLLMBackend

VLLMBackend specifies how to reach the vLLM service

Appears in:

FieldDescriptionDefaultValidation
type stringType of backend: kserve, llamastack, or serviceEnum: [kserve llamastack service]
inferenceServiceName stringFor type=kserve: InferenceService name for auto-discoveryOptional: {}
discoveryLabels object (keys:string, values:string)For type=llamastack: Labels to match servicesOptional: {}
service ServiceBackendFor type=service: Direct service configurationOptional: {}

VLLMEndpointSpec

VLLMEndpointSpec defines a vLLM model backend endpoint

Appears in:

FieldDescriptionDefaultValidation
name stringName of the backend ref generated under config.providers.models[].backend_refsMinLength: 1
model stringModel name as reported by vLLM (e.g., "Model-A", "llama3-8b")MinLength: 1
reasoningFamily stringReasoning family for the model (e.g., "qwen3", "deepseek", "gpt")Optional: {}
loras LoRAAdapterSpec arrayLoRAs declares the LoRA adapters exposed for this logical model in routing.modelCards.MaxItems: 50
Optional: {}
backend VLLMBackendBackend configuration
weight integerWeight for load balancing (default: 1)1Optional: {}

ValkeyCacheConfig

ValkeyCacheConfig defines Valkey cache backend configuration. Configure these settings when using Valkey as the semantic cache backend.

Appears in:

FieldDescriptionDefaultValidation
connection ValkeyCacheConnectionConnection settings for Valkey serverOptional: {}
index ValkeyCacheIndexIndex settings for Valkey vector searchOptional: {}
search ValkeyCacheSearchSearch settings for Valkey queriesOptional: {}
development ValkeyCacheDevelopmentDevelopment settings for Valkey cacheOptional: {}

ValkeyCacheConnection

ValkeyCacheConnection defines Valkey connection parameters.

Appears in:

FieldDescriptionDefaultValidation
host stringHost is the Valkey server hostname or IP address
Example: "valkey.default.svc.cluster.local"
Optional: {}
port integerPort is the Valkey server port6379Maximum: 65535
Minimum: 1
Optional: {}
database integerDatabase is the Valkey database number to use0Minimum: 0
Optional: {}
password stringPassword for Valkey authentication (plaintext - consider using PasswordSecretRef instead)Optional: {}
password_secret_ref SecretKeySelectorPasswordSecretRef references a Secret containing the Valkey password
Preferred over plaintext Password field for security
Optional: {}
timeout integerTimeout for Valkey operations in seconds30Minimum: 0
Optional: {}
tls ValkeyCacheTLSTLS configuration for secure Valkey connectionsOptional: {}

ValkeyCacheDevelopment

ValkeyCacheDevelopment defines development-mode settings.

Appears in:

FieldDescriptionDefaultValidation
drop_index_on_startup booleanDropIndexOnStartup clears the index when router starts (for testing)falseOptional: {}
auto_create_index booleanAutoCreateIndex automatically creates the index if it doesn't existtrueOptional: {}
verbose_errors booleanVerboseErrors includes detailed error messages in logstrueOptional: {}

ValkeyCacheIndex

ValkeyCacheIndex defines Valkey vector index configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the Valkey indexsemantic_cache_idxOptional: {}
prefix stringPrefix for Valkey keysdoc:Optional: {}
vector_field ValkeyCacheVectorFieldVectorField configuration for embeddingsOptional: {}
index_type stringIndexType specifies the index algorithm
Options: "HNSW" (recommended), "FLAT"
HNSWEnum: [HNSW FLAT]
Optional: {}
params ValkeyCacheIndexParamsParams for HNSW indexOptional: {}

ValkeyCacheIndexParams

ValkeyCacheIndexParams defines HNSW index parameters.

Appears in:

FieldDescriptionDefaultValidation
M integerM is the number of bi-directional links per node
Higher values = better recall, more memory
16Minimum: 2
Optional: {}
efConstruction integerEfConstruction is the size of dynamic candidate list during construction
Higher values = better quality, slower indexing
64Minimum: 1
Optional: {}

ValkeyCacheSearch

ValkeyCacheSearch defines Valkey search parameters.

Appears in:

FieldDescriptionDefaultValidation
topk integerTopK is the number of results to return from vector search1Minimum: 1
Optional: {}

ValkeyCacheTLS

ValkeyCacheTLS defines TLS settings for Valkey connections.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled controls whether to use TLS for Valkey connectionfalseOptional: {}
cert_file stringCertFile is the path to client certificate fileOptional: {}
key_file stringKeyFile is the path to client key fileOptional: {}
ca_file stringCAFile is the path to CA certificate fileOptional: {}

ValkeyCacheVectorField

ValkeyCacheVectorField defines vector field configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the vector fieldembeddingOptional: {}
dimension integerDimension of the embedding vectors
For BERT: 384, for Qwen3: 1024, for Gemma: 768
Minimum: 1
Optional: {}
metric_type stringMetricType for vector similarity
Options: "COSINE", "IP" (inner product), "L2" (Euclidean)
COSINEEnum: [COSINE IP L2]
Optional: {}