AIStor Custom Resource Definition (Alpha)

The following page includes the full contents of the AIStor Custom Resource Definition V1 (Alpha) CustomResourceDefinition.

API Reference

Packages

aistor.min.io/v1alpha1

Package v1alpha1 is the v1alpha1 version of the Enterprise Operator API.

AIHub

AIHub A repository for AI models.

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec AIHubSpec Spec denotes the specification of the AIHub

AIHubSpec

AIHubSpec denotes the specification of the AIHub

Appears in:

Field Description Default Validation
serviceAccountName string Optional +

The https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[Kubernetes Service Account]
to use for running AIHub pods. +
replicas integer Optional +

Specify the number of AIHub pods to be deployed. Defaults to 1.
image string Optional +

The container image to use when deploying AIHub server pods. +
imagePullSecrets LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private container repository. +
imagePullPolicy PullPolicy Optional +

The pull policy for the AIHub image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer to the Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
Enum: [Always IfNotPresent Never]
bucket string Required +

Name for Bucket where to store AI Models
prefix string Required +

Bucket prefix where to store AI Models
objectStore LocalObjectReference Required +

ObjectStoreReference Reference for minio ObjectStore to store AI Models
affinity Affinity Optional +

Specify node affinity, pod affinity, and pod anti-affinity for the AIHub pods. +
nodeSelector object (keys:string, values:string) Optional +

The filter for the AIstor Operator to apply when selecting on which nodes to deploy AIHub pods.
The AIstor Operator only selects those nodes whose labels match the specified selector. +

See the Kubernetes documentation on
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/[Assigning Pods to Nodes] for more information.
labels object (keys:string, values:string) Optional +

If provided, use these labels for the AIHub Meta annotations (Deployment and Pod template)
annotations object (keys:string, values:string) Optional +

Specify custom labels and annotations to append to the AIHub pods.
Optional +

If provided, use these annotations for the AIHub Meta annotations (Deployment and Pod template)
topologySpreadConstraints TopologySpreadConstraint array Optional +

Specify one or more
https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/[Kubernetes Topology Spread Constraints]
to apply to AIHub pods.
resources ResourceRequirements Optional +

Object specification for specifying CPU and memory
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[resource allocations]
or limits in AIHub. +
containerSecurityContext SecurityContext Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of
containers in the AIHub pods. The AIstor Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of
AIHub pods. The AIstor Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
env EnvVar array Optional +

If provided, the MinIO Enterprise Operator adds the specified environment variables when deploying AIHub.
certificates Certificates Optional +

Configure Certificates for AIHub +
service Service Optional +

Configure Service for AIHub +
tolerations Toleration array Optional +

Specify one or more https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/[Kubernetes tolerations] to apply to AIHub pods deployed.

AIHubState

Underlying type: string

AIHubState is the string type that represent a Status

Appears in:

Field Description
Provisioning AIHub Deployment AIHubStatusProvisioningDeployment “Provisioning AIHub Deployment”
Provisioning AIHub Cluster IP Service AIHubStatusProvisioningCIService “Provisioning Cluster IP Service”
Initialized AIHubStatusInitializedDeployment “Initialized”
Error creating credentials AIHubStatusErrorCreatingCredentials “Error creating credentials”
Waiting for Object Store to be provisioned AIHubStatusWaitingForObjectStoreProvisioning “Waiting for Object Store to be provisioned”
Waiting for Object Store to be partially/completely healthy AIHubStatusWaitingForObjectStoreHealth “Waiting for Object Store to be partially/completely healthy”
Waiting for bucket to be created AIHubStatusWaitingForBucket “Waiting for bucket to be created”
Waiting for AIHub Openshift certificates AIHubStatusWaitingForOCP “Waiting for AIHub Openshift certificates”

AdminJob

AdminJob is a top-level type. A client is created for it

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec AdminJobSpec Required +

The root field for the AdminJob object.

AdminJobPhase

Underlying type: string

AdminJobPhase defines the phase of the AdminJob resource

Appears in:

AdminJobSpec

AdminJobSpec (spec) defines the configuration of a AdminJob object. +

Appears in:

Field Description Default Validation
serviceAccountName string Required +

Service Account name for the jobs to run
objectStore ObjectStoreRef Required +

ObjectStoreRef Reference for minio ObjectStore to eun the jobs against
execution Execution Execution order of the jobs, either parallel or sequential.
Defaults to sequential if not provided.
sequential Enum: [parallel sequential]
failureStrategy FailureStrategy FailureStrategy is the forward plan in case of the failure of one or more AdminJob pods
Either stopOnFailure or continueOnFailure, defaults to continueOnFailure.
insecure boolean Insecure is boolean to enable/disable TLS verification
commands CommandSpec array Required +

Commands List of MinioClient commands
imagePullPolicy PullPolicy Optional +

The pull policy for the MinIO Docker image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
imagePullSecret LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private Docker repository. +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of pods in the pool. The Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
containerSecurityContext SecurityContext Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of containers in the pool. The Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
ttlSecondsAfterFinished integer TTLSecondsAfterFinished is the number of seconds after which the job will be deleted

CertificateConfig

CertificateConfig (certConfig) defines controlling attributes associated to any Certificates certificate automatically generated by the Operator. These fields have no effect if disableAutoCert: true.

Appears in:

Field Description Default Validation
commonName string Optional +

The CommonName or CN attribute to associate to automatically generated Certificates certificates. +
organizationName string array Optional +

Specify one or more OrganizationName or O attributes to associate to automatically generated Certificates certificates. +
dnsNames string array Optional +

Specify one or more x.509 Subject Alternative Names (SAN) to associate to automatically generated Certificates certificates. AIStor Server pods use SNI to determine which certificate to respond with based on the requested hostname.

Certificates

Certificates Collection of certificates to provide to MinIO Enterprise Resource

Appears in:

Field Description Default Validation
certConfig CertificateConfig Optional +

Enables setting the CommonName, Organization, and dnsName attributes for all Certificates certificates automatically generated by the Operator. Configuring this object has no effect if disableAutoCert is true. +
externalCertSecret LocalCertificateReference array Optional +

Enables Certificates with SNI support on each MinIO Enterprise pod. If externalCertSecret is omitted and
DisableAutoCert is set to true, the MinIO Enterprise Resource deploys without Certificates enabled. +

Specify an array of https://kubernetes.io/docs/concepts/configuration/secret/[Kubernetes Certificates secrets].
The MinIO Enterprise Operator copies the specified certificates to every MinIO Enterprise pod.
When the MinIO Enterprise pod/service responds to a Certificates connection request, it uses SNI to select the certificate
with matching subjectAlternativeName. +

Each element in the externalCertSecret array is an object containing the following fields: +

* - name - The name of the Kubernetes secret containing the Certificates certificate. +

* - type - Specify kubernetes.io/tls +
externalCaCertSecret LocalCertificateReference array Optional +

Allows MinIO Enterprise server pods to verify client Certificates certificates signed by a Certificate Authority not in
the pod’s trust store. +

Specify an array of https://kubernetes.io/docs/concepts/configuration/secret/[Kubernetes Certificates secrets].
The MinIO Enterprise Operator copies the specified certificates to every MinIO Enterprise pod. +

Each element in the externalCertSecret array is an object containing the following fields: +

* - name - The name of the Kubernetes secret containing the Certificate Authority. +

* - type - Specify kubernetes.io/tls. +
externalClientCertSecrets LocalCertificateReference array Optional +

Provide support for mounting additional client certificate into MinIO Enterprise pods
Multiple client certificates will be mounted using the following folder structure: +

* certs +

* * client-0 +

* * * client.crt +

* * * client.key +

* * client-1 +

* * * client.crt +

* * * client.key +

* * * client-2 +

* * client.crt +

* * * client.key +

Specify a https://kubernetes.io/docs/concepts/configuration/secret/[Kubernetes Certificates secrets].
The MinIO Enterprise Operator copies the specified certificate to every MinIO Enterprise server pod
that later can be referenced using environment variables. The secret must contain the following fields: +

* name - The name of the Kubernetes secret containing the Certificates certificate. +

* type - Specify kubernetes.io/tls +
disableAutoCert boolean Optional +
Whether to disable automatic certificate generation

CommandSpec

CommandSpec (spec) defines the configuration of a MinioClient Command.

Appears in:

Field Description Default Validation
op string Operation is the MinioClient Action
name string Name is the Command Name, optional, required if want to reference it with DependsOn
args object (keys:string, values:string) Args Arguments to pass to the action
command string array Command Execute All User-Defined Commands
dependsOn string array DependsOn List of named command in this AdminJob that have to be scheduled and executed before this command runs
resources ResourceRequirements Compute Resources required by this container.
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
envFrom EnvFromSource array List of sources to populate environment variables in the container.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys
will be reported as an event when the container is starting. When a key exists in multiple
sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.
env EnvVar array List of environment variables to set in the container.
Cannot be updated.
volumeMounts VolumeMount array Pod volumes to mount into the container’s filesystem.
Cannot be updated.
volumes Volume array List of volumes that can be mounted by containers belonging to the pod.
More info: https://kubernetes.io/docs/concepts/storage/volumes

CommandStatus

CommandStatus Status of AdminJob command execution

Appears in:

Field Description Default Validation
name string Name is the name of the job executes the command
result AdminJobPhase Required +
message string

Execution

Underlying type: string

Execution is the MinIO Job level execution policy

Appears in:

Field Description
parallel ExecutionParallel Run MC Jobs in parallel
sequential ExecutionSequential Run MC Jobs in sequential mode

FailureStrategy

Underlying type: string

FailureStrategy is the failure strategy at MinIO Job level

Appears in:

Field Description
continueOnFailure ContinueOnFailure indicates to MinIO Job to continue execution of following commands even in the case of the
failure of a command
stopOnFailure StopOnFailure indicates to MinIO Job to stop execution of following commands even in the case of the failure
of a command

Inference

Inference A MinIO specific GraphQL interface to the namespace and metadata that continuously listens for namespace event.

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec InferenceSpec Spec The root field for the Inference object.

InferenceSpec

InferenceSpec is the spec for a Inference resource

Appears in:

Field Description Default Validation
replicas integer Optional +

Specify the number of replica pods for the inference. Defaults to 1.
image string Optional +

The container image to use when deploying Inference server pods. Defaults to {inference-image}. +
imagePullSecrets LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private container repository. +
imagePullPolicy PullPolicy Optional +

The pull policy for the Inference Docker image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer to the Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
Enum: [Always IfNotPresent Never]
env EnvVar array Optional +

If provided, the MinIO Enterprise Operator adds the specified environment variables when deploying Inference.
certificates Certificates Optional +

Configure Certificates for Inference +
service Service Optional +

Configure Service for Inference +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of pods in Inference.
The Enterprise Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
containerSecurityContext SecurityContext Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of containers in Inference.
The Enterprise Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
annotations object (keys:string, values:string) Optional +

Specify custom labels and annotations to append to the Pool.
Optional +

If provided, use these annotations for the Pool Objects Meta annotations (Deployment and Pod template)
labels object (keys:string, values:string) Optional +

If provided, use these labels for the Pool Objects Meta annotations (Deployment and Pod template)
resources ResourceRequirements Optional +

Object specification for specifying CPU and memory https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[resource allocations] or limits in Inference. +
nodeSelector object (keys:string, values:string) Optional +

The Enterprise Operator only selects those nodes whose labels match the specified selector. +

See the Kubernetes documentation on https://kubernetes.io/docs/concepts/configuration/assign-pod-node/[Assigning Pods to Nodes]
for more information.
tolerations Toleration array Optional +

Specify one or more https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/[Kubernetes tolerations]
to apply to Inference pods.
affinity Affinity Optional +

Specify node affinity, pod affinity, and pod anti-affinity for the Inference pods. +
topologySpreadConstraints TopologySpreadConstraint array Optional +

Specify one or more https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/[Kubernetes Topology Spread Constraints]
to apply to deployed Inference pods.
schedulerName string If specified, the pod will be dispatched by specified scheduler.
If not specified, the pod will be dispatched by default scheduler.
serviceAccountName string Optional +

The https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[Kubernetes Service Account]
to use for running Inference pods. +
priorityClassName string Optional +

Indicates the Pod priority and therefore importance of a Pod relative to other Pods in the cluster.
This is applied to MinIO pods only. +

Refer Kubernetes https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Priority Class documentation]
for more complete documentation.
sideCars SideCars Optional +

A list of containers to run as sidecars along every Inference Pod deployed.
initContainers Container array Optional +

Add custom initContainers to Deployment

InferenceState

Underlying type: string

InferenceState is the string type that represent a Status

Appears in:

Field Description
Provisioning Inference Cluster IP Service InferenceStatusProvisioningCIService “Provisioning Inference Cluster IP Service”
Provisioning Inference Deployment InferenceStatusProvisioningDeployment “Provisioning Inference Deployment”
Waiting for Inference OCP certificates InferenceStatusWaitingForOCP “Waiting for Inference OCP certificates”
Initialized InferenceStatusInitializedDeployment “Initialized”
Error creating credentials InferenceStatusErrorCreatingCredentials “Error creating credentials”

KeyManager

KeyManager A high performance Key Management System for billions of objects. Key component of the performance at scale requirements.

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec KeyManagerSpec Spec denotes the specification of the KeyManager

KeyManagerSpec

KeyManagerSpec denotes the specification of the KeyManager

Appears in:

Field Description Default Validation
hsmSecret LocalObjectReference Name of the secret containing the HSM key
configuration LocalObjectReference Name of Secret containing the KMS config
replicas integer Optional +

Specify the number of KeyManager pods to be deployed. Defaults to 1.
Minimum: 1
image string Optional +

The container image to use when deploying KeyManager server pods. Defaults to {kms-image}. +
imagePullSecrets LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private container repository. +
imagePullPolicy PullPolicy Optional +

The pull policy for the KeyManager image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer to the Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
Enum: [Always IfNotPresent Never]
volumeClaimTemplate PersistentVolumeClaim Required +

Specify the configuration options for the MinIO Enterprise Operator to use when generating Persistent Volume
Claims for KeyManager. +
env EnvVar array Optional +

If provided, the MinIO Enterprise Operator adds the specified environment variables when deploying KeyManager pods.
podManagementPolicy PodManagementPolicyType Optional +

Pod Management Policy for pod created by StatefulSet
Parallel
certificates Certificates Optional +

Configure Certificates for KeyManager +
service Service Optional +

Configure Service for KeyManager +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of
KeyManager pods. The Enterprise Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
containerSecurityContext SecurityContext Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of
containers in the KeyManager pods. The Enterprise Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
annotations object (keys:string, values:string) Optional +

Specify custom labels and annotations to append to the KeyManager pods.
Optional +

If provided, use these annotations for the Pool Objects Meta annotations (StateFulSet and Pod template)
labels object (keys:string, values:string) Optional +

If provided, use these labels for the KeyManager Objects Meta annotations (StateFulSet and Pod template)
runtimeClassName string Optional +

If provided, each pod on the StateFulSet will run with the specified RuntimeClassName, for more info
https://kubernetes.io/docs/concepts/containers/runtime-class/ +
resources ResourceRequirements Optional +

Object specification for specifying CPU and memory
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[resource allocations]
or limits in KeyManager. +
nodeSelector object (keys:string, values:string) Optional +

The filter for the Enterprise Operator to apply when selecting on which nodes to deploy KeyManager pods.
The Enterprise Operator only selects those nodes whose labels match the specified selector. +

See the Kubernetes documentation on
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/[Assigning Pods to Nodes] for more information.
tolerations Toleration array Optional +

Specify one or more
https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/[Kubernetes tolerations]
to apply to KeyManager pods.
affinity Affinity Optional +

Specify node affinity, pod affinity, and pod anti-affinity for the KeyManager pods. +
topologySpreadConstraints TopologySpreadConstraint array Optional +

Specify one or more
https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/[Kubernetes Topology Spread Constraints]
to apply to KeyManager pods.
schedulerName string If specified, the pod will be dispatched by specified scheduler.
If not specified, the pod will be dispatched by default scheduler.
serviceAccountName string Optional +

The https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[Kubernetes Service Account]
to use for running KeyManager pods. +
priorityClassName string Optional +

Indicates the Pod priority and therefore importance of a Pod relative to other Pods in the cluster.
This is applied to KeyManager pods only. +

Refer Kubernetes https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Priority Class documentation]
for more complete documentation.
sideCars SideCars Optional +

A list of containers to run as sidecars along every KeyManager Pod deployed.
initContainers Container array Optional +

Add custom initContainers for KeyManager StatefulSet

KeyManagerState

Underlying type: string

KeyManagerState is the string type that represents the state of the KeyManager resource

Appears in:

Field Description
Initialized KeyManagerStatusInitialized “Initialized”
Provisioning KeyManager Cluster IP Service KeyManagerStatusProvisioningCIService “Provisioning KeyManager Cluster IP Service”
Provisioning KeyManager Headless Service KeyManagerStatusProvisioningHLService “Provisioning KeyManager Headless Service”
Provisioning KeyManager Statefulset KeyManagerStatusProvisioningStatefulSet “Provisioning KeyManager Statefulset”
HSM secret missing KeyManagerStatusHSMMissing used for when the HSM secret is not found
Creating KeyManager Config secret KeyManagerStatusCreatingConfigSecret “Creating KeyManager API Key secret”
Creating KeyManager certs KeyManagerStatusCreatingCerts indicates the state for creating certs
Waiting OCP KeyManager certs KeyManagerStatusWaitingCerts indicates the state for waiting certs
Auto Scaling KeyManager nodes KeyManagerStatusAutoScalingNodes indicates the state for auto-scaling nodes

LoadBalancer

LoadBalancer (Minwall) Built for a world where data infrastructure looks like a web application. S3-aware object Load Balancer offers bucket and object level granularity.

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec LoadBalancerSpec Spec The root field for the LoadBalancer object.

LoadBalancerServices

LoadBalancerServices is the spec for a LoadBalancer resource regarding how to configure and expose services it’s balancing access to

Appears in:

Field Description Default Validation
objectStore Service Optional +

Object Store Service for LoadBalancer +
console Service Optional +

Console Service for LoadBalancer +

LoadBalancerSpec

LoadBalancerSpec is the spec for a LoadBalancer resource

Appears in:

Field Description Default Validation
objectStore LocalObjectReference Optional +

The object store that will be served the traffic, if specified, the operator will fill in the configuration automatically
configuration LocalObjectReference Name of ConfigMap containing the LoadBalancer config
image string Optional +

The container image to use when deploying LoadBalancer server pods. Defaults to {LoadBalancer-image}. +
imagePullSecrets LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private container repository. +
imagePullPolicy PullPolicy Optional +

The pull policy for the MinIO Docker image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer to the Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
Enum: [Always IfNotPresent Never]
env EnvVar array Optional +

If provided, the MinIO Enterprise Operator adds the specified environment variables when deploying LoadBalancer.
certificates Certificates Optional +

Configure Certificates for LoadBalancer +
services LoadBalancerServices Optional +

Configure Services for LoadBalancer +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of pods in LoadBalancer.
The Enterprise Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
containerSecurityContext SecurityContext Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of containers in LoadBalancer.
The Enterprise Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
annotations object (keys:string, values:string) Optional +

Specify custom labels and annotations to append to the Pool.
Optional +

If provided, use these annotations for the Pool Objects Meta annotations (Deployment and Pod template)
labels object (keys:string, values:string) Optional +

If provided, use these labels for the Pool Objects Meta annotations (Deployment and Pod template)
runtimeClassName string Optional +

If provided, each pod on the Deployment will run with the specified RuntimeClassName, for more info https://kubernetes.io/docs/concepts/containers/runtime-class/
resources ResourceRequirements Optional +

Object specification for specifying CPU and memory https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[resource allocations] or limits in LoadBalancer. +
nodeSelector object (keys:string, values:string) Optional +

The Enterprise Operator only selects those nodes whose labels match the specified selector. +

See the Kubernetes documentation on https://kubernetes.io/docs/concepts/configuration/assign-pod-node/[Assigning Pods to Nodes]
for more information.
tolerations Toleration array Optional +

Specify one or more https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/[Kubernetes tolerations]
to apply to LoadBalancer pods.
affinity Affinity Optional +

Specify node affinity, pod affinity, and pod anti-affinity for the LoadBalancer pods. +
topologySpreadConstraints TopologySpreadConstraint array Optional +

Specify one or more https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/[Kubernetes Topology Spread Constraints]
to apply to deployed LoadBalancer pods.
schedulerName string If specified, the pod will be dispatched by specified scheduler.
If not specified, the pod will be dispatched by default scheduler.
serviceAccountName string Optional +

The https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[Kubernetes Service Account]
to use for running LoadBalancer pods. +
priorityClassName string Optional +

Indicates the Pod priority and therefore importance of a Pod relative to other Pods in the cluster.
This is applied to MinIO pods only. +

Refer Kubernetes https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Priority Class documentation]
for more complete documentation.
sideCars SideCars Optional +

A list of containers to run as sidecars along every LoadBalancer Pod deployed.
initContainers Container array Optional +

Add custom initContainers to Deployment
sftp SFTP Optional +

Enables SFTP

LoadBalancerState

Underlying type: string

LoadBalancerState is the string type that represent a Status

Appears in:

Field Description
Provisioning LoadBalancer Cluster IP Service LoadBalancerStatusProvisioningCIService “Provisioning Cluster IP Service”
Provisioning LoadBalancer Headless Service LoadBalancerStatusProvisioningHLService “Provisioning Headless Service”
Waiting for LoadBalancer OCP certificates LoadBalancerStatusWaitingForOCP “Waiting for LoadBalancer OCP certificates”
Provisioning LoadBalancer DaemonSet LoadBalancerStatusProvisioningDaemonSet “Provisioning Deployment”
Initialized LoadBalancerStatusInitialized “Initialized”

LocalCertificateReference

LocalCertificateReference (externalCertSecret, externalCaCertSecret,clientCertSecret) is a Kubernetes secret name and secret type reference containing Certificates certificates or Certificate Authority files for Certificates in the MinIO Enterprise service. +

Appears in:

Field Description Default Validation
name string Required +

The name of the Kubernetes secret containing the Certificates certificate or Certificate Authority file. +
type string Required +

The type of Kubernetes secret. Specify kubernetes.io/tls +

ObjectStoreRef

ObjectStoreRef Is the reference to the target object store of the jobs

Appears in:

Field Description Default Validation
name string Required +
namespace string Required +

PodStatus

PodStatus holds the status of the pods in AIHub deployment

Appears in:

Field Description Default Validation
running integer Running is the number of running pods
crashing integer Crashing is the number of pods crashing
pending integer Pending is the number of pods pending

Prompt

Prompt A MinIO specific GraphQL interface to the namespace and metadata that continuously listens for namespace event.

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec PromptSpec Spec The root field for the Prompt object.

PromptSpec

PromptSpec is the spec for a Prompt resource

Appears in:

Field Description Default Validation
replicas integer Optional +

Specify the number of replica pods for the prompt. Defaults to 1.
objectStore LocalObjectReference Optional +

The object store that will be prompt enabled, if specified the operator will fill in the configuration automatically
image string Optional +

The container image to use when deploying Prompt server pods. Defaults to {prompt-image}. +
imagePullSecrets LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private container repository. +
imagePullPolicy PullPolicy Optional +

The pull policy for the Prompt Docker image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer to the Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
Enum: [Always IfNotPresent Never]
env EnvVar array Optional +

If provided, the MinIO Enterprise Operator adds the specified environment variables when deploying Prompt.
certificates Certificates Optional +

Configure Certificates for Prompt +
service Service Optional +

Configure Service for Prompt +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of pods in Prompt.
The Enterprise Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
containerSecurityContext SecurityContext Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of containers in Prompt.
The Enterprise Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
annotations object (keys:string, values:string) Optional +

Specify custom labels and annotations to append to the Pool.
Optional +

If provided, use these annotations for the Pool Objects Meta annotations (Deployment and Pod template)
labels object (keys:string, values:string) Optional +

If provided, use these labels for the Pool Objects Meta annotations (Deployment and Pod template)
resources ResourceRequirements Optional +

Object specification for specifying CPU and memory https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[resource allocations] or limits in Prompt. +
nodeSelector object (keys:string, values:string) Optional +

The Enterprise Operator only selects those nodes whose labels match the specified selector. +

See the Kubernetes documentation on https://kubernetes.io/docs/concepts/configuration/assign-pod-node/[Assigning Pods to Nodes]
for more information.
tolerations Toleration array Optional +

Specify one or more https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/[Kubernetes tolerations]
to apply to Prompt pods.
affinity Affinity Optional +

Specify node affinity, pod affinity, and pod anti-affinity for the Prompt pods. +
topologySpreadConstraints TopologySpreadConstraint array Optional +

Specify one or more https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/[Kubernetes Topology Spread Constraints]
to apply to deployed Prompt pods.
schedulerName string If specified, the pod will be dispatched by specified scheduler.
If not specified, the pod will be dispatched by default scheduler.
serviceAccountName string Optional +

The https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[Kubernetes Service Account]
to use for running Prompt pods. +
priorityClassName string Optional +

Indicates the Pod priority and therefore importance of a Pod relative to other Pods in the cluster.
This is applied to MinIO pods only. +

Refer Kubernetes https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Priority Class documentation]
for more complete documentation.
sideCars SideCars Optional +

A list of containers to run as sidecars along every Prompt Pod deployed.
initContainers Container array Optional +

Add custom initContainers to Deployment
inferenceService ResourceReference Optional +

References an existing Inference service

PromptState

Underlying type: string

PromptState is the string type that represent a Status

Appears in:

Field Description
Provisioning Prompt Cluster IP Service PromptStatusProvisioningCIService “Provisioning Prompt Cluster IP Service”
Provisioning Prompt Deployment PromptStatusProvisioningDeployment “Provisioning Prompt Deployment”
Waiting for Prompt OCP certificates PromptStatusWaitingForOCP “Waiting for Prompt OCP certificates”
Initialized PromptStatusInitializedDeployment “Initialized”
Error creating credentials PromptStatusErrorCreatingCredentials “Error creating credentials”
Error invalid inference service reference PromptStatusErrorInvalidInference “Error creating credentials”
Error invalid object store reference PromptStatusErrorInvalidObjectStore “Error creating credentials”

ResourceReference

ResourceReference is a reference to an ObjectStore resource in any namespace

Appears in:

Field Description Default Validation
name string Required +

The name of the ObjectStore resource to reference.
namespace string Required +

The namespace of the ObjectStore resource to reference.

SFTP

SFTP holds the configurations parameters for the SFTP feature

Appears in:

Field Description Default Validation
enabled boolean Whether to enable the SFTP feature. +
serviceExternalTrafficPolicy ServiceExternalTrafficPolicy
serviceType ServiceType Optional +

The type of service to expose SFTP +
If set, the SFTP will be exposed using the specified type. +
if omitted, the SFTP will be exposed using the default type ClusterIP. +
nodePort integer Optional +

The port to expose the SFTP is using a NodePort. +
If set, SFTP will be exposed using the specified port. +
if omitted, SFTP will be exposed using whatever assigned port by kubernetes. +

Service

Service (service) defines custom labels and annotations for the Minio Enterprise service . +

Appears in:

Field Description Default Validation
serviceType ServiceType Optional +

The type of service to expose the MinIO service. +
If set, the service will be exposed using the specified type. +
if omitted, the service will be exposed using the default type ClusterIP. +
serviceExternalTrafficPolicy ServiceExternalTrafficPolicy Optional +

The type of external traffic policy the service exposing the MinIO service will follow. +
If set, the service external traffic policy will be exposed using the specified type. +
if omitted, the service will be exposed using the default type Cluster. +
nodePort integer Optional +

The port to expose the MinIO service is using a NodePort. +
If set, the service will be exposed using the specified port. +
if omitted, the service will be exposed using whatever assigned port by kubernetes. +
labels object (keys:string, values:string) Optional +

If provided, append these labels to the MinIO Enterprise service. +
annotations object (keys:string, values:string) Optional +

If provided, append these annotations to the MinIO Enterprise service. +

ServiceStatusDetails

ServiceStatusDetails is the status for a resource

Field Description Default Validation
podsRunning integer PodsRunning is the number of running pods
podsCrashing integer PodsCrashing is the number of pods crashing
podsPending integer PodsPending is the number of pods pending
healthStatus HealthStatus Health State of the Service
message string Message relevant message relating to the service

SideCars

SideCars (sidecars) defines a list of containers that Enterprise Operator attaches to each MinIO Enterprise server pods.

Appears in:

Field Description Default Validation
containers Container array Optional +

List of containers to run inside the Pod
volumeClaimTemplates PersistentVolumeClaim array Optional +

volumeClaimTemplates is a list of claims that pods are allowed to reference.
The StatefulSet controller is responsible for mapping network identities to
claims in a way that maintains the identity of a pod. Every claim in
this list must have at least one matching (by name) volumeMount in one
container in the template. A claim in this list takes precedence over
any volumes in the template, with the same name.
volumes Volume array Optional +

List of volumes that can be mounted by containers belonging to the pod.
More info: https://kubernetes.io/docs/concepts/storage/volumes
resources ResourceRequirements Optional +

sidecar’s Resource, initcontainer will use that if set.

Warp

Warp is a top-level type. A client is created for it

Appears in:

Field Description Default Validation
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec WarpSpec Required +

The root field for the Warp object.

WarpJobState

Underlying type: string

WarpJobState is the string type that represent a WarpJobState

Appears in:

Field Description
Completed WarpJobStateCompleted - Completed
Running WarpJobStateRunning - Running
Failed WarpJobStateFailed - Failed

WarpSpec

WarpSpec (spec) defines the configuration of a Warp object. +

Appears in:

Field Description Default Validation
type WarpType Type of Warp, either mixed, get or put.
Defaults to mixed if not provided.
mixed Enum: [mixed get put versioned multipart delete list stat]
clients integer Required +

Clients number of warp clients
duration string Optional +

Duration is the amount of time to run the WarpJob process e.g. 1h
objectStore ObjectStoreRef Optional +

The object store that will be observed, if specified the operator will fill in the configuration automatically
args object (keys:string, values:string) Required +

Args List of Warp commands
image string Optional +

The container image to use when deploying Warp server pods. Defaults to {Warp-image}. +
imagePullSecrets LocalObjectReference array Optional +

Specify the secret key to use for pulling images from a private container repository. +
imagePullPolicy PullPolicy Optional +

The pull policy for the MinIO Docker image. Specify one of the following: +

* Always +

* Never +

* IfNotPresent (Default) +

Refer to the Kubernetes documentation for details https://kubernetes.io/docs/concepts/containers/images#updating-images
Enum: [Always IfNotPresent Never]
volumeClaimTemplate PersistentVolumeClaim Optional +

Specify the configuration options for the MinIO Enterprise Operator to use when generating Persistent Volume
Claims for Warp. +
env EnvVar array Optional +

If provided, the MinIO Enterprise Operator adds the specified environment variables when deploying Warp.
podManagementPolicy PodManagementPolicyType Optional +

Pod Management Policy for pod created by StatefulSet
certificates Certificates Optional +

Configure Certificates for Warp service.+
service Service Optional +

Configure Service for Warp +
securityContext PodSecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of pods in Warp.
The Enterprise Operator supports only the following pod security fields: +

* fsGroup +

* fsGroupChangePolicy +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
containerSecurityContext SecurityContext Optional +

Specify the https://kubernetes.io/docs/tasks/configure-pod-container/security-context/[Security Context] of containers in Warp.
The Enterprise Operator supports only the following container security fields: +

* runAsGroup +

* runAsNonRoot +

* runAsUser +
annotations object (keys:string, values:string) Optional +

If provided, use these annotations for the Pool Objects Meta annotations (Deployment and Pod template)
labels object (keys:string, values:string) Optional +

If provided, use these labels for the Pool Objects Meta annotations (Deployment and Pod template)
resources ResourceRequirements Optional +

Object specification for specifying CPU and memory https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[resource allocations] or limits in Warp. +
nodeSelector object (keys:string, values:string) Optional +

The Enterprise Operator only selects those nodes whose labels match the specified selector. +

See the Kubernetes documentation on https://kubernetes.io/docs/concepts/configuration/assign-pod-node/[Assigning Pods to Nodes]
for more information.
tolerations Toleration array Optional +

Specify one or more https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/[Kubernetes tolerations]
to apply to Warp pods.
affinity Affinity Optional +

Specify node affinity, pod affinity, and pod anti-affinity for the Warp pods. +
topologySpreadConstraints TopologySpreadConstraint array Optional +

Specify one or more https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/[Kubernetes Topology Spread Constraints]
to apply to deployed Warp pods.
serviceAccountName string Optional +

The https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/[Kubernetes Service Account]
to use for running Warp pods. +
schedulerName string Optional +

If specified, the pod will be dispatched by specified scheduler.
If not specified, the pod will be dispatched by default scheduler.
priorityClassName string Optional +

Indicates the Pod priority and therefore importance of a Pod relative to other Pods in the cluster.
This is applied to MinIO pods only. +

Refer Kubernetes https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass[Priority Class documentation]
for more complete documentation.
sideCars SideCars Optional +

A list of containers to run as sidecars along every Warp Pod deployed.
initContainers Container array Optional +

Add custom initContainers to Deployment
additionalVolumes Volume array Optional +

If provided, Warp StateFulSet will add these volumes. You should set the rules for the corresponding volumes and
volume mounts. Enterprise Operator will not test this rule, k8s will show the result.
additionalVolumeMounts VolumeMount array Optional +

If provided, Warp StateFulSet will add these volume mounts. You should set the rules for the corresponding
volumes and volume mounts. Enterprise Operator will not test this rule, k8s will show the result.
failureStrategy FailureStrategy FailureStrategy is the forward plan in case of the failure of one or more AdminJob pods
Either stopOnFailure or continueOnFailure, defaults to continueOnFailure.
continueOnFailure Enum: [continueOnFailure stopOnFailure]

WarpState

Underlying type: string

WarpState is the string type that represent a WarpState

Appears in:

Field Description
Provisioning Warp Cluster IP Service WarpStatusProvisioningCIService “Provisioning Cluster IP Service”
Provisioning Warp Headless Service WarpStatusProvisioningHLService “Provisioning Headless Service”
Provisioning Warp StatefulSet WarpStatusProvisioningStatefulSet “Provisioning StatefulSet”
Initialized WarpStatusInitialized “Initialized”
Completed WarpStatusCompleted - Completed
Invalid WarpStatusInvalid - Invalid
Waiting for Warp Openshift certificates WarpStatusWaitingForOCP “Waiting for Warp Openshift certificates”

WarpType

Underlying type: string

WarpType is the type of Warp

Appears in:

Field Description
mixed WarpTypeMixed is the default WarpType