The module lifecycle stage: Experimental
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
ClusterModel
Scope: Cluster
Version: v1alpha1
-
objectspecClusterModelSpec declares the immutable source for one cluster-scoped model.
-
objectspec.source
Required value
-
objectspec.source.catalogCatalog imports a cluster model entry from a ModelCatalogSource.
-
stringspec.source.catalog.name
Required value
Name is the public catalog model name.Length:
1..253Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
stringspec.source.catalog.sourceNameSourceName selects a ModelCatalogSource. When omitted, the controller may use the only Ready ModelCatalogSource in the cluster.
Length:
1..253Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
stringspec.source.catalog.versionVersion selects a catalog version when the upstream exposes more than one active version for the same name.
Length:
1..128
-
-
objectspec.source.uploadUpload requests a controller-owned upload session for a local file or archive.
-
stringspec.source.urlURL points to a Hugging Face repository or an Ollama registry reference.
Minimal length:
1Pattern:
^https:\/\/(((www\.)?huggingface\.co|hf\.co)\/.+|(www\.)?ollama\.com\/library\/[^:\/?#]+(:[^\/?#]+)?([\/?#].*)?)$
-
-
-
objectstatusClusterModelStatus reports preparation state, artifact digest, and resolved model metadata for a cluster-scoped ClusterModel.
-
objectstatus.artifact
-
stringstatus.artifact.digestDigest is the digest of the prepared OCI artifact.
-
stringstatus.artifact.kindKind is the artifact location kind exposed by the public API.
Allowed values:
OCI -
stringstatus.artifact.mediaTypeMediaType is the OCI artifact media type.
-
integerstatus.artifact.sizeBytesSizeBytes is the prepared OCI artifact size.
Allowed values:
1 <= X
-
-
array of objectsstatus.conditions
-
stringstatus.conditions.lastTransitionTimelastTransitionTime 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.
-
stringstatus.conditions.messagemessage is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationobservedGeneration 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.
Allowed values:
0 <= X -
stringstatus.conditions.reasonreason 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.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusstatus of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typetype of condition in CamelCase or in foo.example.com/CamelCase.
Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
integerstatus.observedGenerationObservedGeneration is the latest metadata.generation reconciled by the controller.
-
stringstatus.phasePhase is the high-level model preparation lifecycle phase.
Allowed values:
Pending,WaitForUpload,Publishing,Ready,Failed,Deleting -
stringstatus.progressProgress reports bounded controller-computed completion percentage for model preparation flows when runtime progress is available.
-
objectstatus.resolved
-
stringstatus.resolved.architectureArchitecture is the model architecture when it is available.
-
integerstatus.resolved.contextWindowTokensContextWindowTokens is the context window size when it is available.
Allowed values:
1 <= X -
stringstatus.resolved.familyFamily is the model family inferred from source metadata.
-
stringstatus.resolved.formatFormat is the resolved input format.
Allowed values:
Safetensors,GGUF,Diffusers -
integerstatus.resolved.parameterCountParameterCount is the number of model parameters when it is available.
Allowed values:
1 <= X -
stringstatus.resolved.quantizationQuantization is the model quantization when it is available.
-
objectstatus.resolved.sourceCapabilitiesSourceCapabilities are provider-level capabilities discovered from source metadata.
-
array of stringsstatus.resolved.sourceCapabilities.featuresFeatures are provider-specific feature names.
-
stringstatus.resolved.sourceCapabilities.features.Element of the array
Length:
1..128
-
-
stringstatus.resolved.sourceCapabilities.providerProvider is the source provider that supplied the capabilities.
Allowed values:
HuggingFace,Ollama,Upload,Catalog -
array of stringsstatus.resolved.sourceCapabilities.tasksTasks are provider-specific task names.
-
stringstatus.resolved.sourceCapabilities.tasks.Element of the array
Length:
1..128
-
-
-
array of stringsstatus.resolved.supportedEndpointTypes
-
stringstatus.resolved.supportedEndpointTypes.Element of the array
Allowed values:
Chat,TextGeneration,Embeddings,Rerank,SpeechToText,TextToSpeech,Translation,ImageClassification,ObjectDetection,ImageSegmentation,ImageToText,VisualQuestionAnswering,ImageGeneration,VideoGeneration,AudioGeneration
-
-
array of stringsstatus.resolved.supportedFeatures
-
stringstatus.resolved.supportedFeatures.Element of the array
Allowed values:
VisionInput,AudioInput,AudioOutput,ImageOutput,VideoInput,VideoOutput,MultiModalInput,ToolCalling
-
-
-
objectstatus.source
-
objectstatus.source.catalogCatalog contains frozen external catalog provenance for catalog imports.
-
stringstatus.source.catalog.catalogRevisionCatalogRevision is the upstream catalog revision used for resolution.
-
stringstatus.source.catalog.nameName is the resolved public catalog model name.
Minimal length:
1 -
stringstatus.source.catalog.remoteDigestRemoteDigest is the pinned upstream OCI artifact digest.
-
stringstatus.source.catalog.sourceNameSourceName is the resolved ModelCatalogSource name.
Minimal length:
1 -
stringstatus.source.catalog.versionVersion is the resolved catalog version when one was selected.
-
-
stringstatus.source.resolvedRevisionResolvedRevision is the source revision, tag, or digest when the provider exposes one.
-
stringstatus.source.resolvedTypeResolvedType is the source provider detected by the controller.
Allowed values:
HuggingFace,Ollama,Upload,Catalog
-
-
objectstatus.upload
-
stringstatus.upload.expiresAtExpiresAt is the upload session expiration time.
-
stringstatus.upload.secretNameSecretName points to the Secret containing the upload URL and bearer token. The Secret key names are fixed by the controller contract and are not part of status.
Minimal length:
1 -
stringstatus.upload.secretNamespaceSecretNamespace is the namespace of the Secret containing the upload URL and bearer token.
Minimal length:
1
-
-
ModelCatalogSource
Scope: Cluster
Version: v1alpha1
-
objectspecModelCatalogSourceSpec declares an external ClusterModel catalog.
-
stringspec.caSecretNameCASecretName names an optional d8-system Secret with ca.crt.
Length:
1..253Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
stringspec.credentialsSecretName
Required value
CredentialsSecretName names a d8-system Secret used for the semantic catalog API and grant exchange. The controller reads this Secret directly and never copies it into workload namespaces.Length:
1..253Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
stringspec.refreshIntervalRefreshInterval controls how often the controller refreshes catalog metadata. The controller uses a safe default when omitted.
-
stringspec.url
Required value
URL is the HTTPS base URL of the remote catalog endpoint.Minimal length:
9Pattern:
^https:\/\/[^:\/?#@]+(:[0-9]+)?(\/[^?#]*)?$
-
-
objectstatusModelCatalogSourceStatus reports remote catalog health without embedding the remote inventory or secret material.
-
stringstatus.catalogRevisionCatalogRevision is the last successfully observed remote catalog revision.
-
array of objectsstatus.conditions
-
stringstatus.conditions.lastTransitionTimelastTransitionTime 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.
-
stringstatus.conditions.messagemessage is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationobservedGeneration 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.
Allowed values:
0 <= X -
stringstatus.conditions.reasonreason 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.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusstatus of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typetype of condition in CamelCase or in foo.example.com/CamelCase.
Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
integerstatus.entryCountEntryCount is the number of active entries in the last successful refresh.
Allowed values:
0 <= X -
stringstatus.lastSuccessfulRefreshTimeLastSuccessfulRefreshTime is the time of the last successful catalog refresh.
-
integerstatus.observedGenerationObservedGeneration is the latest metadata.generation reconciled by the controller.
-
Model
Scope: Namespaced
Version: v1alpha1
-
objectspecModelSpec declares the immutable source for one namespace-scoped model.
-
objectspec.source
Required value
-
objectspec.source.authSecretRefAuthSecretRef names a Secret from the same namespace as the Model. It is supported for private Hugging Face sources.
-
stringspec.source.authSecretRef.name
Required value
Name is the Secret name.Minimal length:
1
-
-
objectspec.source.catalogCatalog imports a model entry from a ModelCatalogSource.
-
stringspec.source.catalog.name
Required value
Name is the public catalog model name.Length:
1..253Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
stringspec.source.catalog.sourceNameSourceName selects a ModelCatalogSource. When omitted, the controller may use the only Ready ModelCatalogSource in the cluster.
Length:
1..253Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
stringspec.source.catalog.versionVersion selects a catalog version when the upstream exposes more than one active version for the same name.
Length:
1..128
-
-
objectspec.source.uploadUpload requests a controller-owned upload session for a local file or archive.
-
stringspec.source.urlURL points to a Hugging Face repository or an Ollama registry reference.
Minimal length:
1Pattern:
^https:\/\/(((www\.)?huggingface\.co|hf\.co)\/.+|(www\.)?ollama\.com\/library\/[^:\/?#]+(:[^\/?#]+)?([\/?#].*)?)$
-
-
-
objectstatusModelStatus reports preparation state, upload session details, artifact digest, and resolved model metadata for a namespaced Model.
-
objectstatus.artifact
-
stringstatus.artifact.digestDigest is the digest of the prepared OCI artifact.
-
stringstatus.artifact.kindKind is the artifact location kind exposed by the public API.
Allowed values:
OCI -
stringstatus.artifact.mediaTypeMediaType is the OCI artifact media type.
-
integerstatus.artifact.sizeBytesSizeBytes is the prepared OCI artifact size.
Allowed values:
1 <= X
-
-
array of objectsstatus.conditions
-
stringstatus.conditions.lastTransitionTimelastTransitionTime 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.
-
stringstatus.conditions.messagemessage is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationobservedGeneration 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.
Allowed values:
0 <= X -
stringstatus.conditions.reasonreason 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.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusstatus of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typetype of condition in CamelCase or in foo.example.com/CamelCase.
Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
integerstatus.observedGenerationObservedGeneration is the latest metadata.generation reconciled by the controller.
-
stringstatus.phasePhase is the high-level model preparation lifecycle phase.
Allowed values:
Pending,WaitForUpload,Publishing,Ready,Failed,Deleting -
stringstatus.progressProgress reports bounded controller-computed completion percentage for upload and model preparation flows when runtime progress is available.
-
objectstatus.resolved
-
stringstatus.resolved.architectureArchitecture is the model architecture when it is available.
-
integerstatus.resolved.contextWindowTokensContextWindowTokens is the context window size when it is available.
Allowed values:
1 <= X -
stringstatus.resolved.familyFamily is the model family inferred from source metadata.
-
stringstatus.resolved.formatFormat is the resolved input format.
Allowed values:
Safetensors,GGUF,Diffusers -
integerstatus.resolved.parameterCountParameterCount is the number of model parameters when it is available.
Allowed values:
1 <= X -
stringstatus.resolved.quantizationQuantization is the model quantization when it is available.
-
objectstatus.resolved.sourceCapabilitiesSourceCapabilities are provider-level capabilities discovered from source metadata.
-
array of stringsstatus.resolved.sourceCapabilities.featuresFeatures are provider-specific feature names.
-
stringstatus.resolved.sourceCapabilities.features.Element of the array
Length:
1..128
-
-
stringstatus.resolved.sourceCapabilities.providerProvider is the source provider that supplied the capabilities.
Allowed values:
HuggingFace,Ollama,Upload,Catalog -
array of stringsstatus.resolved.sourceCapabilities.tasksTasks are provider-specific task names.
-
stringstatus.resolved.sourceCapabilities.tasks.Element of the array
Length:
1..128
-
-
-
array of stringsstatus.resolved.supportedEndpointTypes
-
stringstatus.resolved.supportedEndpointTypes.Element of the array
Allowed values:
Chat,TextGeneration,Embeddings,Rerank,SpeechToText,TextToSpeech,Translation,ImageClassification,ObjectDetection,ImageSegmentation,ImageToText,VisualQuestionAnswering,ImageGeneration,VideoGeneration,AudioGeneration
-
-
array of stringsstatus.resolved.supportedFeatures
-
stringstatus.resolved.supportedFeatures.Element of the array
Allowed values:
VisionInput,AudioInput,AudioOutput,ImageOutput,VideoInput,VideoOutput,MultiModalInput,ToolCalling
-
-
-
objectstatus.source
-
objectstatus.source.catalogCatalog contains frozen external catalog provenance for catalog imports.
-
stringstatus.source.catalog.catalogRevisionCatalogRevision is the upstream catalog revision used for resolution.
-
stringstatus.source.catalog.nameName is the resolved public catalog model name.
Minimal length:
1 -
stringstatus.source.catalog.remoteDigestRemoteDigest is the pinned upstream OCI artifact digest.
-
stringstatus.source.catalog.sourceNameSourceName is the resolved ModelCatalogSource name.
Minimal length:
1 -
stringstatus.source.catalog.versionVersion is the resolved catalog version when one was selected.
-
-
stringstatus.source.resolvedRevisionResolvedRevision is the source revision, tag, or digest when the provider exposes one.
-
stringstatus.source.resolvedTypeResolvedType is the source provider detected by the controller.
Allowed values:
HuggingFace,Ollama,Upload,Catalog
-
-
objectstatus.upload
-
stringstatus.upload.expiresAtExpiresAt is the upload session expiration time.
-
stringstatus.upload.secretNameSecretName points to the Secret containing the upload URL and bearer token. The Secret key names are fixed by the controller contract and are not part of status.
Minimal length:
1 -
stringstatus.upload.secretNamespaceSecretNamespace is the namespace of the Secret containing the upload URL and bearer token.
Minimal length:
1
-
-