MinIO AIStor Custom Resource Definition (Alpha)
The following page includes the full contents of the MinIO 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.
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 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 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 | ||
podLabels object (keys:string, values:string) |
Labels that will be added to the pods created by the AdminJob | ||
podAnnotations object (keys:string, values:string) |
Annotations that will be added to the pods created by the AdminJob |
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. MinIO 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 andDisableAutoCert is set to true, the MinIO Enterprise Resource deploys without Certificates enabled. +Specify an array of 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 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 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 |
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 + |
Service
Service (service) defines custom labels and annotations for the Minio Enterprise service . +
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
name string |
Name of the service | MaxLength: 63 Optional: {} Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
|
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. + |
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 warped, 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 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 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 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 Assigning Pods to Nodes for more information. |
||
tolerations Toleration array |
Optional + Specify one or more 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 Kubernetes Topology Spread Constraints to apply to deployed Warp pods. |
||
serviceAccountName string |
Optional + The 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 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 |