Skip to main content

Custom Resource Definitions

Generated by routedctl crd docs from crates/api; do not edit by hand.

API group routed.io, version v1alpha1. All kinds are namespaced.

ModelTier

Plural modeltiers, short names mt.

FieldTypeDescription
spec.capabilities?[]chat / tools / json / vision / audio / embeddings / reasoningCapabilities this tier offers.
spec.contextWindowinteger (uint64)Maximum context window in tokens.
spec.costobjectPrices.
spec.cost.currency?EUR / USDCurrency of both prices.
spec.cost.inputPerMillionnumber (double)Input price per million tokens.
spec.cost.outputPerMillionnumber (double)Output price per million tokens.
spec.gatewayModelstringExact model name the gateway expects in the model field.
spec.labels?mapFree-form selector labels matched by RoutingPolicy.spec.candidates.tierSelector.
spec.latency?objectLatency priors.
spec.latency?.p50Ms?integer (uint64)Median latency.
spec.latency?.p95Ms?integer (uint64)95th percentile latency.
spec.provider?stringInformational provider name.
spec.quality?objectQuality priors.
spec.quality?.baselinenumber (double)Generic quality prior.
spec.quality?.byTask?mapPer-task overrides keyed by task label.
spec.security?objectSecurity limits.
spec.security?.maxRiskScore?number (double)Highest injection / risk score this tier may receive (0..=1).
spec.security?.toolCallingAllowed?booleanWhether requests containing tools may be routed here.
spec.sovereigntyobjectSovereignty attributes used by data-class constraints.
spec.sovereignty.allowedDataClasses?[]stringData classes (by DataClass name) this tier may receive.
spec.sovereignty.cloudActExposed?booleanWhether the operator is subject to the US CLOUD Act.
spec.sovereignty.dataResidency?stringFree-form region label (for example eu-de).
spec.sovereignty.jurisdictionEU / US / OTHERLegal jurisdiction.
spec.sovereignty.operatorControleu-entity / us-entity / on-premWho operates the endpoint.
status.conditions?[]objectStandard Kubernetes conditions (Ready, Compiled, ReferencesResolved).
status.conditions?[]objectCondition contains details for one aspect of the current state of this API Resource.
status.conditions?[].lastTransitionTimestring (date-time)lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
status.conditions?[].messagestringmessage is a human readable message indicating details about the transition. This may be an empty string.
status.conditions?[].observedGeneration?integer (int64)observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
status.conditions?[].reasonstringreason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
status.conditions?[].statusstringstatus of the condition, one of True, False, Unknown.
status.conditions?[].typestringtype of condition in CamelCase or in foo.example.com/CamelCase.
status.observedGeneration?integer (int64)Generation last processed by the operator.

DataClass

Plural dataclasses, short names dc.

FieldTypeDescription
spec.constraints?objectConstraints imposed on candidate tiers when this class applies.
spec.constraints?.forbidCapabilities?[]chat / tools / json / vision / audio / embeddings / reasoningTiers offering any of these capabilities are eliminated.
spec.constraints?.forbidCloudActExposed?booleanTiers exposed to the CLOUD Act are eliminated.
spec.constraints?.maxRetentionDays?integer (uint32)Informational retention limit for gateway / downstream.
spec.constraints?.requireJurisdiction?[]EU / US / OTHERTier jurisdiction must be one of these (empty = any).
spec.constraints?.requireOperatorControl?[]eu-entity / us-entity / on-premTier operator control must be one of these (empty = any).
spec.description?stringHuman description.
spec.detection?objectHow requests are mapped to this class.
spec.detection?.headerValues?[]stringValues of X-Routed-Data-Class that map to this class.
spec.detection?.minConfidence?number (double)Minimum detector confidence for inference.
spec.detection?.piiEntities?[]PERSON / EMAIL / PHONE / IBAN / NATIONAL_ID / HEALTH / CREDIT_CARD / ADDRESSPII entities whose presence infers this class.
spec.rankinteger (uint32)Sensitivity rank; higher is more sensitive.
status.conditions?[]objectStandard Kubernetes conditions (Ready, Compiled, ReferencesResolved).
status.conditions?[]objectCondition contains details for one aspect of the current state of this API Resource.
status.conditions?[].lastTransitionTimestring (date-time)lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
status.conditions?[].messagestringmessage is a human readable message indicating details about the transition. This may be an empty string.
status.conditions?[].observedGeneration?integer (int64)observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
status.conditions?[].reasonstringreason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
status.conditions?[].statusstringstatus of the condition, one of True, False, Unknown.
status.conditions?[].typestringtype of condition in CamelCase or in foo.example.com/CamelCase.
status.observedGeneration?integer (int64)Generation last processed by the operator.

RoutingPolicy

Plural routingpolicies, short names rp.

FieldTypeDescription
spec.candidates?objectCandidate tier selection.
spec.candidates?.exclude?[]stringTier names to exclude.
spec.candidates?.include?[]stringExplicit tier names to include.
spec.candidates?.tierSelector?objectLabel selector over ModelTier.spec.labels.
spec.candidates?.tierSelector?.matchLabels?mapAll labels must match.
spec.explain?booleanEmit the explanation header.
spec.fallbackDecision?objectDecision applied when classification fails or no candidate survives.
spec.fallbackDecision?.tier?stringTier used when classification fails or times out, if it satisfies the data class.
spec.hardConstraints?objectConstraints that eliminate candidates (never weights).
spec.hardConstraints?.denyIfRiskScoreAbove?number (double)Block the request entirely above this risk score.
spec.hardConstraints?.maxCostPerRequestEUR?number (double)Maximum estimated cost per request in EUR.
spec.hardConstraints?.requireCapabilities?[]chat / tools / json / vision / audio / embeddings / reasoningCapabilities every candidate must offer.
spec.hardConstraints?.respectDataClass?booleanApply DataClass constraints.
spec.learnedRouter?objectLearned router settings.
spec.learnedRouter?.enabled?booleanUse the learned router for quality prediction.
spec.learnedRouter?.minConfidence?number (double)Below this confidence, fall back to heuristic ranking.
spec.learnedRouter?.profile?stringRouterProfile name.
spec.match?objectScope of the policy.
spec.match?.agents?[]stringAgents from X-Routed-Agent.
spec.match?.modelAliases?[]stringRequested model aliases that trigger routing; anything else passes through.
spec.match?.paths?[]stringRequest paths.
spec.match?.tenants?[]stringTenants from X-Routed-Tenant.
spec.objective?objectOptimisation objective over surviving candidates.
spec.objective?.mode?cost-first-with-quality-floor / quality-first / balanced / latency-firstMode.
spec.objective?.qualityFloor?number (double)Minimum predicted quality for the task.
spec.objective?.weights?objectExplicit weights; defaults depend on mode.
spec.objective?.weights?.costnumber (double)Cost weight.
spec.objective?.weights?.latencynumber (double)Latency weight.
spec.objective?.weights?.qualitynumber (double)Quality weight.
spec.overridable?booleanAllow callers to select this policy with X-Routed-Policy when it matches the request but a higher-priority policy would otherwise win. Off by default so an untrusted header can never move a request to a looser policy (ADR-0007).
spec.priority?integer (int32)Higher wins when several policies match.
spec.reasoningBudget?objectReasoning budget per complexity.
spec.reasoningBudget?.enabled?booleanSet reasoning parameters per complexity.
spec.reasoningBudget?.map?mapComplexity to reasoning level.
status.compiledHash?stringHash of the snapshot this policy was last compiled into.
status.conditions?[]objectStandard conditions.
status.conditions?[]objectCondition contains details for one aspect of the current state of this API Resource.
status.conditions?[].lastTransitionTimestring (date-time)lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
status.conditions?[].messagestringmessage is a human readable message indicating details about the transition. This may be an empty string.
status.conditions?[].observedGeneration?integer (int64)observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
status.conditions?[].reasonstringreason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
status.conditions?[].statusstringstatus of the condition, one of True, False, Unknown.
status.conditions?[].typestringtype of condition in CamelCase or in foo.example.com/CamelCase.
status.observedGeneration?integer (int64)Generation last processed by the operator.

RouterProfile

Plural routerprofiles, short names rprof.

FieldTypeDescription
spec.classifier?objectMulti-task classifier (task, complexity, sensitivity).
spec.classifier?.labels?objectLabel vocabularies.
spec.classifier?.labels?.complexity?[]stringComplexity labels.
spec.classifier?.labels?.sensitivity?[]stringSensitivity labels (match DataClass names).
spec.classifier?.labels?.task?[]stringTask labels (match ModelTier.spec.quality.byTask keys).
spec.classifier?.timeoutMs?integer (uint64)Per-call timeout in milliseconds.
spec.classifier?.tokenizerUri?stringTokenizer artifact (a Hugging Face tokenizer.json, same URI forms) required by type: onnx (ADR-0016).
spec.classifier?.type?onnx / http / heuristic / stubImplementation type.
spec.classifier?.uri?stringArtifact location (oci://...@sha256:..., https://...@sha256:... or file://..., ADR-0016/0019) or HTTP endpoint for type: http.
spec.costModel?objectCost model parameters.
spec.costModel?.defaultOutputTokens?integer (uint64)Output tokens assumed when the request does not set max_tokens.
spec.costModel?.fxToEUR?mapConversion rates to EUR keyed by currency code (for example USD: 0.92).
spec.embedder?objectEmbedding model.
spec.embedder?.dimensionsinteger (uint32)Embedding dimensions.
spec.embedder?.type?onnx / http / heuristic / stubImplementation type.
spec.embedder?.uri?stringArtifact location.
spec.learnedRouter?objectLearned router model and calibration.
spec.learnedRouter?.calibration?mapQuality floor (as string key) to probability threshold, produced by the trainer.
spec.learnedRouter?.type?onnx / http / heuristic / stubImplementation type.
spec.learnedRouter?.uri?stringArtifact location.
spec.security?objectSecurity models.
spec.security?.injectionDetector?objectInjection detector.
spec.security?.injectionDetector?.type?onnx / http / heuristic / stubImplementation type.
spec.security?.injectionDetector?.uri?stringArtifact location.
spec.security?.piiDetector?objectPII detector.
spec.security?.piiDetector?.type?onnx / http / heuristic / stubImplementation type.
spec.security?.piiDetector?.uri?stringArtifact location.
status.conditions?[]objectStandard Kubernetes conditions (Ready, Compiled, ReferencesResolved).
status.conditions?[]objectCondition contains details for one aspect of the current state of this API Resource.
status.conditions?[].lastTransitionTimestring (date-time)lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
status.conditions?[].messagestringmessage is a human readable message indicating details about the transition. This may be an empty string.
status.conditions?[].observedGeneration?integer (int64)observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
status.conditions?[].reasonstringreason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
status.conditions?[].statusstringstatus of the condition, one of True, False, Unknown.
status.conditions?[].typestringtype of condition in CamelCase or in foo.example.com/CamelCase.
status.observedGeneration?integer (int64)Generation last processed by the operator.