From 6530c91b18ff4076278d72d9e9aa5ecce43474e6 Mon Sep 17 00:00:00 2001 From: Ramon de Klein Date: Mon, 24 Jun 2024 16:45:07 +0200 Subject: [PATCH] Fix code generation (#2181) --- Makefile | 2 +- config/manifests/kustomization.yaml | 71 ++--- docs/job_crd.adoc | 24 ++ docs/tenant-creation.md | 4 +- .../kustomization/base/kustomization.yaml | 8 +- .../cert-manager/kustomization.yaml | 2 +- .../operator-certmanager/kustomization.yaml | 14 +- .../kustomization.yaml | 8 +- .../sts-example/kustomization.yaml | 2 +- .../kustomization.yaml | 12 +- .../tenant-certmanager-kes/kustomization.yaml | 13 +- .../tenant-certmanager/kustomization.yaml | 10 +- .../kustomization.yaml | 10 +- .../kustomization.yaml | 6 +- .../kustomization.yaml | 12 +- .../tenant-kes-encryption/kustomization.yaml | 8 +- .../tenant-letsencrypt/kustomization.yaml | 8 +- .../tenant-lite/kustomization.yaml | 6 +- .../tenant-nodeport/kustomization.yaml | 4 +- .../tenant-openshift/kustomization.yaml | 4 +- .../tenant-tiny/kustomization.yaml | 6 +- helm/operator/templates/job.min.io_jobs.yaml | 57 ++++ .../templates/minio.min.io_tenants.yaml | 285 ++++++++++++++++++ k8s/update-codegen.sh | 41 +-- olm.sh | 4 +- .../v1alpha1/zz_generated.deepcopy.go | 5 + .../v1alpha1/zz_generated.defaults.go | 33 ++ .../minio.min.io/v2/zz_generated.defaults.go | 33 ++ .../v1alpha1/zz_generated.defaults.go | 33 ++ .../v1beta1/zz_generated.defaults.go | 33 ++ .../job.min.io/v1alpha1/miniojobspec.go | 20 ++ resources/base/crds/job.min.io_miniojobs.yaml | 57 ++++ resources/base/crds/minio.min.io_tenants.yaml | 285 ++++++++++++++++++ samples/kustomization.yaml | 12 +- testing/dev/kustomization.yaml | 10 +- testing/tenant-logs/kustomization.yaml | 7 +- testing/tenant-prometheus/kustomization.yaml | 7 +- 37 files changed, 1001 insertions(+), 155 deletions(-) create mode 100644 pkg/apis/job.min.io/v1alpha1/zz_generated.defaults.go create mode 100644 pkg/apis/minio.min.io/v2/zz_generated.defaults.go create mode 100644 pkg/apis/sts.min.io/v1alpha1/zz_generated.defaults.go create mode 100644 pkg/apis/sts.min.io/v1beta1/zz_generated.defaults.go diff --git a/Makefile b/Makefile index 1c457d8e720..e7d1d44f558 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ getdeps: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2 && \ echo "Installing govulncheck" && \ go install golang.org/x/vuln/cmd/govulncheck@latest &&\ - echo "installng gopls" && \ + echo "installing gopls" && \ go install golang.org/x/tools/gopls@latest verify: getdeps govet lint diff --git a/config/manifests/kustomization.yaml b/config/manifests/kustomization.yaml index 09a83b31311..0f67f55979a 100644 --- a/config/manifests/kustomization.yaml +++ b/config/manifests/kustomization.yaml @@ -1,41 +1,42 @@ namespace: minio-operator resources: - - bases/minio-operator.clusterserviceversion.yaml - - bases/minio-operator-rhmp.clusterserviceversion.yaml - - ../../resources/ - - ../../samples/ +- bases/minio-operator.clusterserviceversion.yaml +- bases/minio-operator-rhmp.clusterserviceversion.yaml +- ../../resources/ +- ../../samples/ -patchesStrategicMerge: - - overlay/minio-operator-deployment.yaml - - overlay/console-deployment.yaml - - overlay/console_v1_service.yaml - - overlay/sts_v1_service.yaml patches: - - target: - group: apps - version: v1 - kind: Deployment - name: console - namespace: minio-operator - patch: |- - - op: remove - path: /spec/template/spec/containers/0/securityContext/runAsGroup - - op: remove - path: /spec/template/spec/containers/0/securityContext/runAsUser - - op: remove - path: /spec/template/spec/containers/0/securityContext/runAsNonRoot - - target: - group: apps - version: v1 - kind: Deployment - name: minio-operator - namespace: minio-operator - patch: |- - - op: remove - path: /spec/template/spec/containers/0/securityContext/runAsGroup - - op: remove - path: /spec/template/spec/containers/0/securityContext/runAsUser - - op: remove - path: /spec/template/spec/containers/0/securityContext/runAsNonRoot +- patch: |- + - op: remove + path: /spec/template/spec/containers/0/securityContext/runAsGroup + - op: remove + path: /spec/template/spec/containers/0/securityContext/runAsUser + - op: remove + path: /spec/template/spec/containers/0/securityContext/runAsNonRoot + target: + group: apps + kind: Deployment + name: console + namespace: minio-operator + version: v1 +- patch: |- + - op: remove + path: /spec/template/spec/containers/0/securityContext/runAsGroup + - op: remove + path: /spec/template/spec/containers/0/securityContext/runAsUser + - op: remove + path: /spec/template/spec/containers/0/securityContext/runAsNonRoot + target: + group: apps + kind: Deployment + name: minio-operator + namespace: minio-operator + version: v1 +- path: overlay/minio-operator-deployment.yaml +- path: overlay/console-deployment.yaml +- path: overlay/console_v1_service.yaml +- path: overlay/sts_v1_service.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization diff --git a/docs/job_crd.adoc b/docs/job_crd.adoc index d0ca4c425da..94054a998a2 100644 --- a/docs/job_crd.adoc +++ b/docs/job_crd.adoc @@ -199,6 +199,30 @@ Commands List of MinioClient commands |*`mcImage`* __string__ |mc job image +|*`imagePullPolicy`* __link:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#pullpolicy-v1-core[$$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`* __link:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#localobjectreference-v1-core[$$LocalObjectReference$$] array__ +|*Optional* + + + +Specify the secret key to use for pulling images from a private Docker repository. + + |*`securityContext`* __link:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core[$$PodSecurityContext$$]__ |*Optional* + diff --git a/docs/tenant-creation.md b/docs/tenant-creation.md index c684126ccd2..627175873c2 100644 --- a/docs/tenant-creation.md +++ b/docs/tenant-creation.md @@ -34,8 +34,8 @@ namespace: minio-tenant resources: - github.com/minio/operator/examples/kustomization/base -patchesStrategicMerge: - - tenant.yaml +patches: + - path: tenant.yaml ``` and an overlay `tenant.yaml` like: diff --git a/examples/kustomization/base/kustomization.yaml b/examples/kustomization/base/kustomization.yaml index cdb70b35d9d..dfcc3143519 100644 --- a/examples/kustomization/base/kustomization.yaml +++ b/examples/kustomization/base/kustomization.yaml @@ -4,7 +4,7 @@ kind: Kustomization namespace: minio-tenant resources: - - namespace.yaml - - tenant-config.yaml - - storage-user.yaml - - tenant.yaml +- namespace.yaml +- tenant-config.yaml +- storage-user.yaml +- tenant.yaml diff --git a/examples/kustomization/cert-manager/kustomization.yaml b/examples/kustomization/cert-manager/kustomization.yaml index 8264beadc02..859b09f5a7e 100644 --- a/examples/kustomization/cert-manager/kustomization.yaml +++ b/examples/kustomization/cert-manager/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - selfsigned-root-clusterissuer.yaml +- selfsigned-root-clusterissuer.yaml diff --git a/examples/kustomization/operator-certmanager/kustomization.yaml b/examples/kustomization/operator-certmanager/kustomization.yaml index aeaf5c11393..857f8eca0ea 100644 --- a/examples/kustomization/operator-certmanager/kustomization.yaml +++ b/examples/kustomization/operator-certmanager/kustomization.yaml @@ -2,12 +2,12 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../cert-manager - - ../../../resources - - operator-ca-tls-secret.yaml - - sts-tls-certificate.yaml - - console-tls-certificate.yaml - - minio-operator-ca-issuer.yaml +- ../cert-manager +- ../../../resources +- operator-ca-tls-secret.yaml +- sts-tls-certificate.yaml +- console-tls-certificate.yaml +- minio-operator-ca-issuer.yaml patches: - - path: operator-deployment.yaml +- path: operator-deployment.yaml diff --git a/examples/kustomization/operator-external-idp-oid/kustomization.yaml b/examples/kustomization/operator-external-idp-oid/kustomization.yaml index ab49c756e54..bbdd67240d0 100644 --- a/examples/kustomization/operator-external-idp-oid/kustomization.yaml +++ b/examples/kustomization/operator-external-idp-oid/kustomization.yaml @@ -2,8 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../../resources - - console-tls-secret.yaml +- ../../../resources +- console-tls-secret.yaml -patchesStrategicMerge: - - console-deployment.yaml +patches: +- path: console-deployment.yaml diff --git a/examples/kustomization/sts-example/kustomization.yaml b/examples/kustomization/sts-example/kustomization.yaml index 084fea48ea0..b70720e9f21 100644 --- a/examples/kustomization/sts-example/kustomization.yaml +++ b/examples/kustomization/sts-example/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - sts-app \ No newline at end of file +- sts-app diff --git a/examples/kustomization/tenant-PodSecurityPolicies/kustomization.yaml b/examples/kustomization/tenant-PodSecurityPolicies/kustomization.yaml index e6d9053d0c5..0c66af56375 100644 --- a/examples/kustomization/tenant-PodSecurityPolicies/kustomization.yaml +++ b/examples/kustomization/tenant-PodSecurityPolicies/kustomization.yaml @@ -4,10 +4,10 @@ kind: Kustomization namespace: tenant-psp resources: - - auditlog-sa.yaml - - prometheus-sa.yaml - - minio-sa.yaml - - ../base +- auditlog-sa.yaml +- prometheus-sa.yaml +- minio-sa.yaml +- ../base -patchesStrategicMerge: - - tenant.yaml \ No newline at end of file +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-certmanager-kes/kustomization.yaml b/examples/kustomization/tenant-certmanager-kes/kustomization.yaml index 89a5a547ed8..e2236206606 100644 --- a/examples/kustomization/tenant-certmanager-kes/kustomization.yaml +++ b/examples/kustomization/tenant-certmanager-kes/kustomization.yaml @@ -4,11 +4,10 @@ kind: Kustomization namespace: tenant-certmanager-kes resources: - - ../cert-manager - - myminio-kes-certificate.yaml - - vault.yaml - - ../tenant-kes-encryption - -patchesStrategicMerge: - - tenant.yaml +- ../cert-manager +- myminio-kes-certificate.yaml +- vault.yaml +- ../tenant-kes-encryption +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-certmanager/kustomization.yaml b/examples/kustomization/tenant-certmanager/kustomization.yaml index 802404daaf8..d7e01b8c46a 100644 --- a/examples/kustomization/tenant-certmanager/kustomization.yaml +++ b/examples/kustomization/tenant-certmanager/kustomization.yaml @@ -3,10 +3,10 @@ kind: Kustomization namespace: tenant-certmanager resources: - - tenant-certmanager-issuer.yaml - - tenant-certmanager-ca-certificate.yaml - - tenant-certmanager-myminio-certificate.yaml - - ../base +- tenant-certmanager-issuer.yaml +- tenant-certmanager-ca-certificate.yaml +- tenant-certmanager-myminio-certificate.yaml +- ../base patches: - - path: tenant.yaml +- path: tenant.yaml diff --git a/examples/kustomization/tenant-external-idp-ldap/kustomization.yaml b/examples/kustomization/tenant-external-idp-ldap/kustomization.yaml index 10d8acb3c0e..d13f388bf4d 100644 --- a/examples/kustomization/tenant-external-idp-ldap/kustomization.yaml +++ b/examples/kustomization/tenant-external-idp-ldap/kustomization.yaml @@ -4,9 +4,9 @@ kind: Kustomization namespace: tenant-external-idp-ldap resources: - - ../base - - openldap.yaml +- ../base +- openldap.yaml -patchesStrategicMerge: - - tenant.yaml - - storage-user.yaml +patches: +- path: tenant.yaml +- path: storage-user.yaml diff --git a/examples/kustomization/tenant-external-idp-oidc/kustomization.yaml b/examples/kustomization/tenant-external-idp-oidc/kustomization.yaml index 1757f8b56d1..84f65caec5d 100644 --- a/examples/kustomization/tenant-external-idp-oidc/kustomization.yaml +++ b/examples/kustomization/tenant-external-idp-oidc/kustomization.yaml @@ -4,7 +4,7 @@ kind: Kustomization namespace: tenant-external-idp-oidc resources: - - ../base +- ../base -patchesStrategicMerge: - - tenant.yaml +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-kes-encryption-gcp/kustomization.yaml b/examples/kustomization/tenant-kes-encryption-gcp/kustomization.yaml index f75eb697183..26c3e3fcdc9 100644 --- a/examples/kustomization/tenant-kes-encryption-gcp/kustomization.yaml +++ b/examples/kustomization/tenant-kes-encryption-gcp/kustomization.yaml @@ -4,10 +4,10 @@ kind: Kustomization namespace: tenant-kms-encrypted resources: - - ../base - - kes-configuration-secret.yaml - - gcp-default-creds-secret.yaml - - kes-service-account.yaml +- ../base +- kes-configuration-secret.yaml +- gcp-default-creds-secret.yaml +- kes-service-account.yaml -patchesStrategicMerge: - - tenant.yaml +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-kes-encryption/kustomization.yaml b/examples/kustomization/tenant-kes-encryption/kustomization.yaml index 3dd4b4d78c3..6460fbe6c76 100644 --- a/examples/kustomization/tenant-kes-encryption/kustomization.yaml +++ b/examples/kustomization/tenant-kes-encryption/kustomization.yaml @@ -4,8 +4,8 @@ kind: Kustomization namespace: tenant-kms-encrypted resources: - - ../base - - kes-configuration-secret.yaml +- ../base +- kes-configuration-secret.yaml -patchesStrategicMerge: - - tenant.yaml +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-letsencrypt/kustomization.yaml b/examples/kustomization/tenant-letsencrypt/kustomization.yaml index 510ac90c9fc..75b30ea3da9 100644 --- a/examples/kustomization/tenant-letsencrypt/kustomization.yaml +++ b/examples/kustomization/tenant-letsencrypt/kustomization.yaml @@ -4,8 +4,8 @@ kind: Kustomization namespace: tenant-letsencrypt resources: - - ingress.yaml - - ../base +- ingress.yaml +- ../base -patchesStrategicMerge: - - tenant.yaml +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-lite/kustomization.yaml b/examples/kustomization/tenant-lite/kustomization.yaml index 51548a94ad3..0e3528386ae 100644 --- a/examples/kustomization/tenant-lite/kustomization.yaml +++ b/examples/kustomization/tenant-lite/kustomization.yaml @@ -4,7 +4,7 @@ kind: Kustomization namespace: tenant-lite resources: - - ../base +- ../base -patchesStrategicMerge: - - tenant.yaml \ No newline at end of file +patches: +- path: tenant.yaml diff --git a/examples/kustomization/tenant-nodeport/kustomization.yaml b/examples/kustomization/tenant-nodeport/kustomization.yaml index c611d2106b0..c600c286bd1 100644 --- a/examples/kustomization/tenant-nodeport/kustomization.yaml +++ b/examples/kustomization/tenant-nodeport/kustomization.yaml @@ -4,5 +4,5 @@ kind: Kustomization namespace: tenant-nodeport resources: - - ../base - - nodeport-service.yaml +- ../base +- nodeport-service.yaml diff --git a/examples/kustomization/tenant-openshift/kustomization.yaml b/examples/kustomization/tenant-openshift/kustomization.yaml index 8cd6047a525..5f90650e980 100644 --- a/examples/kustomization/tenant-openshift/kustomization.yaml +++ b/examples/kustomization/tenant-openshift/kustomization.yaml @@ -4,6 +4,6 @@ kind: Kustomization namespace: minio-tenant resources: - - ../base +- ../base patches: - - path: tenant.yaml +- path: tenant.yaml diff --git a/examples/kustomization/tenant-tiny/kustomization.yaml b/examples/kustomization/tenant-tiny/kustomization.yaml index 2288d0a2c15..4601b9ff7d4 100644 --- a/examples/kustomization/tenant-tiny/kustomization.yaml +++ b/examples/kustomization/tenant-tiny/kustomization.yaml @@ -4,7 +4,7 @@ kind: Kustomization namespace: tenant-tiny resources: - - ../base +- ../base -patchesStrategicMerge: - - tenant.yaml \ No newline at end of file +patches: +- path: tenant.yaml diff --git a/helm/operator/templates/job.min.io_jobs.yaml b/helm/operator/templates/job.min.io_jobs.yaml index 9aec296db81..de7ecf4ef04 100644 --- a/helm/operator/templates/job.min.io_jobs.yaml +++ b/helm/operator/templates/job.min.io_jobs.yaml @@ -65,6 +65,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -103,6 +104,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -121,6 +123,7 @@ spec: configMapRef: properties: name: + default: "" type: string optional: type: boolean @@ -131,6 +134,7 @@ spec: secretRef: properties: name: + default: "" type: string optional: type: boolean @@ -184,6 +188,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -246,6 +252,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic path: type: string readOnly: @@ -255,6 +262,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -272,6 +280,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -300,7 +309,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -315,6 +326,7 @@ spec: nodePublishSecretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -370,6 +382,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object emptyDir: properties: @@ -411,6 +424,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -470,11 +484,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -507,10 +523,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic wwids: items: type: string type: array + x-kubernetes-list-type: atomic type: object flexVolume: properties: @@ -527,6 +545,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -607,11 +626,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -688,11 +709,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -727,7 +750,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -773,6 +798,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object secret: properties: @@ -791,7 +817,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -811,6 +839,7 @@ spec: type: object type: object type: array + x-kubernetes-list-type: atomic type: object quobyte: properties: @@ -842,6 +871,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic pool: type: string readOnly: @@ -849,6 +879,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -871,6 +902,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -909,6 +941,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic optional: type: boolean secretName: @@ -923,6 +956,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -956,16 +990,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -1031,6 +1076,7 @@ spec: items: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -1040,6 +1086,15 @@ spec: type: string securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object fsGroup: format: int64 type: integer @@ -1078,6 +1133,7 @@ spec: format: int64 type: integer type: array + x-kubernetes-list-type: atomic sysctls: items: properties: @@ -1090,6 +1146,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic windowsOptions: properties: gmsaCredentialSpec: diff --git a/helm/operator/templates/minio.min.io_tenants.yaml b/helm/operator/templates/minio.min.io_tenants.yaml index 076f2add230..e2769b7243c 100644 --- a/helm/operator/templates/minio.min.io_tenants.yaml +++ b/helm/operator/templates/minio.min.io_tenants.yaml @@ -57,6 +57,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -119,6 +121,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic path: type: string readOnly: @@ -128,6 +131,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -145,6 +149,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -173,7 +178,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -188,6 +195,7 @@ spec: nodePublishSecretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -243,6 +251,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object emptyDir: properties: @@ -284,6 +293,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -343,11 +353,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -380,10 +392,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic wwids: items: type: string type: array + x-kubernetes-list-type: atomic type: object flexVolume: properties: @@ -400,6 +414,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -480,11 +495,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -561,11 +578,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -600,7 +619,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -646,6 +667,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object secret: properties: @@ -664,7 +686,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -684,6 +708,7 @@ spec: type: object type: object type: array + x-kubernetes-list-type: atomic type: object quobyte: properties: @@ -715,6 +740,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic pool: type: string readOnly: @@ -722,6 +748,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -744,6 +771,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -782,6 +810,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic optional: type: boolean secretName: @@ -796,6 +825,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -848,12 +878,14 @@ spec: configuration: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic credsSecret: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -871,6 +903,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -909,6 +942,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -993,6 +1027,7 @@ spec: imagePullSecret: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -1003,10 +1038,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic command: items: type: string type: array + x-kubernetes-list-type: atomic env: items: properties: @@ -1021,6 +1058,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -1059,6 +1097,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -1071,12 +1110,16 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map envFrom: items: properties: configMapRef: properties: name: + default: "" type: string optional: type: boolean @@ -1087,6 +1130,7 @@ spec: secretRef: properties: name: + default: "" type: string optional: type: boolean @@ -1094,6 +1138,7 @@ spec: x-kubernetes-map-type: atomic type: object type: array + x-kubernetes-list-type: atomic image: type: string imagePullPolicy: @@ -1108,6 +1153,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -1125,6 +1171,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1166,6 +1213,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -1183,6 +1231,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1225,6 +1274,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -1255,6 +1305,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1329,6 +1380,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -1359,6 +1411,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1449,16 +1502,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -1514,6 +1578,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -1544,6 +1609,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1606,6 +1672,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map volumeMounts: items: properties: @@ -1617,6 +1686,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -1626,6 +1697,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map workingDir: type: string required: @@ -1654,11 +1728,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -1670,11 +1746,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic weight: @@ -1685,6 +1763,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: @@ -1701,11 +1780,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -1717,14 +1798,17 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic type: array + x-kubernetes-list-type: atomic required: - nodeSelectorTerms type: object @@ -1750,11 +1834,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1784,11 +1870,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1799,6 +1887,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -1812,6 +1901,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -1828,11 +1918,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1862,11 +1954,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1877,12 +1971,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object podAntiAffinity: properties: @@ -1904,11 +2000,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1938,11 +2036,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1953,6 +2053,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -1966,6 +2067,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -1982,11 +2084,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2016,11 +2120,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2031,12 +2137,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object type: object annotations: @@ -2056,16 +2164,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -2127,6 +2246,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -2165,6 +2285,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -2197,6 +2318,7 @@ spec: kesSecret: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -2246,6 +2368,15 @@ spec: type: object securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object fsGroup: format: int64 type: integer @@ -2284,6 +2415,7 @@ spec: format: int64 type: integer type: array + x-kubernetes-list-type: atomic sysctls: items: properties: @@ -2296,6 +2428,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic windowsOptions: properties: gmsaCredentialSpec: @@ -2342,11 +2475,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2391,6 +2526,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -2408,6 +2544,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -2449,6 +2586,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -2466,6 +2604,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -2508,6 +2647,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -2538,6 +2678,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -2614,11 +2755,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -2630,11 +2773,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic weight: @@ -2645,6 +2790,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: @@ -2661,11 +2807,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -2677,14 +2825,17 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic type: array + x-kubernetes-list-type: atomic required: - nodeSelectorTerms type: object @@ -2710,11 +2861,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2744,11 +2897,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2759,6 +2914,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -2772,6 +2928,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -2788,11 +2945,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2822,11 +2981,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2837,12 +2998,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object podAntiAffinity: properties: @@ -2864,11 +3027,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2898,11 +3063,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2913,6 +3080,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -2926,6 +3094,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -2942,11 +3111,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2976,11 +3147,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2991,12 +3164,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object type: object annotations: @@ -3007,16 +3182,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -3112,6 +3298,15 @@ spec: type: string securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object fsGroup: format: int64 type: integer @@ -3150,6 +3345,7 @@ spec: format: int64 type: integer type: array + x-kubernetes-list-type: atomic sysctls: items: properties: @@ -3162,6 +3358,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic windowsOptions: properties: gmsaCredentialSpec: @@ -3212,11 +3409,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -3279,6 +3478,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -3338,11 +3538,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -3364,6 +3566,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic allocatedResourceStatuses: additionalProperties: type: string @@ -3407,6 +3610,9 @@ spec: - type type: object type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map currentVolumeAttributesClassName: type: string modifyVolumeStatus: @@ -3450,6 +3656,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -3480,6 +3687,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3552,10 +3760,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic command: items: type: string type: array + x-kubernetes-list-type: atomic env: items: properties: @@ -3570,6 +3780,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -3608,6 +3819,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -3620,12 +3832,16 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map envFrom: items: properties: configMapRef: properties: name: + default: "" type: string optional: type: boolean @@ -3636,6 +3852,7 @@ spec: secretRef: properties: name: + default: "" type: string optional: type: boolean @@ -3643,6 +3860,7 @@ spec: x-kubernetes-map-type: atomic type: object type: array + x-kubernetes-list-type: atomic image: type: string imagePullPolicy: @@ -3657,6 +3875,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -3674,6 +3893,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3715,6 +3935,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -3732,6 +3953,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3774,6 +3996,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -3804,6 +4027,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3878,6 +4102,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -3908,6 +4133,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3998,16 +4224,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -4063,6 +4300,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -4093,6 +4331,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -4155,6 +4394,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map volumeMounts: items: properties: @@ -4166,6 +4408,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -4175,6 +4419,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map workingDir: type: string required: @@ -4244,6 +4491,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -4303,11 +4551,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -4329,6 +4579,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic allocatedResourceStatuses: additionalProperties: type: string @@ -4372,6 +4623,9 @@ spec: - type type: object type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map currentVolumeAttributesClassName: type: string modifyVolumeStatus: @@ -4441,6 +4695,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic path: type: string readOnly: @@ -4450,6 +4705,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4467,6 +4723,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4495,7 +4752,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -4510,6 +4769,7 @@ spec: nodePublishSecretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4565,6 +4825,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object emptyDir: properties: @@ -4606,6 +4867,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -4665,11 +4927,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -4702,10 +4966,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic wwids: items: type: string type: array + x-kubernetes-list-type: atomic type: object flexVolume: properties: @@ -4722,6 +4988,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4802,11 +5069,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4883,11 +5152,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -4922,7 +5193,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -4968,6 +5241,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object secret: properties: @@ -4986,7 +5260,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -5006,6 +5282,7 @@ spec: type: object type: object type: array + x-kubernetes-list-type: atomic type: object quobyte: properties: @@ -5037,6 +5314,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic pool: type: string readOnly: @@ -5044,6 +5322,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -5066,6 +5345,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -5104,6 +5384,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic optional: type: boolean secretName: @@ -5118,6 +5399,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -5152,6 +5434,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -5182,6 +5465,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -5228,6 +5512,7 @@ spec: items: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic diff --git a/k8s/update-codegen.sh b/k8s/update-codegen.sh index 7293aae8ce0..017c21a75c2 100755 --- a/k8s/update-codegen.sh +++ b/k8s/update-codegen.sh @@ -19,33 +19,14 @@ fi echo ">> Using ${CODEGEN_PKG}" -# code-generator does work with go.mod but makes assumptions about -# the project living in `$GOPATH/src`. To work around this and support -# any location; create a temporary directory, use this as an output -# base, and copy everything back once generated. -TEMP_DIR=$(mktemp -d) -cleanup() { - echo ">> Removing ${TEMP_DIR}" - rm -rf ${TEMP_DIR} -} -trap "cleanup" EXIT SIGINT - -echo ">> Temporary output directory ${TEMP_DIR}" - -# Ensure we can execute. -chmod +x ${CODEGEN_PKG}/generate-groups.sh -chmod +x ${CODEGEN_PKG}/generate-internal-groups.sh - -# generate the code with: -# --output-base because this script should also be able to run inside the vendor dir of -# k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir -# instead of the $GOPATH directly. For normal projects this can be dropped. -cd ${SCRIPT_ROOT} -${CODEGEN_PKG}/generate-groups.sh "all" \ - $ROOT_PKG/pkg/client $ROOT_PKG/pkg/apis \ - "minio.min.io:v2 sts.min.io:v1alpha1,v1beta1 job.min.io:v1alpha1" \ - --output-base "${TEMP_DIR}" \ - --go-header-file "k8s/boilerplate.go.txt" - -# Copy everything back. -cp -a "${TEMP_DIR}/${ROOT_PKG}/." "${SCRIPT_ROOT}/" +source ${CODEGEN_PKG}/kube_codegen.sh + +kube::codegen::gen_helpers $SCRIPT_ROOT/pkg/apis \ + --boilerplate "k8s/boilerplate.go.txt" + +kube::codegen::gen_client $SCRIPT_ROOT/pkg/apis \ + --with-watch \ + --with-applyconfig \ + --output-dir "./pkg/client" \ + --output-pkg "$ROOT_PKG/pkg/client" \ + --boilerplate "k8s/boilerplate.go.txt" || echo "Failed" diff --git a/olm.sh b/olm.sh index 0bb06bb4107..3d9cabe797c 100755 --- a/olm.sh +++ b/olm.sh @@ -27,7 +27,7 @@ install_binaries RELEASE="$(sed -n 's/^.*DefaultOperatorImage = "minio\/operator:v\(.*\)"/\1/p' pkg/controller/operator.go)" # get the minio version -minioVersionInExample=$(kustomize build examples/kustomization/tenant-lite | yq eval-all '.spec.image' | tail -1) +minioVersionInExample=$(kubectl kustomize examples/kustomization/tenant-lite | yq eval-all '.spec.image' | tail -1) echo "minioVersionInExample: ${minioVersionInExample}" # Get sha form of minio version @@ -57,7 +57,7 @@ for catalog in "${redhatCatalogs[@]}"; do package=minio-operator-rhmp fi echo "package: ${package}" - kustomize build config/manifests | $OPERATOR_SDK_BIN generate bundle \ + kubectl kustomize config/manifests | $OPERATOR_SDK_BIN generate bundle \ --package $package \ --version $RELEASE \ --manifests \ diff --git a/pkg/apis/job.min.io/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/job.min.io/v1alpha1/zz_generated.deepcopy.go index 7bda947cdc8..02d9e9bb18a 100644 --- a/pkg/apis/job.min.io/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/job.min.io/v1alpha1/zz_generated.deepcopy.go @@ -176,6 +176,11 @@ func (in *MinIOJobSpec) DeepCopyInto(out *MinIOJobSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.ImagePullSecret != nil { + in, out := &in.ImagePullSecret, &out.ImagePullSecret + *out = make([]v1.LocalObjectReference, len(*in)) + copy(*out, *in) + } if in.SecurityContext != nil { in, out := &in.SecurityContext, &out.SecurityContext *out = new(v1.PodSecurityContext) diff --git a/pkg/apis/job.min.io/v1alpha1/zz_generated.defaults.go b/pkg/apis/job.min.io/v1alpha1/zz_generated.defaults.go new file mode 100644 index 00000000000..1c8e5bbc2b8 --- /dev/null +++ b/pkg/apis/job.min.io/v1alpha1/zz_generated.defaults.go @@ -0,0 +1,33 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// This file is part of MinIO Operator +// Copyright (c) 2024 MinIO, Inc. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Code generated by defaulter-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// RegisterDefaults adds defaulters functions to the given scheme. +// Public to allow building arbitrary schemes. +// All generated defaulters are covering - they call all nested defaulters. +func RegisterDefaults(scheme *runtime.Scheme) error { + return nil +} diff --git a/pkg/apis/minio.min.io/v2/zz_generated.defaults.go b/pkg/apis/minio.min.io/v2/zz_generated.defaults.go new file mode 100644 index 00000000000..b28e92a1c43 --- /dev/null +++ b/pkg/apis/minio.min.io/v2/zz_generated.defaults.go @@ -0,0 +1,33 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// This file is part of MinIO Operator +// Copyright (c) 2024 MinIO, Inc. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Code generated by defaulter-gen. DO NOT EDIT. + +package v2 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// RegisterDefaults adds defaulters functions to the given scheme. +// Public to allow building arbitrary schemes. +// All generated defaulters are covering - they call all nested defaulters. +func RegisterDefaults(scheme *runtime.Scheme) error { + return nil +} diff --git a/pkg/apis/sts.min.io/v1alpha1/zz_generated.defaults.go b/pkg/apis/sts.min.io/v1alpha1/zz_generated.defaults.go new file mode 100644 index 00000000000..1c8e5bbc2b8 --- /dev/null +++ b/pkg/apis/sts.min.io/v1alpha1/zz_generated.defaults.go @@ -0,0 +1,33 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// This file is part of MinIO Operator +// Copyright (c) 2024 MinIO, Inc. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Code generated by defaulter-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// RegisterDefaults adds defaulters functions to the given scheme. +// Public to allow building arbitrary schemes. +// All generated defaulters are covering - they call all nested defaulters. +func RegisterDefaults(scheme *runtime.Scheme) error { + return nil +} diff --git a/pkg/apis/sts.min.io/v1beta1/zz_generated.defaults.go b/pkg/apis/sts.min.io/v1beta1/zz_generated.defaults.go new file mode 100644 index 00000000000..4039f0b74c4 --- /dev/null +++ b/pkg/apis/sts.min.io/v1beta1/zz_generated.defaults.go @@ -0,0 +1,33 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// This file is part of MinIO Operator +// Copyright (c) 2024 MinIO, Inc. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Code generated by defaulter-gen. DO NOT EDIT. + +package v1beta1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// RegisterDefaults adds defaulters functions to the given scheme. +// Public to allow building arbitrary schemes. +// All generated defaulters are covering - they call all nested defaulters. +func RegisterDefaults(scheme *runtime.Scheme) error { + return nil +} diff --git a/pkg/client/applyconfiguration/job.min.io/v1alpha1/miniojobspec.go b/pkg/client/applyconfiguration/job.min.io/v1alpha1/miniojobspec.go index f429799e2e6..f1a15605888 100644 --- a/pkg/client/applyconfiguration/job.min.io/v1alpha1/miniojobspec.go +++ b/pkg/client/applyconfiguration/job.min.io/v1alpha1/miniojobspec.go @@ -32,6 +32,8 @@ type MinIOJobSpecApplyConfiguration struct { FailureStrategy *jobminiov1alpha1.FailureStrategy `json:"failureStrategy,omitempty"` Commands []CommandSpecApplyConfiguration `json:"commands,omitempty"` MCImage *string `json:"mcImage,omitempty"` + ImagePullPolicy *v1.PullPolicy `json:"imagePullPolicy,omitempty"` + ImagePullSecret []v1.LocalObjectReference `json:"imagePullSecret,omitempty"` SecurityContext *v1.PodSecurityContext `json:"securityContext,omitempty"` ContainerSecurityContext *v1.SecurityContext `json:"containerSecurityContext,omitempty"` } @@ -95,6 +97,24 @@ func (b *MinIOJobSpecApplyConfiguration) WithMCImage(value string) *MinIOJobSpec return b } +// WithImagePullPolicy sets the ImagePullPolicy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ImagePullPolicy field is set to the value of the last call. +func (b *MinIOJobSpecApplyConfiguration) WithImagePullPolicy(value v1.PullPolicy) *MinIOJobSpecApplyConfiguration { + b.ImagePullPolicy = &value + return b +} + +// WithImagePullSecret adds the given value to the ImagePullSecret field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ImagePullSecret field. +func (b *MinIOJobSpecApplyConfiguration) WithImagePullSecret(values ...v1.LocalObjectReference) *MinIOJobSpecApplyConfiguration { + for i := range values { + b.ImagePullSecret = append(b.ImagePullSecret, values[i]) + } + return b +} + // WithSecurityContext sets the SecurityContext field in the declarative configuration to the given value // and returns the receiver, so that objects can be built by chaining "With" function invocations. // If called multiple times, the SecurityContext field is set to the value of the last call. diff --git a/resources/base/crds/job.min.io_miniojobs.yaml b/resources/base/crds/job.min.io_miniojobs.yaml index 9aec296db81..de7ecf4ef04 100644 --- a/resources/base/crds/job.min.io_miniojobs.yaml +++ b/resources/base/crds/job.min.io_miniojobs.yaml @@ -65,6 +65,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -103,6 +104,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -121,6 +123,7 @@ spec: configMapRef: properties: name: + default: "" type: string optional: type: boolean @@ -131,6 +134,7 @@ spec: secretRef: properties: name: + default: "" type: string optional: type: boolean @@ -184,6 +188,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -246,6 +252,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic path: type: string readOnly: @@ -255,6 +262,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -272,6 +280,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -300,7 +309,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -315,6 +326,7 @@ spec: nodePublishSecretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -370,6 +382,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object emptyDir: properties: @@ -411,6 +424,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -470,11 +484,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -507,10 +523,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic wwids: items: type: string type: array + x-kubernetes-list-type: atomic type: object flexVolume: properties: @@ -527,6 +545,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -607,11 +626,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -688,11 +709,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -727,7 +750,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -773,6 +798,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object secret: properties: @@ -791,7 +817,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -811,6 +839,7 @@ spec: type: object type: object type: array + x-kubernetes-list-type: atomic type: object quobyte: properties: @@ -842,6 +871,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic pool: type: string readOnly: @@ -849,6 +879,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -871,6 +902,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -909,6 +941,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic optional: type: boolean secretName: @@ -923,6 +956,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -956,16 +990,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -1031,6 +1076,7 @@ spec: items: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -1040,6 +1086,15 @@ spec: type: string securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object fsGroup: format: int64 type: integer @@ -1078,6 +1133,7 @@ spec: format: int64 type: integer type: array + x-kubernetes-list-type: atomic sysctls: items: properties: @@ -1090,6 +1146,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic windowsOptions: properties: gmsaCredentialSpec: diff --git a/resources/base/crds/minio.min.io_tenants.yaml b/resources/base/crds/minio.min.io_tenants.yaml index 076f2add230..e2769b7243c 100644 --- a/resources/base/crds/minio.min.io_tenants.yaml +++ b/resources/base/crds/minio.min.io_tenants.yaml @@ -57,6 +57,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -119,6 +121,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic path: type: string readOnly: @@ -128,6 +131,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -145,6 +149,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -173,7 +178,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -188,6 +195,7 @@ spec: nodePublishSecretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -243,6 +251,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object emptyDir: properties: @@ -284,6 +293,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -343,11 +353,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -380,10 +392,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic wwids: items: type: string type: array + x-kubernetes-list-type: atomic type: object flexVolume: properties: @@ -400,6 +414,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -480,11 +495,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -561,11 +578,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -600,7 +619,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -646,6 +667,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object secret: properties: @@ -664,7 +686,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -684,6 +708,7 @@ spec: type: object type: object type: array + x-kubernetes-list-type: atomic type: object quobyte: properties: @@ -715,6 +740,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic pool: type: string readOnly: @@ -722,6 +748,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -744,6 +771,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -782,6 +810,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic optional: type: boolean secretName: @@ -796,6 +825,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -848,12 +878,14 @@ spec: configuration: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic credsSecret: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -871,6 +903,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -909,6 +942,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -993,6 +1027,7 @@ spec: imagePullSecret: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -1003,10 +1038,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic command: items: type: string type: array + x-kubernetes-list-type: atomic env: items: properties: @@ -1021,6 +1058,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -1059,6 +1097,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -1071,12 +1110,16 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map envFrom: items: properties: configMapRef: properties: name: + default: "" type: string optional: type: boolean @@ -1087,6 +1130,7 @@ spec: secretRef: properties: name: + default: "" type: string optional: type: boolean @@ -1094,6 +1138,7 @@ spec: x-kubernetes-map-type: atomic type: object type: array + x-kubernetes-list-type: atomic image: type: string imagePullPolicy: @@ -1108,6 +1153,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -1125,6 +1171,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1166,6 +1213,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -1183,6 +1231,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1225,6 +1274,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -1255,6 +1305,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1329,6 +1380,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -1359,6 +1411,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1449,16 +1502,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -1514,6 +1578,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -1544,6 +1609,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -1606,6 +1672,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map volumeMounts: items: properties: @@ -1617,6 +1686,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -1626,6 +1697,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map workingDir: type: string required: @@ -1654,11 +1728,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -1670,11 +1746,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic weight: @@ -1685,6 +1763,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: @@ -1701,11 +1780,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -1717,14 +1798,17 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic type: array + x-kubernetes-list-type: atomic required: - nodeSelectorTerms type: object @@ -1750,11 +1834,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1784,11 +1870,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1799,6 +1887,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -1812,6 +1901,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -1828,11 +1918,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1862,11 +1954,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1877,12 +1971,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object podAntiAffinity: properties: @@ -1904,11 +2000,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1938,11 +2036,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -1953,6 +2053,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -1966,6 +2067,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -1982,11 +2084,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2016,11 +2120,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2031,12 +2137,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object type: object annotations: @@ -2056,16 +2164,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -2127,6 +2246,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -2165,6 +2285,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -2197,6 +2318,7 @@ spec: kesSecret: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -2246,6 +2368,15 @@ spec: type: object securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object fsGroup: format: int64 type: integer @@ -2284,6 +2415,7 @@ spec: format: int64 type: integer type: array + x-kubernetes-list-type: atomic sysctls: items: properties: @@ -2296,6 +2428,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic windowsOptions: properties: gmsaCredentialSpec: @@ -2342,11 +2475,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2391,6 +2526,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -2408,6 +2544,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -2449,6 +2586,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -2466,6 +2604,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -2508,6 +2647,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -2538,6 +2678,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -2614,11 +2755,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -2630,11 +2773,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic weight: @@ -2645,6 +2790,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: @@ -2661,11 +2807,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchFields: items: properties: @@ -2677,14 +2825,17 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic type: object x-kubernetes-map-type: atomic type: array + x-kubernetes-list-type: atomic required: - nodeSelectorTerms type: object @@ -2710,11 +2861,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2744,11 +2897,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2759,6 +2914,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -2772,6 +2928,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -2788,11 +2945,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2822,11 +2981,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2837,12 +2998,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object podAntiAffinity: properties: @@ -2864,11 +3027,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2898,11 +3063,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2913,6 +3080,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: @@ -2926,6 +3094,7 @@ spec: - weight type: object type: array + x-kubernetes-list-type: atomic requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -2942,11 +3111,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2976,11 +3147,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -2991,12 +3164,14 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic topologyKey: type: string required: - topologyKey type: object type: array + x-kubernetes-list-type: atomic type: object type: object annotations: @@ -3007,16 +3182,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -3112,6 +3298,15 @@ spec: type: string securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object fsGroup: format: int64 type: integer @@ -3150,6 +3345,7 @@ spec: format: int64 type: integer type: array + x-kubernetes-list-type: atomic sysctls: items: properties: @@ -3162,6 +3358,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic windowsOptions: properties: gmsaCredentialSpec: @@ -3212,11 +3409,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -3279,6 +3478,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -3338,11 +3538,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -3364,6 +3566,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic allocatedResourceStatuses: additionalProperties: type: string @@ -3407,6 +3610,9 @@ spec: - type type: object type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map currentVolumeAttributesClassName: type: string modifyVolumeStatus: @@ -3450,6 +3656,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -3480,6 +3687,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3552,10 +3760,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic command: items: type: string type: array + x-kubernetes-list-type: atomic env: items: properties: @@ -3570,6 +3780,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -3608,6 +3819,7 @@ spec: key: type: string name: + default: "" type: string optional: type: boolean @@ -3620,12 +3832,16 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map envFrom: items: properties: configMapRef: properties: name: + default: "" type: string optional: type: boolean @@ -3636,6 +3852,7 @@ spec: secretRef: properties: name: + default: "" type: string optional: type: boolean @@ -3643,6 +3860,7 @@ spec: x-kubernetes-map-type: atomic type: object type: array + x-kubernetes-list-type: atomic image: type: string imagePullPolicy: @@ -3657,6 +3875,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -3674,6 +3893,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3715,6 +3935,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object httpGet: properties: @@ -3732,6 +3953,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3774,6 +3996,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -3804,6 +4027,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3878,6 +4102,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -3908,6 +4133,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -3998,16 +4224,27 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object capabilities: properties: add: items: type: string type: array + x-kubernetes-list-type: atomic drop: items: type: string type: array + x-kubernetes-list-type: atomic type: object privileged: type: boolean @@ -4063,6 +4300,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -4093,6 +4331,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -4155,6 +4394,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - devicePath + x-kubernetes-list-type: map volumeMounts: items: properties: @@ -4166,6 +4408,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -4175,6 +4419,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - mountPath + x-kubernetes-list-type: map workingDir: type: string required: @@ -4244,6 +4491,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -4303,11 +4551,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -4329,6 +4579,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic allocatedResourceStatuses: additionalProperties: type: string @@ -4372,6 +4623,9 @@ spec: - type type: object type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map currentVolumeAttributesClassName: type: string modifyVolumeStatus: @@ -4441,6 +4695,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic path: type: string readOnly: @@ -4450,6 +4705,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4467,6 +4723,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4495,7 +4752,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -4510,6 +4769,7 @@ spec: nodePublishSecretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4565,6 +4825,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object emptyDir: properties: @@ -4606,6 +4867,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic dataSource: properties: apiGroup: @@ -4665,11 +4927,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -4702,10 +4966,12 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic wwids: items: type: string type: array + x-kubernetes-list-type: atomic type: object flexVolume: properties: @@ -4722,6 +4988,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4802,11 +5069,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic readOnly: type: boolean secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -4883,11 +5152,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -4922,7 +5193,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -4968,6 +5241,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic type: object secret: properties: @@ -4986,7 +5260,9 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic name: + default: "" type: string optional: type: boolean @@ -5006,6 +5282,7 @@ spec: type: object type: object type: array + x-kubernetes-list-type: atomic type: object quobyte: properties: @@ -5037,6 +5314,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic pool: type: string readOnly: @@ -5044,6 +5322,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -5066,6 +5345,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -5104,6 +5384,7 @@ spec: - path type: object type: array + x-kubernetes-list-type: atomic optional: type: boolean secretName: @@ -5118,6 +5399,7 @@ spec: secretRef: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic @@ -5152,6 +5434,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic type: object failureThreshold: format: int32 @@ -5182,6 +5465,7 @@ spec: - value type: object type: array + x-kubernetes-list-type: atomic path: type: string port: @@ -5228,6 +5512,7 @@ spec: items: properties: name: + default: "" type: string type: object x-kubernetes-map-type: atomic diff --git a/samples/kustomization.yaml b/samples/kustomization.yaml index cd18d34c914..59cf34e638a 100644 --- a/samples/kustomization.yaml +++ b/samples/kustomization.yaml @@ -1,8 +1,10 @@ ## Append samples you want in your CSV to this file as resources ## resources: - - ../examples/kustomization/tenant-openshift/ +- ../examples/kustomization/tenant-openshift/ -patchesStrategicMerge: - - delete-namespace.yaml - - delete-storage-user.yaml - - delete-tenant-config.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +patches: +- path: delete-namespace.yaml +- path: delete-storage-user.yaml +- path: delete-tenant-config.yaml diff --git a/testing/dev/kustomization.yaml b/testing/dev/kustomization.yaml index a2451666c29..2bb7fddc49d 100644 --- a/testing/dev/kustomization.yaml +++ b/testing/dev/kustomization.yaml @@ -1,9 +1,9 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -bases: - - ../../resources -patchesStrategicMerge: - - console-deployment.yaml - - deployment.yaml +resources: +- ../../resources +patches: +- path: console-deployment.yaml +- path: deployment.yaml diff --git a/testing/tenant-logs/kustomization.yaml b/testing/tenant-logs/kustomization.yaml index cd7a79e761e..320e519c7f7 100644 --- a/testing/tenant-logs/kustomization.yaml +++ b/testing/tenant-logs/kustomization.yaml @@ -2,8 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../examples/kustomization/tenant-lite - -patchesStrategicMerge: - - tenant.yaml +- ../../examples/kustomization/tenant-lite +patches: +- path: tenant.yaml diff --git a/testing/tenant-prometheus/kustomization.yaml b/testing/tenant-prometheus/kustomization.yaml index cd7a79e761e..320e519c7f7 100644 --- a/testing/tenant-prometheus/kustomization.yaml +++ b/testing/tenant-prometheus/kustomization.yaml @@ -2,8 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../../examples/kustomization/tenant-lite - -patchesStrategicMerge: - - tenant.yaml +- ../../examples/kustomization/tenant-lite +patches: +- path: tenant.yaml