From e4ffd01a4f5a05299f3fe44706bdbd8ebc9aab7b Mon Sep 17 00:00:00 2001 From: pjuarezd Date: Thu, 12 Dec 2024 09:39:42 -0800 Subject: [PATCH] Release v7.0.0 --- README.md | 9 ++- docs/notes/v7.0.0.md | 11 ++++ docs/policybinding_crd.adoc | 4 +- docs/templates/asciidoctor/gv_list.tpl | 4 +- docs/tenant_crd.adoc | 4 +- examples/kustomization/base/tenant.yaml | 2 +- .../tenant-certmanager-kes/tenant.yaml | 2 +- .../tenant-kes-encryption/tenant.yaml | 2 +- helm/operator/Chart.yaml | 4 +- .../templates/minio.min.io_tenants.yaml | 57 ++++++++++++++++++- .../templates/sts.min.io_policybindings.yaml | 4 +- helm/operator/values.yaml | 10 ++-- helm/tenant/Chart.yaml | 4 +- helm/tenant/values.yaml | 10 ++-- pkg/apis/minio.min.io/v2/constants.go | 6 +- pkg/apis/minio.min.io/v2/types.go | 2 +- pkg/apis/sts.min.io/v1beta1/types.go | 2 +- .../minio.min.io/v2/poolsmetadata.go | 4 +- resources/base/crds/minio.min.io_tenants.yaml | 57 ++++++++++++++++++- .../base/crds/sts.min.io_policybindings.yaml | 4 +- resources/base/deployment.yaml | 2 +- resources/kustomization.yaml | 2 +- testing/common.sh | 2 +- testing/console-tenant+kes.sh | 2 +- 24 files changed, 163 insertions(+), 47 deletions(-) create mode 100644 docs/notes/v7.0.0.md diff --git a/README.md b/README.md index 4b90e0c0a5e..d1bdb1c0431 100644 --- a/README.md +++ b/README.md @@ -36,11 +36,10 @@ a Kubernetes cluster. ## Prerequisites -### Kubernetes 1.28.0 or Later +### Kubernetes 1.29.0 or Later -Starting with Operator v6.0.0, MinIO requires Kubernetes version 1.28.0 or later. You must upgrade your Kubernetes -cluster to 1.28.0 or later to use Operator -v6.0.0+. +Starting with Operator v7.0.0, MinIO requires Kubernetes version 1.29.0 or later. You must upgrade your Kubernetes +cluster to 1.29.0 or later to use Operator v7.0.0+. This procedure assumes the host machine has [`kubectl`](https://kubernetes.io/docs/tasks/tools) installed and configured with access to the target Kubernetes cluster. @@ -141,7 +140,7 @@ for [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kusto use that to install MiniO Operator. ```sh -kubectl kustomize github.com/minio/operator\?ref=v6.0.4 | kubectl apply -f - +kubectl kustomize github.com/minio/operator\?ref=v7.0.0 | kubectl apply -f - ``` Run the following command to verify the status of the Operator: diff --git a/docs/notes/v7.0.0.md b/docs/notes/v7.0.0.md new file mode 100644 index 00000000000..f5f47858b06 --- /dev/null +++ b/docs/notes/v7.0.0.md @@ -0,0 +1,11 @@ +# MinIO Operator v7.0.0 release notes + +## About this release + +MinIO Operator is the recommended production-ready way to manage MinIO deployments in Kubernetes. This version includes a new base version requirements, deprecations, bugfixes and more. + +## What’s new? + +Operator 7.0.0 is now available. This release requires Kubernetes version 1.29.0 or later. +If your cluster does not use Kubernetes version 1.29.0 or later, you must upgrade your cluster to before installing or upgrading to Operator v7.0.0+. + diff --git a/docs/policybinding_crd.adoc b/docs/policybinding_crd.adoc index 7d0655b3f67..586d39650ad 100644 --- a/docs/policybinding_crd.adoc +++ b/docs/policybinding_crd.adoc @@ -4,8 +4,8 @@ [id="{p}-api-reference"] == API Reference -:minio-image: https://hub.docker.com/r/minio/minio/tags[minio/minio:RELEASE.2024-10-02T17-50-41Z] -:kes-image: https://hub.docker.com/r/minio/kes/tags[minio/kes:2024-09-11T07-22-50Z] +:minio-image: https://hub.docker.com/r/minio/minio/tags[minio/minio:RELEASE.2024-11-07T00-52-20Z] +:kes-image: https://hub.docker.com/r/minio/kes/tags[minio/kes:2024-11-25T13-44-31Z] :mc-image: https://hub.docker.com/r/minio/mc/tags[minio/mc:RELEASE.2024-10-02T08-27-28Z] diff --git a/docs/templates/asciidoctor/gv_list.tpl b/docs/templates/asciidoctor/gv_list.tpl index 7a849bfb9dc..b98c06e9680 100644 --- a/docs/templates/asciidoctor/gv_list.tpl +++ b/docs/templates/asciidoctor/gv_list.tpl @@ -7,8 +7,8 @@ [id="{p}-api-reference"] == API Reference -:minio-image: https://hub.docker.com/r/minio/minio/tags[minio/minio:RELEASE.2024-10-02T17-50-41Z] -:kes-image: https://hub.docker.com/r/minio/kes/tags[minio/kes:2024-09-11T07-22-50Z] +:minio-image: https://hub.docker.com/r/minio/minio/tags[minio/minio:RELEASE.2024-11-07T00-52-20Z] +:kes-image: https://hub.docker.com/r/minio/kes/tags[minio/kes:2024-11-25T13-44-31Z] :mc-image: https://hub.docker.com/r/minio/mc/tags[minio/mc:RELEASE.2024-10-02T08-27-28Z] {{ range $groupVersions }} diff --git a/docs/tenant_crd.adoc b/docs/tenant_crd.adoc index e01e63ed310..678d205bf69 100644 --- a/docs/tenant_crd.adoc +++ b/docs/tenant_crd.adoc @@ -4,8 +4,8 @@ [id="{p}-api-reference"] == API Reference -:minio-image: https://hub.docker.com/r/minio/minio/tags[minio/minio:RELEASE.2024-10-02T17-50-41Z] -:kes-image: https://hub.docker.com/r/minio/kes/tags[minio/kes:2024-09-11T07-22-50Z] +:minio-image: https://hub.docker.com/r/minio/minio/tags[minio/minio:RELEASE.2024-11-07T00-52-20Z] +:kes-image: https://hub.docker.com/r/minio/kes/tags[minio/kes:2024-11-25T13-44-31Z] :mc-image: https://hub.docker.com/r/minio/mc/tags[minio/mc:RELEASE.2024-10-02T08-27-28Z] diff --git a/examples/kustomization/base/tenant.yaml b/examples/kustomization/base/tenant.yaml index 80198d275a1..0824212f782 100644 --- a/examples/kustomization/base/tenant.yaml +++ b/examples/kustomization/base/tenant.yaml @@ -144,7 +144,7 @@ spec: ## https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret externalClientCertSecrets: [ ] ## Registry location and Tag to download MinIO Server image - image: quay.io/minio/minio:RELEASE.2024-10-02T17-50-41Z + image: quay.io/minio/minio:RELEASE.2024-11-07T00-52-20Z imagePullSecret: { } ## Mount path where PV will be mounted inside container(s). mountPath: /export diff --git a/examples/kustomization/tenant-certmanager-kes/tenant.yaml b/examples/kustomization/tenant-certmanager-kes/tenant.yaml index a3d019868cb..2389f3e6f59 100644 --- a/examples/kustomization/tenant-certmanager-kes/tenant.yaml +++ b/examples/kustomization/tenant-certmanager-kes/tenant.yaml @@ -14,7 +14,7 @@ spec: externalCertSecret: name: tenant-certmanager-2-tls type: cert-manager.io/v1 - image: minio/kes:2024-09-11T07-22-50Z + image: minio/kes:2024-11-25T13-44-31Z imagePullPolicy: IfNotPresent kesSecret: name: kes-configuration diff --git a/examples/kustomization/tenant-kes-encryption/tenant.yaml b/examples/kustomization/tenant-kes-encryption/tenant.yaml index 109e883c121..8c46ab08ff3 100644 --- a/examples/kustomization/tenant-kes-encryption/tenant.yaml +++ b/examples/kustomization/tenant-kes-encryption/tenant.yaml @@ -7,7 +7,7 @@ spec: ## Define configuration for KES (stateless and distributed key-management system) ## Refer https://github.com/minio/kes kes: - image: "" # minio/kes:2024-09-11T07-22-50Z + image: "" # minio/kes:2024-11-25T13-44-31Z env: [ ] replicas: 2 kesSecret: diff --git a/helm/operator/Chart.yaml b/helm/operator/Chart.yaml index 98f4b2eb643..48163ef860d 100644 --- a/helm/operator/Chart.yaml +++ b/helm/operator/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 description: A Helm chart for MinIO Operator name: operator -version: 6.0.4 -appVersion: v6.0.4 +version: 7.0.0 +appVersion: v7.0.0 keywords: - storage - object-storage diff --git a/helm/operator/templates/minio.min.io_tenants.yaml b/helm/operator/templates/minio.min.io_tenants.yaml index e295126ce51..72d7e591fc6 100644 --- a/helm/operator/templates/minio.min.io_tenants.yaml +++ b/helm/operator/templates/minio.min.io_tenants.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.15.0 - operator.min.io/version: v6.0.4 + controller-gen.kubebuilder.io/version: v0.16.5 + operator.min.io/version: v7.0.0 name: tenants.minio.min.io spec: group: minio.min.io @@ -94,10 +94,12 @@ spec: diskURI: type: string fsType: + default: ext4 type: string kind: type: string readOnly: + default: false type: boolean required: - diskName @@ -474,6 +476,13 @@ spec: required: - path type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object iscsi: properties: chapAuthDiscovery: @@ -487,6 +496,7 @@ spec: iqn: type: string iscsiInterface: + default: default type: string lun: format: int32 @@ -735,6 +745,7 @@ spec: image: type: string keyring: + default: /etc/ceph/keyring type: string monitors: items: @@ -742,6 +753,7 @@ spec: type: array x-kubernetes-list-type: atomic pool: + default: rbd type: string readOnly: type: boolean @@ -753,6 +765,7 @@ spec: type: object x-kubernetes-map-type: atomic user: + default: admin type: string required: - image @@ -761,6 +774,7 @@ spec: scaleIO: properties: fsType: + default: xfs type: string gateway: type: string @@ -778,6 +792,7 @@ spec: sslEnabled: type: boolean storageMode: + default: ThinProvisioned type: string storagePool: type: string @@ -1281,6 +1296,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1387,6 +1403,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1468,6 +1485,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -1585,6 +1604,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -2338,6 +2358,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -2412,6 +2434,8 @@ spec: type: integer type: array x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string sysctls: items: properties: @@ -2654,6 +2678,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -3264,6 +3289,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -3340,6 +3367,8 @@ spec: type: integer type: array x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string sysctls: items: properties: @@ -3672,6 +3701,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4020,6 +4050,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4126,6 +4157,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4207,6 +4239,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -4324,6 +4358,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4448,6 +4483,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -4681,10 +4718,12 @@ spec: diskURI: type: string fsType: + default: ext4 type: string kind: type: string readOnly: + default: false type: boolean required: - diskName @@ -5061,6 +5100,13 @@ spec: required: - path type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object iscsi: properties: chapAuthDiscovery: @@ -5074,6 +5120,7 @@ spec: iqn: type: string iscsiInterface: + default: default type: string lun: format: int32 @@ -5322,6 +5369,7 @@ spec: image: type: string keyring: + default: /etc/ceph/keyring type: string monitors: items: @@ -5329,6 +5377,7 @@ spec: type: array x-kubernetes-list-type: atomic pool: + default: rbd type: string readOnly: type: boolean @@ -5340,6 +5389,7 @@ spec: type: object x-kubernetes-map-type: atomic user: + default: admin type: string required: - image @@ -5348,6 +5398,7 @@ spec: scaleIO: properties: fsType: + default: xfs type: string gateway: type: string @@ -5365,6 +5416,7 @@ spec: sslEnabled: type: boolean storageMode: + default: ThinProvisioned type: string storagePool: type: string @@ -5458,6 +5510,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port diff --git a/helm/operator/templates/sts.min.io_policybindings.yaml b/helm/operator/templates/sts.min.io_policybindings.yaml index c1a3ac2446b..1dc6be5989a 100644 --- a/helm/operator/templates/sts.min.io_policybindings.yaml +++ b/helm/operator/templates/sts.min.io_policybindings.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.15.0 - operator.min.io/version: v6.0.4 + controller-gen.kubebuilder.io/version: v0.16.5 + operator.min.io/version: v7.0.0 name: policybindings.sts.min.io spec: group: sts.min.io diff --git a/helm/operator/values.yaml b/helm/operator/values.yaml index a86506cf552..5d08e8f749d 100644 --- a/helm/operator/values.yaml +++ b/helm/operator/values.yaml @@ -28,14 +28,14 @@ operator: ### # Specify the Operator container image to use for the deployment. # ``image.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v6.0.4 tag. + # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v7.0.0 tag. # The container pulls the image if not already present: # # .. code-block:: yaml # # image: # repository: quay.io/minio/operator - # tag: v6.0.4 + # tag: v7.0.0 # pullPolicy: IfNotPresent # # The chart also supports specifying an image based on digest value: @@ -49,20 +49,20 @@ operator: # image: repository: quay.io/minio/operator - tag: v6.0.4 + tag: v7.0.0 pullPolicy: IfNotPresent ### # Specify the sidecar container image to deploy on tenant pods for init container and sidecar. # Only need to change this if want to use a different version that the default, or want to set a custom registry. # ``sidecarImage.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator-sidecar`` repo and the v6.0.4 tag. + # For example, the following sets the image to the ``quay.io/minio/operator-sidecar`` repo and the v7.0.0 tag. # The container pulls the image if not already present: # # .. code-block:: yaml # # sidecarImage: # repository: quay.io/minio/operator-sidecar - # tag: v6.0.4 + # tag: v7.0.0 # pullPolicy: IfNotPresent # # The chart also supports specifying an image based on digest value: diff --git a/helm/tenant/Chart.yaml b/helm/tenant/Chart.yaml index 49d5d12b045..3a006f76552 100644 --- a/helm/tenant/Chart.yaml +++ b/helm/tenant/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 description: A Helm chart for MinIO Operator name: tenant -version: 6.0.4 -appVersion: v6.0.4 +version: 7.0.0 +appVersion: v7.0.0 keywords: - storage - object-storage diff --git a/helm/tenant/values.yaml b/helm/tenant/values.yaml index 1dcc4311502..4fd58527184 100644 --- a/helm/tenant/values.yaml +++ b/helm/tenant/values.yaml @@ -8,14 +8,14 @@ tenant: ### # Specify the Operator container image to use for the deployment. # ``image.tag`` - # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v6.0.4 tag. + # For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v7.0.0 tag. # The container pulls the image if not already present: # # .. code-block:: yaml # # image: # repository: quay.io/minio/minio - # tag: RELEASE.2024-10-02T17-50-41Z + # tag: RELEASE.2024-11-07T00-52-20Z # pullPolicy: IfNotPresent # # The chart also supports specifying an image based on digest value: @@ -30,7 +30,7 @@ tenant: # image: repository: quay.io/minio/minio - tag: RELEASE.2024-10-02T17-50-41Z + tag: RELEASE.2024-11-07T00-52-20Z pullPolicy: IfNotPresent ### # @@ -386,14 +386,14 @@ tenant: # # Image from tag (original behavior), for example: # # image: # # repository: quay.io/minio/kes - # # tag: 2024-09-11T07-22-50Z + # # tag: 2024-11-25T13-44-31Z # # Image from digest (added after original behavior), for example: # # image: # # repository: quay.io/minio/kes@sha256 # # digest: fb15af611149892f357a8a99d1bcd8bf5dae713bd64c15e6eb27fbdb88fc208b # image: # repository: quay.io/minio/kes - # tag: 2024-09-11T07-22-50Z + # tag: 2024-11-25T13-44-31Z # pullPolicy: IfNotPresent # env: [ ] # replicas: 2 diff --git a/pkg/apis/minio.min.io/v2/constants.go b/pkg/apis/minio.min.io/v2/constants.go index b4b9c6ae5ca..ad4354679be 100644 --- a/pkg/apis/minio.min.io/v2/constants.go +++ b/pkg/apis/minio.min.io/v2/constants.go @@ -106,7 +106,7 @@ const MinIOVolumeMountPath = "/export" const MinIOVolumeSubPath = "" // DefaultMinIOImage specifies the default MinIO Docker hub image -const DefaultMinIOImage = "minio/minio:RELEASE.2024-10-02T17-50-41Z" +const DefaultMinIOImage = "minio/minio:RELEASE.2024-11-07T00-52-20Z" // DefaultMinIOUpdateURL specifies the default MinIO URL where binaries are // pulled from during MinIO upgrades @@ -143,8 +143,8 @@ const ConsoleAdminPolicyName = "consoleAdmin" // KES Related Constants -// DefaultKESImage specifies the 2024-09-11T07-22-50Z KES Docker hub image -const DefaultKESImage = "minio/kes:2024-09-11T07-22-50Z" +// DefaultKESImage specifies the 2024-11-25T13-44-31Z KES Docker hub image +const DefaultKESImage = "minio/kes:2024-11-25T13-44-31Z" // KESInstanceLabel is applied to the KES pods of a Tenant cluster const KESInstanceLabel = "v1.min.io/kes" diff --git a/pkg/apis/minio.min.io/v2/types.go b/pkg/apis/minio.min.io/v2/types.go index 4644f72a58a..115a390ff21 100644 --- a/pkg/apis/minio.min.io/v2/types.go +++ b/pkg/apis/minio.min.io/v2/types.go @@ -31,7 +31,7 @@ import ( // +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.currentState" // +kubebuilder:printcolumn:name="Health",type="string",JSONPath=".status.healthStatus" // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:metadata:annotations=operator.min.io/version=v6.0.4 +// +kubebuilder:metadata:annotations=operator.min.io/version=v7.0.0 // +kubebuilder:storageversion type Tenant struct { metav1.TypeMeta `json:",inline"` diff --git a/pkg/apis/sts.min.io/v1beta1/types.go b/pkg/apis/sts.min.io/v1beta1/types.go index 3d64b83cf64..7d8b5538a40 100644 --- a/pkg/apis/sts.min.io/v1beta1/types.go +++ b/pkg/apis/sts.min.io/v1beta1/types.go @@ -26,7 +26,7 @@ import ( // +kubebuilder:resource:scope=Namespaced,shortName=policybinding,singular=policybinding // +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.currentState" // +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:metadata:annotations=operator.min.io/version=v6.0.4 +// +kubebuilder:metadata:annotations=operator.min.io/version=v7.0.0 // +kubebuilder:storageversion // +groupName=policybinding.sts.min.io // +versionName=v1beta1 diff --git a/pkg/client/applyconfiguration/minio.min.io/v2/poolsmetadata.go b/pkg/client/applyconfiguration/minio.min.io/v2/poolsmetadata.go index 613013e8ce5..c8674758d1f 100644 --- a/pkg/client/applyconfiguration/minio.min.io/v2/poolsmetadata.go +++ b/pkg/client/applyconfiguration/minio.min.io/v2/poolsmetadata.go @@ -18,14 +18,14 @@ package v2 -// PoolsMetadataApplyConfiguration represents an declarative configuration of the PoolsMetadata type for use +// PoolsMetadataApplyConfiguration represents a declarative configuration of the PoolsMetadata type for use // with apply. type PoolsMetadataApplyConfiguration struct { Labels map[string]string `json:"labels,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` } -// PoolsMetadataApplyConfiguration constructs an declarative configuration of the PoolsMetadata type for use with +// PoolsMetadataApplyConfiguration constructs a declarative configuration of the PoolsMetadata type for use with // apply. func PoolsMetadata() *PoolsMetadataApplyConfiguration { return &PoolsMetadataApplyConfiguration{} diff --git a/resources/base/crds/minio.min.io_tenants.yaml b/resources/base/crds/minio.min.io_tenants.yaml index e295126ce51..72d7e591fc6 100644 --- a/resources/base/crds/minio.min.io_tenants.yaml +++ b/resources/base/crds/minio.min.io_tenants.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.15.0 - operator.min.io/version: v6.0.4 + controller-gen.kubebuilder.io/version: v0.16.5 + operator.min.io/version: v7.0.0 name: tenants.minio.min.io spec: group: minio.min.io @@ -94,10 +94,12 @@ spec: diskURI: type: string fsType: + default: ext4 type: string kind: type: string readOnly: + default: false type: boolean required: - diskName @@ -474,6 +476,13 @@ spec: required: - path type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object iscsi: properties: chapAuthDiscovery: @@ -487,6 +496,7 @@ spec: iqn: type: string iscsiInterface: + default: default type: string lun: format: int32 @@ -735,6 +745,7 @@ spec: image: type: string keyring: + default: /etc/ceph/keyring type: string monitors: items: @@ -742,6 +753,7 @@ spec: type: array x-kubernetes-list-type: atomic pool: + default: rbd type: string readOnly: type: boolean @@ -753,6 +765,7 @@ spec: type: object x-kubernetes-map-type: atomic user: + default: admin type: string required: - image @@ -761,6 +774,7 @@ spec: scaleIO: properties: fsType: + default: xfs type: string gateway: type: string @@ -778,6 +792,7 @@ spec: sslEnabled: type: boolean storageMode: + default: ThinProvisioned type: string storagePool: type: string @@ -1281,6 +1296,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1387,6 +1403,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1468,6 +1485,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -1585,6 +1604,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -2338,6 +2358,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -2412,6 +2434,8 @@ spec: type: integer type: array x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string sysctls: items: properties: @@ -2654,6 +2678,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -3264,6 +3289,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -3340,6 +3367,8 @@ spec: type: integer type: array x-kubernetes-list-type: atomic + supplementalGroupsPolicy: + type: string sysctls: items: properties: @@ -3672,6 +3701,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4020,6 +4050,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4126,6 +4157,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4207,6 +4239,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -4324,6 +4358,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4448,6 +4483,8 @@ spec: properties: name: type: string + request: + type: string required: - name type: object @@ -4681,10 +4718,12 @@ spec: diskURI: type: string fsType: + default: ext4 type: string kind: type: string readOnly: + default: false type: boolean required: - diskName @@ -5061,6 +5100,13 @@ spec: required: - path type: object + image: + properties: + pullPolicy: + type: string + reference: + type: string + type: object iscsi: properties: chapAuthDiscovery: @@ -5074,6 +5120,7 @@ spec: iqn: type: string iscsiInterface: + default: default type: string lun: format: int32 @@ -5322,6 +5369,7 @@ spec: image: type: string keyring: + default: /etc/ceph/keyring type: string monitors: items: @@ -5329,6 +5377,7 @@ spec: type: array x-kubernetes-list-type: atomic pool: + default: rbd type: string readOnly: type: boolean @@ -5340,6 +5389,7 @@ spec: type: object x-kubernetes-map-type: atomic user: + default: admin type: string required: - image @@ -5348,6 +5398,7 @@ spec: scaleIO: properties: fsType: + default: xfs type: string gateway: type: string @@ -5365,6 +5416,7 @@ spec: sslEnabled: type: boolean storageMode: + default: ThinProvisioned type: string storagePool: type: string @@ -5458,6 +5510,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port diff --git a/resources/base/crds/sts.min.io_policybindings.yaml b/resources/base/crds/sts.min.io_policybindings.yaml index c1a3ac2446b..1dc6be5989a 100644 --- a/resources/base/crds/sts.min.io_policybindings.yaml +++ b/resources/base/crds/sts.min.io_policybindings.yaml @@ -3,8 +3,8 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.15.0 - operator.min.io/version: v6.0.4 + controller-gen.kubebuilder.io/version: v0.16.5 + operator.min.io/version: v7.0.0 name: policybindings.sts.min.io spec: group: sts.min.io diff --git a/resources/base/deployment.yaml b/resources/base/deployment.yaml index 1beac815e95..a6ef62abe17 100644 --- a/resources/base/deployment.yaml +++ b/resources/base/deployment.yaml @@ -23,7 +23,7 @@ spec: serviceAccountName: minio-operator containers: - name: minio-operator - image: minio/operator:v6.0.4 + image: minio/operator:v7.0.0 imagePullPolicy: IfNotPresent args: - controller diff --git a/resources/kustomization.yaml b/resources/kustomization.yaml index 8a3328ff7fb..0ebe3e58e6b 100644 --- a/resources/kustomization.yaml +++ b/resources/kustomization.yaml @@ -5,7 +5,7 @@ commonAnnotations: operator.min.io/authors: "MinIO, Inc." operator.min.io/license: "AGPLv3" operator.min.io/support: "https://subnet.min.io" - operator.min.io/version: v6.0.4 + operator.min.io/version: v7.0.0 commonLabels: app.kubernetes.io/name: operator resources: diff --git a/testing/common.sh b/testing/common.sh index 54e7ab61f98..f61d718815c 100644 --- a/testing/common.sh +++ b/testing/common.sh @@ -26,7 +26,7 @@ DEV_TEST=$OPERATOR_DEV_TEST # Set OPERATOR_DEV_TEST to skip downloading these dependencies if [[ -z "${DEV_TEST}" ]]; then ## Make sure to install things if not present already - sudo curl -#L "https://dl.k8s.io/release/v1.28.12/bin/$OS/$ARCH/kubectl" -o /usr/local/bin/kubectl + sudo curl -#L "https://dl.k8s.io/release/v1.29.10/bin/$OS/$ARCH/kubectl" -o /usr/local/bin/kubectl sudo chmod +x /usr/local/bin/kubectl sudo curl -#L "https://dl.min.io/client/mc/release/${OS}-${ARCH}/mc" -o /usr/local/bin/mc diff --git a/testing/console-tenant+kes.sh b/testing/console-tenant+kes.sh index 2392d4df652..6753b3ef51b 100755 --- a/testing/console-tenant+kes.sh +++ b/testing/console-tenant+kes.sh @@ -97,7 +97,7 @@ function test_kes_tenant() { sed -i -e 's/ROLE_ID/'"$ROLE_ID"'/g' "${SCRIPT_DIR}/kes-config.yaml" sed -i -e 's/SECRET_ID/'"$SECRET_ID"'/g' "${SCRIPT_DIR}/kes-config.yaml" cp "${SCRIPT_DIR}/kes-config.yaml" "${SCRIPT_DIR}/../examples/kustomization/tenant-kes-encryption/kes-configuration-secret.yaml" - yq e -i '.spec.kes.image = "minio/kes:2024-09-11T07-22-50Z"' "${SCRIPT_DIR}/../examples/kustomization/tenant-kes-encryption/tenant.yaml" + yq e -i '.spec.kes.image = "minio/kes:2024-11-25T13-44-31Z"' "${SCRIPT_DIR}/../examples/kustomization/tenant-kes-encryption/tenant.yaml" kubectl apply -k "${SCRIPT_DIR}/../examples/kustomization/tenant-kes-encryption" echo "Check Tenant Status in tenant-kms-encrypted namespace for myminio:"