package
7.0.1+incompatible
Repository: https://github.com/minio/operator.git
Documentation: pkg.go.dev

# Functions

CompactJSONString removes white spaces, tabs and line return.
ExtractTar extracts all tar files from the list `filesToExtract` and puts the files in the `basePath` location.
GenerateTenantConfigurationFile :.
GetClusterDomain returns the Kubernetes cluster domain.
GetMonitoringInterval returns how ofter we should query tenants for cluster/health.
GetNSFromFile assumes the operator is running inside a k8s pod and extract the current namespace from the /var/run/secrets/kubernetes.io/serviceaccount/namespace file.
GetPodCAFromFile assumes the operator is running inside a k8s pod and extract the current ca certificate from /var/run/secrets/kubernetes.io/serviceaccount/ca.crt.
GetPrivateKeyFilePath return the path to the key file based for the serviceName.
GetPrometheusName returns namespace of the prometheus managed by prometheus operator.
GetPrometheusNamespace returns namespace of the prometheus managed by prometheus operator.
GetPublicCertFilePath return the path to the certificate file based for the serviceName.
GetTenantKesImage returns the default KES Image for a tenant.
GetTenantMinIOImage returns the default MinIO image for a tenant.
IsContainersEnvUpdated compare environment variables of existing and expected containers and returns true if there is a change.
IsEnvUpdated looks for new env vars in the old env vars and returns true if new env vars are not found.
Kind takes an unqualified kind and returns back a Group qualified GroupKind.
MustGetSystemCertPool - return system CAs or empty pool in case of error (or windows).
ParseRawConfiguration map[string][]byte representation of the MinIO config.env file.
RegisterDefaults adds defaulters functions to the given scheme.
ReleaseTagToReleaseTime - converts a 'RELEASE.2017-09-29T19-16-56Z.hotfix' into the build time.
Resource takes an unqualified resource and returns a Group qualified GroupResource.
ToMap converts a slice of env vars to a map of Name and value.

# Constants

CfgFile is the Configuration File for MinIO.
CfgPath is the location of the MinIO Configuration File.
ConsoleAdminPolicyName denotes the policy name for Console user.
ConsoleName specifies the default container name for Console.
ConsolePort specifies the default Console port number.
ConsolePortName specifies the default Container port name.
ConsoleServicePortName specifies the default Console Service's port name.
ConsoleServiceTLSPortName specifies the default Console Service's port name.
ConsoleTenantLabel is applied to the Console pods of a Tenant cluster.
ConsoleTLSPort specifies the default Console port number for HTTPS.
CSRNameSuffix specifies the suffix added to Tenant name to create a CSR.
DefaultImagePullPolicy specifies the policy to image pulls.
DefaultKESImage specifies the 2025-03-12T09-35-18Z KES Docker hub image.
DefaultKESReplicas specifies the default number of KES pods to be created if not specified.
DefaultMinIOImage specifies the default MinIO Docker hub image.
DefaultMinIOUpdateURL specifies the default MinIO URL where binaries are pulled from during MinIO upgrades.
DefaultMonitoringInterval is how often we run monitoring on tenants.
DefaultPodManagementPolicy specifies default pod management policy as expllained here https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies.
DefaultPrometheusNamespace is the default namespace for prometheus.
DefaultUpdateStrategy specifies default pod update policy as explained here https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies.
HealthStatusGreen indicates a healthy tenant: all drives online.
HealthStatusRed indicates the tenant is offline, or lost write quorum.
HealthStatusYellow indicates a decreased resilience tenant, some drives offline.
KESConfigMountPath specifies the path where KES config file and all secrets are mounted We keep this to /tmp, so it doesn't require any special permissions.
KESContainerName specifies the default container name for KES.
KESHLSvcNameSuffix specifies the suffix added to Tenant name to create a headless service for KES.
KESInstanceLabel is applied to the KES pods of a Tenant cluster.
KESMinIOKey is the name of key that KES creates on the KMS backend.
KESName specifies the default container name for KES.
KESPort specifies the default KES Service's port number.
KESServicePortName specifies the default KES Service's port name.
Webhook API constants.
MinIOCertPath is the path where all MinIO certs are mounted.
MinIOCRDResourceKind is the Kind of Cluster.
Webhook API constants.
MinIOHLSvcNameSuffix specifies the suffix added to Tenant name to create a headless service.
MinIOPort specifies the default Tenant port number.
MinIOPortLoadBalancerSVC specifies the default Service port number for the load balancer service.
MinIOPortName specifies the default Container port name.
MinIOPrometheusPathCluster is the path where MinIO tenant exposes cluster Prometheus metrics.
MinIOPrometheusScrapeInterval defines how frequently to scrape targets.
MinIOServerName specifies the default container name for Tenant.
Webhook API constants.
MinIOServiceHTTPPortName specifies the default Service's http port name, e.g.
MinIOServiceHTTPSPortName specifies the default Service's https port name, e.g.
MinIOServiceSFTPPortName specifies the default Service's FTP port name.
MinIOSFTPPort specifies the default Tenant SFTP port number.
MinIOSFTPPortName specifies the default Container port name.
MinIOTLSPortLoadBalancerSVC specifies the default Service TLS port number for the load balancer service.
MinIOVolumeMountPath specifies the default mount path for MinIO volumes.
MinIOVolumeName specifies the default volume name for MinIO volumes.
MinIOVolumeSubPath specifies the default sub path under mount path.
PoolCreated indicates a pool was created.
PoolInitialized indicates if a pool has been observed to be online.
PoolLabel is applied to all components in a Pool of a Tenant cluster.
PoolNotCreated of a pool when it's not even created yet.
PrometheusAddlScrapeConfigKey is the key in secret data.
PrometheusAddlScrapeConfigSecret is the name of the secrets which contains the scrape config.
PrometheusName is the name of the prometheus.
PrometheusNamespace is the namespace of the prometheus.
Revision is applied to all statefulsets.
StatefulSetLegacyPrefix by old operators.
StatefulSetPrefix used by statefulsets.
TenantConfigurationSecretSuffix specifies the suffix added to tenant name to create the configuration secret name.
TenantLabel is applied to all components of a Tenant cluster.
TmpPath /tmp path inside the container file system.
Version specifies the API Version.
ZoneLabel is used for compatibility with tenants deployed prior to operator 4.0.0.

# Variables

AddToScheme applies the SchemeBuilder functions to a specified scheme.
DefaultEllipticCurve specifies the default elliptic curve to be used for key generation.
DefaultOrgName specifies the default Org name to be used in automatic certificate generation.
DefaultQueryInterval specifies the interval between each query for CSR Status.
DefaultQueryTimeout specifies the timeout for query for CSR Status.
SchemeBuilder collects the scheme builder functions for the MinIO Operator API.
SchemeGroupVersion is group version used to register these objects.
TLSSecretSuffix is the suffix applied to Tenant name to create the TLS secret.

# Structs

AuditConfig defines configuration parameters for Audit (type) logs.
Bucket describes the default created buckets.
CertificateConfig (`certConfig`) defines controlling attributes associated to any TLS certificate automatically generated by the Operator as part of tenant creation.
CertificateStatus keeps track of all the certificates managed by the operator.
CustomCertificateConfig (`customCertificateConfig`) provides attributes associated of the TLS certificates manually added to the Operator as part of tenant creation.
CustomCertificates (`customCertificates`) provides groupings of the TLS certificates manually added to the Operator as part of tenant creation.
ExposeServices (`exposeServices`) defines the exposure of the MinIO object storage and Console services.
Features (`features`) - Object describing which MinIO features to enable/disable in the MinIO Tenant.
KESConfig (`kes`) defines the configuration of the https://github.com/minio/kes[MinIO Key Encryption Service] (KES) StatefulSet deployed as part of the MinIO Tenant.
LocalCertificateReference (`externalCertSecret`, `externalCaCertSecret`,`clientCertSecret`) contains a Kubernetes secret containing TLS certificates or Certificate Authority files for use with enabling TLS in the MinIO Tenant.
Logging describes Logging for MinIO tenants.
Pool (`pools`) defines a MinIO server pool on a Tenant.
PoolsMetadata (`poolsMetadata`) defines custom labels and annotations for the MinIO pool stateful sets / pods.
PoolStatus keeps track of all the pools and their current state.
ServiceMetadata (`serviceMetadata`) defines custom labels and annotations for the MinIO Object Storage service and/or MinIO Console service.
SideCars (`sidecars`) defines a list of containers that the Operator attaches to each MinIO server pods in the `pool`.
Tenant is a https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/[Kubernetes object] describing a MinIO Tenant.
TenantDomains (`domains`) - List of domains used to access the tenant from outside the kubernetes clusters.
TenantList is a list of Tenant resources.
TenantScheduler (`scheduler`) - Object describing Kubernetes Scheduler to use for deploying the MinIO Tenant.
TenantSpec (`spec`) defines the configuration of a MinIO Tenant object.
TenantStatus is the status for a Tenant resource.
TenantUsage are metrics regarding the usage and capacity of the tenant.
TierUsage represents the usage from a tier setup by the tenant.

# Type aliases

HealthStatus represents whether the tenant is healthy, with decreased service or offline.
PoolState represents the state of a pool.