From 7b23021526fa880ad3968be69640e4de63fc7de3 Mon Sep 17 00:00:00 2001 From: An Tran Date: Tue, 1 Jul 2025 13:15:05 +1000 Subject: [PATCH 1/9] Update operator-sdk to v1.3.2 --- .circleci/config.yml | 6 +- Makefile | 8 +- PROJECT | 3 +- bundle.Dockerfile | 2 +- ...3scale-operator.clusterserviceversion.yaml | 2 +- bundle/metadata/annotations.yaml | 2 +- ...3scale-operator.clusterserviceversion.yaml | 80 +++++++++---------- 7 files changed, 52 insertions(+), 51 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cfc5f2462..1ac106637 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,9 +54,9 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.2.0 - curl -OJL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk-${OPERATOR_SDK_RELEASE_VERSION}-x86_64-linux-gnu - chmod +x operator-sdk-${OPERATOR_SDK_RELEASE_VERSION}-x86_64-linux-gnu && sudo cp operator-sdk-${OPERATOR_SDK_RELEASE_VERSION}-x86_64-linux-gnu /usr/local/bin/operator-sdk && rm operator-sdk-${OPERATOR_SDK_RELEASE_VERSION}-x86_64-linux-gnu + export OPERATOR_SDK_RELEASE_VERSION=v1.3.2 + curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk + chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk install-dependencies: steps: diff --git a/Makefile b/Makefile index d4d46c7be..870a619e1 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,8 @@ BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL) endif BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL) -OS := $(shell uname | awk '{print tolower($$0)}' | sed -e s/linux/linux-gnu/ ) -ARCH := $(shell uname -m) +OS = $(shell go env GOOS) +ARCH = $(shell go env GOARCH) # Image URL to use all building/pushing image targets IMG ?= quay.io/3scale/3scale-operator:master @@ -163,9 +163,9 @@ kustomize: $(KUSTOMIZE) OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.2.0 +OPERATOR_SDK_VERSION=v1.3.2 $(OPERATOR_SDK): - curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk-${OPERATOR_SDK_VERSION}-$(ARCH)-${OS} -o $(OPERATOR_SDK) + curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) .PHONY: operator-sdk diff --git a/PROJECT b/PROJECT index 10e1ab4c3..1a7a1130c 100644 --- a/PROJECT +++ b/PROJECT @@ -48,4 +48,5 @@ resources: version: v1beta1 version: 3-alpha plugins: - go.sdk.operatorframework.io/v2-alpha: {} \ No newline at end of file + manifests.sdk.operatorframework.io/v2: {} + scorecard.sdk.operatorframework.io/v2: {} \ No newline at end of file diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 8c812a233..98dc95bf7 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -5,7 +5,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.2.0 +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.3.2 LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v2 LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index db2b33acb..2ad51a614 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -244,7 +244,7 @@ metadata: description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.2.0 + operators.operatorframework.io/builder: operator-sdk-v1.3.2 operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 7d7cbc95e..fe0fce42c 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -4,7 +4,7 @@ annotations: operators.operatorframework.io.bundle.mediatype.v1: registry+v1 operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator - operators.operatorframework.io.metrics.builder: operator-sdk-v1.2.0 + operators.operatorframework.io.metrics.builder: operator-sdk-v1.3.2 operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v2 operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/config/manifests/bases/3scale-operator.clusterserviceversion.yaml b/config/manifests/bases/3scale-operator.clusterserviceversion.yaml index 609ef7119..ebd35214d 100644 --- a/config/manifests/bases/3scale-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/3scale-operator.clusterserviceversion.yaml @@ -24,37 +24,27 @@ metadata: operatorframework.io/arch.amd64: supported operatorframework.io/arch.ppc64le: supported operatorframework.io/arch.s390x: supported - name: 3scale-operator.vX.Y.Z + name: 3scale-operator.v0.0.0 namespace: placeholder spec: apiservicedefinitions: {} customresourcedefinitions: owned: + - description: ActiveDoc is the Schema for the activedocs API + displayName: Active Doc + kind: ActiveDoc + name: activedocs.capabilities.3scale.net + version: v1beta1 + - description: APIManagerBackup represents an APIManager backup + displayName: APIManagerBackup + kind: APIManagerBackup + name: apimanagerbackups.apps.3scale.net + version: v1alpha1 - description: APIManagerRestore represents an APIManager restore displayName: APIManagerRestore kind: APIManagerRestore name: apimanagerrestores.apps.3scale.net version: v1alpha1 - - description: Tenant is the Schema for the tenants API - displayName: Tenant - kind: Tenant - name: tenants.capabilities.3scale.net - version: v1alpha1 - - description: Backend is the Schema for the backends API - displayName: 3scale Backend - kind: Backend - name: backends.capabilities.3scale.net - version: v1beta1 - - description: Product is the Schema for the products API - displayName: 3scale Product - kind: Product - name: products.capabilities.3scale.net - version: v1beta1 - - description: OpenAPI is the Schema for the openapis API - displayName: Open API - kind: OpenAPI - name: openapis.capabilities.3scale.net - version: v1beta1 - description: APIManager is the Schema for the apimanagers API displayName: APIManager kind: APIManager @@ -88,15 +78,20 @@ spec: x-descriptors: - urn:alm:descriptor:com.tectonic.ui:podStatuses version: v1alpha1 - - description: APIManagerBackup represents an APIManager backup - displayName: APIManagerBackup - kind: APIManagerBackup - name: apimanagerbackups.apps.3scale.net - version: v1alpha1 - - description: ActiveDoc is the Schema for the activedocs API - displayName: Active Doc - kind: ActiveDoc - name: activedocs.capabilities.3scale.net + - description: ApplicationAuth is the Schema for the applicationauths API + displayName: Application Auth + kind: ApplicationAuth + name: applicationauths.capabilities.3scale.net + version: v1beta1 + - description: Application is the Schema for the applications API + displayName: Application + kind: Application + name: applications.capabilities.3scale.net + version: v1beta1 + - description: Backend is the Schema for the backends API + displayName: 3scale Backend + kind: Backend + name: backends.capabilities.3scale.net version: v1beta1 - description: CustomPolicyDefinition is the Schema for the custompolicydefinitions API displayName: Custom Policy Definition @@ -113,21 +108,26 @@ spec: kind: DeveloperUser name: developerusers.capabilities.3scale.net version: v1beta1 + - description: OpenAPI is the Schema for the openapis API + displayName: Open API + kind: OpenAPI + name: openapis.capabilities.3scale.net + version: v1beta1 + - description: Product is the Schema for the products API + displayName: 3scale Product + kind: Product + name: products.capabilities.3scale.net + version: v1beta1 - description: ProxyConfigPromote is the Schema for the proxyconfigpromotes API displayName: Proxy Config Promote kind: ProxyConfigPromote name: proxyconfigpromotes.capabilities.3scale.net version: v1beta1 - - description: Application is the Schema for the applications API - displayName: Application - kind: Application - name: applications.capabilities.3scale.net - version: v1beta1 - - description: ApplicationAuth is the Schema for the applicationauths API - displayName: Application Auth - kind: ApplicationAuth - name: applicationauths.capabilities.3scale.net - version: v1beta1 + - description: Tenant is the Schema for the tenants API + displayName: Tenant + kind: Tenant + name: tenants.capabilities.3scale.net + version: v1alpha1 description: | The 3scale Operator creates and maintains the Red Hat 3scale API Management on [OpenShift](https://www.openshift.com/) in various deployment configurations. From cbf357842f3e90dfb4eb649a8f11afcbb06bc1b4 Mon Sep 17 00:00:00 2001 From: An Tran Date: Tue, 1 Jul 2025 15:06:20 +1000 Subject: [PATCH 2/9] Update operator-sdk to v1.5.2 and go/v3 layout --- .circleci/config.yml | 2 +- Makefile | 2 +- PROJECT | 105 ++++++++++++++---- bundle.Dockerfile | 11 +- ...3scale-operator.clusterserviceversion.yaml | 30 +++-- bundle/metadata/annotations.yaml | 13 ++- bundle/tests/scorecard/config.yaml | 8 +- config/certmanager/certificate.yaml | 4 +- config/crd/kustomizeconfig.yaml | 6 +- .../cainjection_in_applicationauths.yaml | 2 +- .../patches/cainjection_in_applications.yaml | 2 +- config/crd/patches/webhook_in_activedocs.yaml | 14 +-- .../patches/webhook_in_apimanagerbackups.yaml | 14 +-- .../webhook_in_apimanagerrestores.yaml | 14 +-- .../crd/patches/webhook_in_apimanagers.yaml | 14 +-- .../patches/webhook_in_applicationauths.yaml | 16 ++- .../crd/patches/webhook_in_applications.yaml | 16 ++- config/crd/patches/webhook_in_backends.yaml | 14 +-- .../webhook_in_custompolicydefinitions.yaml | 14 +-- .../patches/webhook_in_developeraccounts.yaml | 14 +-- .../patches/webhook_in_developerusers.yaml | 14 +-- config/crd/patches/webhook_in_openapis.yaml | 14 +-- config/crd/patches/webhook_in_products.yaml | 14 +-- .../webhook_in_proxyconfigpromotes.yaml | 14 +-- config/crd/patches/webhook_in_tenants.yaml | 14 +-- config/default/kustomization.yaml | 4 + config/default/manager_auth_proxy_patch.yaml | 5 +- config/default/manager_config_patch.yaml | 20 ++++ config/default/manager_metrics_patch.yaml | 4 +- config/manager/manager.yaml | 16 ++- config/rbac/leader_election_role.yaml | 8 -- config/scorecard/patches/basic.config.yaml | 2 +- config/scorecard/patches/olm.config.yaml | 6 +- main.go | 17 +-- 34 files changed, 278 insertions(+), 189 deletions(-) create mode 100644 config/default/manager_config_patch.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index 1ac106637..aa9fffab3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.3.2 + export OPERATOR_SDK_RELEASE_VERSION=v1.5.2 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index 870a619e1..f636f6570 100644 --- a/Makefile +++ b/Makefile @@ -163,7 +163,7 @@ kustomize: $(KUSTOMIZE) OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.3.2 +OPERATOR_SDK_VERSION=v1.5.2 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) diff --git a/PROJECT b/PROJECT index 1a7a1130c..834f41c27 100644 --- a/PROJECT +++ b/PROJECT @@ -1,52 +1,119 @@ domain: 3scale.net -layout: go.kubebuilder.io/v2 +layout: go.kubebuilder.io/v3 multigroup: true projectName: 3scale-operator repo: github.com/3scale/3scale-operator resources: -- group: apps +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: apps kind: APIManager version: v1alpha1 -- group: apps +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: apps kind: APIManagerBackup version: v1alpha1 -- group: apps +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: apps kind: APIManagerRestore version: v1alpha1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: Tenant version: v1alpha1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: Backend version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: Product version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: OpenAPI version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: ActiveDoc version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: CustomPolicyDefinition version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: DeveloperAccount version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: DeveloperUser version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: ProxyConfigPromote version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: Application version: v1beta1 -- group: capabilities +- api: + crdVersion: v1 + namespaced: true + controller: true + domain: 3scale.net + group: capabilities kind: ApplicationAuth version: v1beta1 -version: 3-alpha -plugins: - manifests.sdk.operatorframework.io/v2: {} - scorecard.sdk.operatorframework.io/v2: {} \ No newline at end of file +version: "3" \ No newline at end of file diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 98dc95bf7..c2aa0d7d3 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -1,15 +1,20 @@ FROM scratch +# Core bundle labels. LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.3.2 LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 -LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v2 -LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.5.0+git +LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 + +# Labels for testing. LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 +LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ + +# Copy files to locations specified by labels. COPY bundle/manifests /manifests/ COPY bundle/metadata /metadata/ COPY bundle/tests/scorecard /tests/scorecard/ diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index 2ad51a614..2dc291ced 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -244,8 +244,8 @@ metadata: description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.3.2 - operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 + operators.operatorframework.io/builder: operator-sdk-v1.5.0+git + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 rht_mysql_requirements: 8.0.0 @@ -537,8 +537,8 @@ spec: spec: containers: - args: - - --metrics-addr=0.0.0.0:8080 - - --enable-leader-election + - --metrics-bind-address=0.0.0.0:8080 + - --leader-elect command: - /manager env: @@ -563,10 +563,22 @@ spec: - name: RELATED_IMAGE_SYSTEM_SEARCHD value: quay.io/3scale/searchd:latest image: quay.io/3scale/3scale-operator:master + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 name: manager ports: - containerPort: 8080 name: metrics + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 resources: limits: cpu: 100m @@ -574,6 +586,8 @@ spec: requests: cpu: 100m memory: 300Mi + securityContext: + allowPrivilegeEscalation: false serviceAccountName: 3scale-operator terminationGracePeriodSeconds: 10 permissions: @@ -592,14 +606,6 @@ spec: - update - patch - delete - - apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch - apiGroups: - "" resources: diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index fe0fce42c..684e1a487 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -1,11 +1,14 @@ annotations: - operators.operatorframework.io.bundle.channels.v1: alpha - operators.operatorframework.io.bundle.manifests.v1: manifests/ + # Core bundle annotations. operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator - operators.operatorframework.io.metrics.builder: operator-sdk-v1.3.2 + operators.operatorframework.io.bundle.channels.v1: alpha operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 - operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v2 - operators.operatorframework.io.test.config.v1: tests/scorecard/ + operators.operatorframework.io.metrics.builder: operator-sdk-v1.5.0+git + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 + + # Annotations for testing. operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/bundle/tests/scorecard/config.yaml b/bundle/tests/scorecard/config.yaml index 85beaa857..a1e858746 100644 --- a/bundle/tests/scorecard/config.yaml +++ b/bundle/tests/scorecard/config.yaml @@ -8,28 +8,28 @@ stages: - entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: basic test: basic-check-spec-test - entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: olm test: olm-bundle-validation-test - entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: olm test: olm-crds-have-validation-test - entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: olm test: olm-status-descriptors-test diff --git a/config/certmanager/certificate.yaml b/config/certmanager/certificate.yaml index 58db114fa..d361f623c 100644 --- a/config/certmanager/certificate.yaml +++ b/config/certmanager/certificate.yaml @@ -2,7 +2,7 @@ # More document can be found at https://docs.cert-manager.io # WARNING: Targets CertManager 0.11 check https://docs.cert-manager.io/en/latest/tasks/upgrading/index.html for # breaking changes -apiVersion: cert-manager.io/v1alpha2 +apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: selfsigned-issuer @@ -10,7 +10,7 @@ metadata: spec: selfSigned: {} --- -apiVersion: cert-manager.io/v1alpha2 +apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml diff --git a/config/crd/kustomizeconfig.yaml b/config/crd/kustomizeconfig.yaml index 6f83d9a94..ec5c150a9 100644 --- a/config/crd/kustomizeconfig.yaml +++ b/config/crd/kustomizeconfig.yaml @@ -4,13 +4,15 @@ nameReference: version: v1 fieldSpecs: - kind: CustomResourceDefinition + version: v1 group: apiextensions.k8s.io - path: spec/conversion/webhookClientConfig/service/name + path: spec/conversion/webhook/clientConfig/service/name namespace: - kind: CustomResourceDefinition + version: v1 group: apiextensions.k8s.io - path: spec/conversion/webhookClientConfig/service/namespace + path: spec/conversion/webhook/clientConfig/service/namespace create: false varReference: diff --git a/config/crd/patches/cainjection_in_applicationauths.yaml b/config/crd/patches/cainjection_in_applicationauths.yaml index 4c0c34c37..ba1cde213 100644 --- a/config/crd/patches/cainjection_in_applicationauths.yaml +++ b/config/crd/patches/cainjection_in_applicationauths.yaml @@ -1,6 +1,6 @@ # The following patch adds a directive for certmanager to inject CA into the CRD # CRD conversion requires k8s 1.13 or later. -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: diff --git a/config/crd/patches/cainjection_in_applications.yaml b/config/crd/patches/cainjection_in_applications.yaml index 08c260ade..861b24825 100644 --- a/config/crd/patches/cainjection_in_applications.yaml +++ b/config/crd/patches/cainjection_in_applications.yaml @@ -1,6 +1,6 @@ # The following patch adds a directive for certmanager to inject CA into the CRD # CRD conversion requires k8s 1.13 or later. -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: diff --git a/config/crd/patches/webhook_in_activedocs.yaml b/config/crd/patches/webhook_in_activedocs.yaml index 5b44c0b74..698e64492 100644 --- a/config/crd/patches/webhook_in_activedocs.yaml +++ b/config/crd/patches/webhook_in_activedocs.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_apimanagerbackups.yaml b/config/crd/patches/webhook_in_apimanagerbackups.yaml index 5ac6cbd81..08ce9f1d4 100644 --- a/config/crd/patches/webhook_in_apimanagerbackups.yaml +++ b/config/crd/patches/webhook_in_apimanagerbackups.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_apimanagerrestores.yaml b/config/crd/patches/webhook_in_apimanagerrestores.yaml index 8f2758507..6706458e5 100644 --- a/config/crd/patches/webhook_in_apimanagerrestores.yaml +++ b/config/crd/patches/webhook_in_apimanagerrestores.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_apimanagers.yaml b/config/crd/patches/webhook_in_apimanagers.yaml index 33fd7331f..415331024 100644 --- a/config/crd/patches/webhook_in_apimanagers.yaml +++ b/config/crd/patches/webhook_in_apimanagers.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_applicationauths.yaml b/config/crd/patches/webhook_in_applicationauths.yaml index d697c428f..2380f99b4 100644 --- a/config/crd/patches/webhook_in_applicationauths.yaml +++ b/config/crd/patches/webhook_in_applicationauths.yaml @@ -1,17 +1,15 @@ # The following patch enables conversion webhook for CRD # CRD conversion requires k8s 1.13 or later. -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: applicationauths.capabilities.3scale.net spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_applications.yaml b/config/crd/patches/webhook_in_applications.yaml index aa474202d..0ae682ced 100644 --- a/config/crd/patches/webhook_in_applications.yaml +++ b/config/crd/patches/webhook_in_applications.yaml @@ -1,17 +1,15 @@ # The following patch enables conversion webhook for CRD # CRD conversion requires k8s 1.13 or later. -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: applications.capabilities.3scale.net spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_backends.yaml b/config/crd/patches/webhook_in_backends.yaml index 73784eb1d..229478fb2 100644 --- a/config/crd/patches/webhook_in_backends.yaml +++ b/config/crd/patches/webhook_in_backends.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_custompolicydefinitions.yaml b/config/crd/patches/webhook_in_custompolicydefinitions.yaml index be0e186b6..3fd03827b 100644 --- a/config/crd/patches/webhook_in_custompolicydefinitions.yaml +++ b/config/crd/patches/webhook_in_custompolicydefinitions.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_developeraccounts.yaml b/config/crd/patches/webhook_in_developeraccounts.yaml index c19fdb1b7..c96f3b5ad 100644 --- a/config/crd/patches/webhook_in_developeraccounts.yaml +++ b/config/crd/patches/webhook_in_developeraccounts.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_developerusers.yaml b/config/crd/patches/webhook_in_developerusers.yaml index 50475c413..ce9cbbb41 100644 --- a/config/crd/patches/webhook_in_developerusers.yaml +++ b/config/crd/patches/webhook_in_developerusers.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_openapis.yaml b/config/crd/patches/webhook_in_openapis.yaml index efe14b9e0..230a8d872 100644 --- a/config/crd/patches/webhook_in_openapis.yaml +++ b/config/crd/patches/webhook_in_openapis.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_products.yaml b/config/crd/patches/webhook_in_products.yaml index 5ec4ac8df..5bc019982 100644 --- a/config/crd/patches/webhook_in_products.yaml +++ b/config/crd/patches/webhook_in_products.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_proxyconfigpromotes.yaml b/config/crd/patches/webhook_in_proxyconfigpromotes.yaml index cc8ed0a9a..e5fb14661 100644 --- a/config/crd/patches/webhook_in_proxyconfigpromotes.yaml +++ b/config/crd/patches/webhook_in_proxyconfigpromotes.yaml @@ -8,11 +8,9 @@ spec: conversion: strategy: Webhook webhook: - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/crd/patches/webhook_in_tenants.yaml b/config/crd/patches/webhook_in_tenants.yaml index 27b01fec9..07b474050 100644 --- a/config/crd/patches/webhook_in_tenants.yaml +++ b/config/crd/patches/webhook_in_tenants.yaml @@ -7,11 +7,9 @@ metadata: spec: conversion: strategy: Webhook - webhookClientConfig: - # this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, - # but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) - caBundle: Cg== - service: - namespace: system - name: webhook-service - path: /convert + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/default/kustomization.yaml b/config/default/kustomization.yaml index 6c8ebe3b9..c71d8558e 100644 --- a/config/default/kustomization.yaml +++ b/config/default/kustomization.yaml @@ -30,6 +30,10 @@ patchesStrategicMerge: # endpoint w/o any authn/z, please comment the following line. #- manager_auth_proxy_patch.yaml +# Mount the controller config file for loading manager configurations +# through a ComponentConfig type +#- manager_config_patch.yaml + # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix including the one in # crd/kustomization.yaml #- manager_webhook_patch.yaml diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index 0429a4e83..fcbf69c88 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -21,5 +21,6 @@ spec: name: https - name: manager args: - - "--metrics-addr=127.0.0.1:8080" - - "--enable-leader-election" + - "--health-probe-bind-address=:8081" + - "--metrics-bind-address=127.0.0.1:8080" + - "--leader-elect" diff --git a/config/default/manager_config_patch.yaml b/config/default/manager_config_patch.yaml new file mode 100644 index 000000000..6c400155c --- /dev/null +++ b/config/default/manager_config_patch.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: controller-manager + namespace: system +spec: + template: + spec: + containers: + - name: manager + args: + - "--config=controller_manager_config.yaml" + volumeMounts: + - name: manager-config + mountPath: /controller_manager_config.yaml + subPath: controller_manager_config.yaml + volumes: + - name: manager-config + configMap: + name: manager-config diff --git a/config/default/manager_metrics_patch.yaml b/config/default/manager_metrics_patch.yaml index 34cfb1724..64b1db902 100644 --- a/config/default/manager_metrics_patch.yaml +++ b/config/default/manager_metrics_patch.yaml @@ -11,8 +11,8 @@ spec: containers: - name: manager args: - - "--metrics-addr=0.0.0.0:8080" - - "--enable-leader-election" + - "--metrics-bind-address=0.0.0.0:8080" + - "--leader-elect" ports: - containerPort: 8080 name: metrics diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index abba4c8f6..579099b1e 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -34,9 +34,23 @@ spec: - command: - /manager args: - - --enable-leader-election + - --leader-elect image: controller:latest name: manager + securityContext: + allowPrivilegeEscalation: false + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 resources: limits: cpu: 100m diff --git a/config/rbac/leader_election_role.yaml b/config/rbac/leader_election_role.yaml index bfeee46f0..6334cc51c 100644 --- a/config/rbac/leader_election_role.yaml +++ b/config/rbac/leader_election_role.yaml @@ -18,14 +18,6 @@ rules: - update - patch - delete -- apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch - apiGroups: - "" resources: diff --git a/config/scorecard/patches/basic.config.yaml b/config/scorecard/patches/basic.config.yaml index 39576a573..c36e5533e 100644 --- a/config/scorecard/patches/basic.config.yaml +++ b/config/scorecard/patches/basic.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: basic test: basic-check-spec-test diff --git a/config/scorecard/patches/olm.config.yaml b/config/scorecard/patches/olm.config.yaml index c0dad7fa5..2700b5eaf 100644 --- a/config/scorecard/patches/olm.config.yaml +++ b/config/scorecard/patches/olm.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: olm test: olm-bundle-validation-test @@ -14,7 +14,7 @@ entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: olm test: olm-crds-have-validation-test @@ -44,7 +44,7 @@ entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.1.0 + image: quay.io/operator-framework/scorecard-test:v1.3.2 labels: suite: olm test: olm-status-descriptors-test diff --git a/main.go b/main.go index 934e70a0e..c8b799caa 100644 --- a/main.go +++ b/main.go @@ -96,6 +96,7 @@ func init() { func main() { var metricsAddr string var enableLeaderElection bool + var probeAddr string // https://v1-2-x.sdk.operatorframework.io/docs/building-operators/golang/references/logging/#a-simple-example // Add the zap logger flag set to the CLI. The flag set must @@ -103,8 +104,9 @@ func main() { loggerOpts := zap.Options{} loggerOpts.BindFlags(flag.CommandLine) - flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.") - flag.BoolVar(&enableLeaderElection, "enable-leader-election", false, + flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.") + flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.") + flag.BoolVar(&enableLeaderElection, "leader-elect", false, "Enable leader election for controller manager. "+ "Enabling this will ensure there is only one active controller manager.") flag.Parse() @@ -152,11 +154,12 @@ func main() { } mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ - Cache: managerCache, - Scheme: scheme, - Metrics: metricsserver.Options{BindAddress: metricsAddr}, - LeaderElection: enableLeaderElection, - LeaderElectionID: "82355b9c.3scale.net", + Cache: managerCache, + Scheme: scheme, + Metrics: metricsserver.Options{BindAddress: metricsAddr}, + HealthProbeBindAddress: probeAddr, + LeaderElection: enableLeaderElection, + LeaderElectionID: "82355b9c.3scale.net", }) if err != nil { setupLog.Error(err, "unable to start manager") From 122c14b7744435186cfb7b47e80153bb76f8621d Mon Sep 17 00:00:00 2001 From: An Tran Date: Tue, 1 Jul 2025 15:41:34 +1000 Subject: [PATCH 3/9] Update operator-sdk to v1.6.4 --- .circleci/config.yml | 2 +- Makefile | 35 +++++++++++++++++-- bundle.Dockerfile | 2 +- ...3scale-operator.clusterserviceversion.yaml | 2 +- bundle/metadata/annotations.yaml | 2 +- config/manifests/kustomization.yaml | 20 +++++++++++ 6 files changed, 57 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aa9fffab3..64cbe150b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.5.2 + export OPERATOR_SDK_RELEASE_VERSION=v1.6.4 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index f636f6570..73de6d5f5 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,13 @@ SHELL := /bin/bash VERSION ?= 0.0.1 # Current Threescale version THREESCALE_VERSION ?= 2.16 +# Address of the container registry +REGISTRY = quay.io +# Organization in container resgistry +ORG ?= 3scale # Default bundle image tag -BUNDLE_IMG ?= controller-bundle:$(VERSION) +IMAGE_TAG_BASE ?= $(REGISTRY)/$(ORG)/3scale-operator +BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION) # Options for 'bundle-build' ifneq ($(origin CHANNELS), undefined) BUNDLE_CHANNELS := --channels=$(CHANNELS) @@ -163,7 +168,7 @@ kustomize: $(KUSTOMIZE) OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.5.2 +OPERATOR_SDK_VERSION=v1.6.4 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) @@ -292,6 +297,31 @@ $(YQ): .PHONY: yq yq: $(YQ) +.PHONY: opm +OPM = ./bin/opm +opm: +ifeq (,$(wildcard $(OPM))) +ifeq (,$(shell which opm 2>/dev/null)) + @{ \ + set -e ;\ + mkdir -p $(dir $(OPM)) ;\ + curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.19.1/$(OS)-$(ARCH)-opm ;\ + chmod +x $(OPM) ;\ + } +else +OPM = $(shell which opm) +endif +endif +BUNDLE_IMGS ?= $(BUNDLE_IMG) +CATALOG_IMG ?= $(IMAGE_TAG_BASE)-catalog:v$(VERSION) ifneq ($(origin CATALOG_BASE_IMG), undefined) FROM_INDEX_OPT := --from-index $(CATALOG_BASE_IMG) endif +.PHONY: catalog-build +catalog-build: opm + $(OPM) index add --container-tool docker --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) + +.PHONY: catalog-push +catalog-push: ## Push the catalog image. + $(MAKE) docker-push IMG=$(CATALOG_IMG) + download: @echo Download go.mod dependencies @$(GO) mod download @@ -370,3 +400,4 @@ endef # Include last to avoid changing MAKEFILE_LIST used above include $(PROJECT_PATH)/make/*.mk + diff --git a/bundle.Dockerfile b/bundle.Dockerfile index c2aa0d7d3..bf1aa0bdb 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -7,7 +7,7 @@ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.5.0+git +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.6.1+git LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 # Labels for testing. diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index 2dc291ced..ba204ed4d 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -244,7 +244,7 @@ metadata: description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.5.0+git + operators.operatorframework.io/builder: operator-sdk-v1.6.1+git operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 684e1a487..6b4c6458d 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -6,7 +6,7 @@ annotations: operators.operatorframework.io.bundle.package.v1: 3scale-operator operators.operatorframework.io.bundle.channels.v1: alpha operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 - operators.operatorframework.io.metrics.builder: operator-sdk-v1.5.0+git + operators.operatorframework.io.metrics.builder: operator-sdk-v1.6.1+git operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 # Annotations for testing. diff --git a/config/manifests/kustomization.yaml b/config/manifests/kustomization.yaml index 63ca74d72..2430e296a 100644 --- a/config/manifests/kustomization.yaml +++ b/config/manifests/kustomization.yaml @@ -2,3 +2,23 @@ resources: - ../default - ../samples - ../scorecard + +# [WEBHOOK] To enable webhooks, uncomment all the sections with [WEBHOOK] prefix. +# Do NOT uncomment sections with prefix [CERTMANAGER], as OLM does not support cert-manager. +# These patches remove the unnecessary "cert" volume and its manager container volumeMount. +#patchesJson6902: +#- target: +# group: apps +# version: v1 +# kind: Deployment +# name: controller-manager +# namespace: system +# patch: |- +# # Remove the manager container's "cert" volumeMount, since OLM will create and mount a set of certs. +# # Update the indices in this path if adding or removing containers/volumeMounts in the manager's Deployment. +# - op: remove +# path: /spec/template/spec/containers/1/volumeMounts/0 +# # Remove the "cert" volume, since OLM will create and mount a set of certs. +# # Update the indices in this path if adding or removing volumes in the manager's Deployment. +# - op: remove +# path: /spec/template/spec/volumes/0 From 034844eaaa5c87cb58d70cc7c8069befe90574b4 Mon Sep 17 00:00:00 2001 From: An Tran Date: Tue, 1 Jul 2025 16:18:59 +1000 Subject: [PATCH 4/9] Update operator-sdk to v1.7.2 --- .circleci/config.yml | 2 +- Makefile | 8 ++++++-- bundle.Dockerfile | 2 +- .../manifests/3scale-operator.clusterserviceversion.yaml | 9 ++++++--- bundle/metadata/annotations.yaml | 2 +- config/rbac/leader_election_role.yaml | 6 ++++-- 6 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 64cbe150b..075a9a38c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.6.4 + export OPERATOR_SDK_RELEASE_VERSION=v1.7.2 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index 73de6d5f5..a898794ba 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,8 @@ -SHELL := /bin/bash +# Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. +# Options are set to exit when a recipe line exits non-zero or a piped command fails. +SHELL = /usr/bin/env bash -o pipefail +.SHELLFLAGS = -ec # Current Operator version VERSION ?= 0.0.1 # Current Threescale version @@ -168,7 +172,7 @@ kustomize: $(KUSTOMIZE) OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.6.4 +OPERATOR_SDK_VERSION=v1.7.2 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) diff --git a/bundle.Dockerfile b/bundle.Dockerfile index bf1aa0bdb..ab290fac9 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -6,8 +6,8 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.7.1+git LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.6.1+git LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 # Labels for testing. diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index ba204ed4d..686159f84 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -244,7 +244,7 @@ metadata: description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.6.1+git + operators.operatorframework.io/builder: operator-sdk-v1.7.1+git operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 @@ -594,10 +594,8 @@ spec: - rules: - apiGroups: - "" - - coordination.k8s.io resources: - configmaps - - leases verbs: - get - list @@ -606,6 +604,11 @@ spec: - update - patch - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: null - apiGroups: - "" resources: diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 6b4c6458d..0e88b504d 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -5,8 +5,8 @@ annotations: operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.7.1+git operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 - operators.operatorframework.io.metrics.builder: operator-sdk-v1.6.1+git operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 # Annotations for testing. diff --git a/config/rbac/leader_election_role.yaml b/config/rbac/leader_election_role.yaml index 6334cc51c..911e7ab6a 100644 --- a/config/rbac/leader_election_role.yaml +++ b/config/rbac/leader_election_role.yaml @@ -6,10 +6,8 @@ metadata: rules: - apiGroups: - "" - - coordination.k8s.io resources: - configmaps - - leases verbs: - get - list @@ -18,6 +16,10 @@ rules: - update - patch - delete +- apiGroups: + - coordination.k8s.io + resources: + - leases - apiGroups: - "" resources: From d7918a020ef03079abafe5bffa2d3d16cfb549c6 Mon Sep 17 00:00:00 2001 From: An Tran Date: Wed, 2 Jul 2025 12:04:51 +1000 Subject: [PATCH 5/9] Update operator-sdk to v1.11.0 --- .circleci/config.yml | 2 +- Makefile | 2 +- bundle.Dockerfile | 2 +- ...3scale-operator.clusterserviceversion.yaml | 10 +- .../apps.3scale.net_apimanagerbackups.yaml | 12 +- .../apps.3scale.net_apimanagerrestores.yaml | 6 +- .../apps.3scale.net_apimanagers.yaml | 2301 ++++++++++++----- .../capabilities.3scale.net_activedocs.yaml | 9 +- .../capabilities.3scale.net_applications.yaml | 15 +- .../capabilities.3scale.net_backends.yaml | 6 +- ...es.3scale.net_custompolicydefinitions.yaml | 21 +- ...bilities.3scale.net_developeraccounts.yaml | 9 +- ...apabilities.3scale.net_developerusers.yaml | 15 +- .../capabilities.3scale.net_openapis.yaml | 89 +- .../capabilities.3scale.net_products.yaml | 403 ++- ...lities.3scale.net_proxyconfigpromotes.yaml | 9 +- .../capabilities.3scale.net_tenants.yaml | 21 +- bundle/metadata/annotations.yaml | 2 +- bundle/tests/scorecard/config.yaml | 15 + config/default/manager_auth_proxy_patch.yaml | 1 + config/manager/manager.yaml | 2 +- ...3scale-operator.clusterserviceversion.yaml | 6 +- config/rbac/auth_proxy_service.yaml | 1 + config/webhook/service.yaml | 1 + 24 files changed, 2080 insertions(+), 880 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 075a9a38c..e6ac0bb62 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.7.2 + export OPERATOR_SDK_RELEASE_VERSION=v1.11.0 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index a898794ba..7c8a6d71b 100644 --- a/Makefile +++ b/Makefile @@ -172,7 +172,7 @@ kustomize: $(KUSTOMIZE) OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.7.2 +OPERATOR_SDK_VERSION=v1.11.0 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) diff --git a/bundle.Dockerfile b/bundle.Dockerfile index ab290fac9..914d7c76e 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.7.1+git +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.10.0+git LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index 686159f84..c72e1426c 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -243,8 +243,9 @@ metadata: createdAt: "2019-05-30T22:40:00Z" description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' - operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.7.1+git + operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale + API Management"]' + operators.operatorframework.io/builder: operator-sdk-v1.10.0+git operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 @@ -326,7 +327,8 @@ spec: kind: Backend name: backends.capabilities.3scale.net version: v1beta1 - - description: CustomPolicyDefinition is the Schema for the custompolicydefinitions API + - description: CustomPolicyDefinition is the Schema for the custompolicydefinitions + API displayName: Custom Policy Definition kind: CustomPolicyDefinition name: custompolicydefinitions.capabilities.3scale.net @@ -581,7 +583,7 @@ spec: periodSeconds: 10 resources: limits: - cpu: 100m + cpu: 200m memory: 300Mi requests: cpu: 100m diff --git a/bundle/manifests/apps.3scale.net_apimanagerbackups.yaml b/bundle/manifests/apps.3scale.net_apimanagerbackups.yaml index 3c9354982..de8867225 100644 --- a/bundle/manifests/apps.3scale.net_apimanagerbackups.yaml +++ b/bundle/manifests/apps.3scale.net_apimanagerbackups.yaml @@ -45,7 +45,8 @@ spec: description: Backup data destination configuration properties: persistentVolumeClaim: - description: PersistentVolumeClaim as backup data destination configuration + description: PersistentVolumeClaim as backup data destination + configuration properties: resources: description: |- @@ -84,7 +85,8 @@ spec: description: APIManagerBackupStatus defines the observed state of APIManagerBackup properties: apiManagerSourceName: - description: Name of the APIManager from which the backup has been performed + description: Name of the APIManager from which the backup has been + performed type: string backupPersistentVolumeClaimName: description: |- @@ -95,7 +97,8 @@ spec: description: Set to true when backup has been completed type: boolean completionTime: - description: Backup completion time. It is represented in RFC3339 form and is in UTC. + description: Backup completion time. It is represented in RFC3339 + form and is in UTC. format: date-time type: string mainStepsCompleted: @@ -105,7 +108,8 @@ spec: post-backup tasks are pending (cleanup, ...) type: boolean startTime: - description: Backup start time. It is represented in RFC3339 form and is in UTC. + description: Backup start time. It is represented in RFC3339 form + and is in UTC. format: date-time type: string type: object diff --git a/bundle/manifests/apps.3scale.net_apimanagerrestores.yaml b/bundle/manifests/apps.3scale.net_apimanagerrestores.yaml index a101f1176..8a80476d4 100644 --- a/bundle/manifests/apps.3scale.net_apimanagerrestores.yaml +++ b/bundle/manifests/apps.3scale.net_apimanagerrestores.yaml @@ -93,7 +93,8 @@ spec: description: Set to true when backup has been completed type: boolean completionTime: - description: Restore completion time. It is represented in RFC3339 form and is in UTC. + description: Restore completion time. It is represented in RFC3339 + form and is in UTC. format: date-time type: string mainStepsCompleted: @@ -103,7 +104,8 @@ spec: post-backup tasks are pending (cleanup, ...) type: boolean startTime: - description: Restore start time. It is represented in RFC3339 form and is in UTC. + description: Restore start time. It is represented in RFC3339 form + and is in UTC. format: date-time type: string type: object diff --git a/bundle/manifests/apps.3scale.net_apimanagers.yaml b/bundle/manifests/apps.3scale.net_apimanagers.yaml index 326e9b2f3..dc92dde7e 100644 --- a/bundle/manifests/apps.3scale.net_apimanagers.yaml +++ b/bundle/manifests/apps.3scale.net_apimanagers.yaml @@ -55,7 +55,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -74,17 +75,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -107,14 +111,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -139,7 +145,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -156,7 +164,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -164,14 +173,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -194,14 +205,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -232,7 +245,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -246,10 +261,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -257,14 +275,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -334,14 +356,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -427,14 +453,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -504,14 +533,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -565,7 +597,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -579,10 +613,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -590,14 +627,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -667,14 +708,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -760,14 +805,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -837,14 +885,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -909,9 +960,11 @@ spec: type: string type: object customEnvironments: - description: CustomEnvironments specifies an array of defined custom environments to be loaded + description: CustomEnvironments specifies an array of defined + custom environments to be loaded items: - description: CustomEnvironmentSpec contains or has reference to an APIcast custom environment + description: CustomEnvironmentSpec contains or has reference + to an APIcast custom environment properties: secretRef: description: |- @@ -931,15 +984,18 @@ spec: type: object type: array customPolicies: - description: CustomPolicies specifies an array of defined custome policies to be loaded + description: CustomPolicies specifies an array of defined + custome policies to be loaded items: - description: CustomPolicySpec contains or has reference to an APIcast custom policy + description: CustomPolicySpec contains or has reference + to an APIcast custom policy properties: name: description: Name specifies the name of the custom policy type: string secretRef: - description: SecretRef specifies the secret holding the custom policy metadata and lua code + description: SecretRef specifies the secret holding + the custom policy metadata and lua code properties: name: description: |- @@ -950,7 +1006,8 @@ spec: type: object x-kubernetes-map-type: atomic version: - description: Version specifies the name of the custom policy + description: Version specifies the name of the custom + policy type: string required: - name @@ -992,7 +1049,8 @@ spec: Authentication is not supported. Format is ://: type: string httpsVerifyDepth: - description: HTTPSVerifyDepth defines the maximum length of the client certificate chain. + description: HTTPSVerifyDepth defines the maximum length of + the client certificate chain. format: int64 minimum: 0 type: integer @@ -1084,7 +1142,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -1139,7 +1198,8 @@ spec: type: object type: object serviceCacheSize: - description: ServiceCacheSize specifies the number of services that APICast can store in the internal cache + description: ServiceCacheSize specifies the number of services + that APICast can store in the internal cache format: int32 type: integer tolerations: @@ -1182,7 +1242,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -1191,14 +1252,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -1372,7 +1435,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1391,17 +1455,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -1424,14 +1491,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -1456,7 +1525,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -1473,7 +1544,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -1481,14 +1553,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -1511,14 +1585,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -1549,7 +1625,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1563,10 +1641,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -1574,14 +1655,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -1651,14 +1736,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -1744,14 +1833,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -1821,14 +1913,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -1882,7 +1977,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -1896,10 +1993,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -1907,14 +2007,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -1984,14 +2088,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -2077,14 +2185,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -2154,14 +2265,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -2226,9 +2340,11 @@ spec: type: string type: object customEnvironments: - description: CustomEnvironments specifies an array of defined custom environments to be loaded + description: CustomEnvironments specifies an array of defined + custom environments to be loaded items: - description: CustomEnvironmentSpec contains or has reference to an APIcast custom environment + description: CustomEnvironmentSpec contains or has reference + to an APIcast custom environment properties: secretRef: description: |- @@ -2248,15 +2364,18 @@ spec: type: object type: array customPolicies: - description: CustomPolicies specifies an array of defined custome policies to be loaded + description: CustomPolicies specifies an array of defined + custome policies to be loaded items: - description: CustomPolicySpec contains or has reference to an APIcast custom policy + description: CustomPolicySpec contains or has reference + to an APIcast custom policy properties: name: description: Name specifies the name of the custom policy type: string secretRef: - description: SecretRef specifies the secret holding the custom policy metadata and lua code + description: SecretRef specifies the secret holding + the custom policy metadata and lua code properties: name: description: |- @@ -2267,7 +2386,8 @@ spec: type: object x-kubernetes-map-type: atomic version: - description: Version specifies the name of the custom policy + description: Version specifies the name of the custom + policy type: string required: - name @@ -2306,7 +2426,8 @@ spec: Authentication is not supported. Format is ://: type: string httpsVerifyDepth: - description: HTTPSVerifyDepth defines the maximum length of the client certificate chain. + description: HTTPSVerifyDepth defines the maximum length of + the client certificate chain. format: int64 minimum: 0 type: integer @@ -2398,7 +2519,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -2453,7 +2575,8 @@ spec: type: object type: object serviceCacheSize: - description: ServiceCacheSize specifies the number of services that APICast can store in the internal cache + description: ServiceCacheSize specifies the number of services + that APICast can store in the internal cache format: int32 type: integer tolerations: @@ -2496,7 +2619,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -2505,14 +2629,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -2685,7 +2811,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2704,17 +2831,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -2737,14 +2867,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -2769,7 +2901,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -2786,7 +2920,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -2794,14 +2929,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -2824,14 +2961,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -2862,7 +3001,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -2876,10 +3017,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -2887,14 +3031,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -2964,14 +3112,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -3057,14 +3209,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -3134,14 +3289,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -3195,7 +3353,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -3209,10 +3369,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -3220,14 +3383,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -3297,14 +3464,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -3390,14 +3561,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -3467,14 +3641,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -3542,7 +3719,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -3636,7 +3814,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -3645,14 +3824,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -3820,7 +4001,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -3839,17 +4021,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -3872,14 +4057,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -3904,7 +4091,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -3921,7 +4110,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -3929,14 +4119,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -3959,14 +4151,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -3997,7 +4191,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -4011,10 +4207,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -4022,14 +4221,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -4099,14 +4302,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -4192,14 +4399,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -4269,14 +4479,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -4330,7 +4543,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -4344,10 +4559,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -4355,14 +4573,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -4432,14 +4654,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -4525,14 +4751,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -4602,14 +4831,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -4680,7 +4912,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -4774,7 +5007,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -4783,14 +5017,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -4956,7 +5192,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules for + the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -4975,17 +5212,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated with + the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -5008,14 +5248,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -5040,7 +5282,8 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching the + corresponding nodeSelectorTerm, in the range 1-100. format: int32 type: integer required: @@ -5057,7 +5300,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector terms. + The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -5065,14 +5309,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -5095,14 +5341,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -5133,7 +5381,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -5147,10 +5397,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -5158,14 +5411,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -5235,14 +5491,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -5328,14 +5587,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -5405,14 +5667,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -5466,7 +5731,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, etc. + as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -5480,10 +5747,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -5491,14 +5761,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -5568,14 +5841,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -5661,14 +5937,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -5738,14 +6017,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -5817,7 +6099,8 @@ spec: redisPriorityClassName: type: string redisResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -5911,7 +6194,8 @@ spec: type: array redisTopologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -5920,14 +6204,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the selector + applies to. type: string operator: description: |- @@ -6092,7 +6378,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -6111,17 +6398,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -6144,14 +6434,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -6176,7 +6468,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -6193,7 +6487,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -6201,14 +6496,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -6231,14 +6528,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -6269,7 +6568,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -6283,10 +6584,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -6294,14 +6598,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -6371,14 +6679,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -6464,14 +6776,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -6541,14 +6856,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -6602,7 +6920,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -6616,10 +6936,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -6627,14 +6950,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -6704,14 +7031,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -6797,14 +7128,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -6874,14 +7208,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -6952,7 +7289,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -7046,7 +7384,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -7055,14 +7394,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -7287,7 +7628,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -7306,17 +7648,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -7339,14 +7684,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -7371,7 +7718,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -7388,7 +7737,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -7396,14 +7746,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -7426,14 +7778,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -7464,7 +7818,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -7478,10 +7834,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -7489,14 +7848,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -7566,14 +7929,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -7659,14 +8026,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -7736,14 +8106,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -7797,7 +8170,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -7811,10 +8186,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -7822,14 +8200,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -7899,14 +8281,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -7992,14 +8378,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -8069,14 +8458,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -8135,7 +8527,8 @@ spec: type: string type: object developerContainerResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -8194,7 +8587,8 @@ spec: type: string type: object masterContainerResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -8251,7 +8645,8 @@ spec: priorityClassName: type: string providerContainerResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -8348,7 +8743,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -8357,14 +8753,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -8530,10 +8928,12 @@ spec: description: Union type. Only one of the fields can be set properties: affinity: - description: Affinity is a group of affinity scheduling rules. + description: Affinity is a group of affinity scheduling + rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -8552,17 +8952,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector + requirements by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -8585,14 +8988,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector + requirements by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -8617,7 +9022,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in + the range 1-100. format: int32 type: integer required: @@ -8634,7 +9041,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -8642,14 +9050,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector + requirements by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -8672,14 +9082,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector + requirements by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -8710,7 +9122,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules + (e.g. co-locate this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -8724,10 +9138,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched + WeightedPodAffinityTerm fields are added per-node + to find the most preferred node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -8735,14 +9152,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -8812,14 +9233,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -8905,14 +9330,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -8982,14 +9411,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -9043,7 +9476,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling + rules (e.g. avoid putting this pod in the same node, + zone, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -9057,10 +9492,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched + WeightedPodAffinityTerm fields are added per-node + to find the most preferred node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -9068,14 +9506,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -9145,14 +9587,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -9238,14 +9684,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -9315,14 +9765,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -9409,13 +9863,15 @@ spec: storageClassName: type: string volumeName: - description: VolumeName is the binding reference to the PersistentVolume backing this claim. + description: VolumeName is the binding reference to + the PersistentVolume backing this claim. type: string type: object priorityClassName: type: string resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute + resource requirements. properties: claims: description: |- @@ -9429,7 +9885,8 @@ spec: This field is immutable. It can only be set for containers. items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. + description: ResourceClaim references one entry + in PodSpec.ResourceClaims. properties: name: description: |- @@ -9509,7 +9966,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how + to spread matching pods among the given topology. properties: labelSelector: description: |- @@ -9518,14 +9976,17 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -9688,10 +10149,12 @@ spec: postgresql: properties: affinity: - description: Affinity is a group of affinity scheduling rules. + description: Affinity is a group of affinity scheduling + rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -9710,17 +10173,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector + requirements by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -9743,14 +10209,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector + requirements by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -9775,7 +10243,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in + the range 1-100. format: int32 type: integer required: @@ -9792,7 +10262,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -9800,14 +10271,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector + requirements by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -9830,14 +10303,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector + requirements by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that + the selector applies to. type: string operator: description: |- @@ -9868,7 +10343,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules + (e.g. co-locate this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -9882,10 +10359,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched + WeightedPodAffinityTerm fields are added per-node + to find the most preferred node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -9893,14 +10373,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -9970,14 +10454,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10063,14 +10551,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10140,14 +10632,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10201,7 +10697,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling + rules (e.g. avoid putting this pod in the same node, + zone, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -10215,10 +10713,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched + WeightedPodAffinityTerm fields are added per-node + to find the most preferred node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -10226,14 +10727,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10303,14 +10808,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is + a list of label selector requirements. + The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10396,14 +10905,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10473,14 +10986,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -10567,13 +11084,15 @@ spec: storageClassName: type: string volumeName: - description: VolumeName is the binding reference to the PersistentVolume backing this claim. + description: VolumeName is the binding reference to + the PersistentVolume backing this claim. type: string type: object priorityClassName: type: string resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute + resource requirements. properties: claims: description: |- @@ -10587,7 +11106,8 @@ spec: This field is immutable. It can only be set for containers. items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. + description: ResourceClaim references one entry + in PodSpec.ResourceClaims. properties: name: description: |- @@ -10667,7 +11187,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how + to spread matching pods among the given topology. properties: labelSelector: description: |- @@ -10676,14 +11197,17 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -10895,7 +11419,8 @@ spec: storageClassName: type: string volumeName: - description: VolumeName is the binding reference to the PersistentVolume backing this claim. + description: VolumeName is the binding reference to the + PersistentVolume backing this claim. type: string type: object simpleStorageService: @@ -10920,7 +11445,8 @@ spec: description: The ID the token is intended for type: string enabled: - description: Enable Secure Token Service for short-term, limited-privilege security credentials + description: Enable Secure Token Service for short-term, + limited-privilege security credentials type: boolean type: object required: @@ -10933,7 +11459,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules for + the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -10952,17 +11479,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated with + the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -10985,14 +11515,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -11017,7 +11549,8 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching the + corresponding nodeSelectorTerm, in the range 1-100. format: int32 type: integer required: @@ -11034,7 +11567,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector terms. + The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -11042,14 +11576,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -11072,14 +11608,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -11110,7 +11648,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -11124,10 +11664,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -11135,14 +11678,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -11212,14 +11758,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -11305,14 +11854,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -11382,14 +11934,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -11443,7 +11998,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, etc. + as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -11457,10 +12014,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -11468,14 +12028,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -11545,14 +12108,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -11638,14 +12204,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -11715,14 +12284,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -11789,7 +12361,8 @@ spec: memcachedPriorityClassName: type: string memcachedResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -11883,7 +12456,8 @@ spec: type: array memcachedTopologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -11892,14 +12466,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the selector + applies to. type: string operator: description: |- @@ -12062,7 +12638,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules for + the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -12081,17 +12658,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated with + the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -12114,14 +12694,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -12146,7 +12728,8 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching the + corresponding nodeSelectorTerm, in the range 1-100. format: int32 type: integer required: @@ -12163,7 +12746,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector terms. + The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -12171,14 +12755,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -12201,14 +12787,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -12239,7 +12827,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -12253,10 +12843,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -12264,14 +12857,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -12341,14 +12937,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -12434,14 +13033,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -12511,14 +13113,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -12572,7 +13177,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, etc. + as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -12586,10 +13193,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -12597,14 +13207,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -12674,14 +13287,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -12767,14 +13383,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -12844,14 +13463,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -12923,7 +13545,8 @@ spec: redisPriorityClassName: type: string redisResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -13017,7 +13640,8 @@ spec: type: array redisTopologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -13026,14 +13650,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the selector + applies to. type: string operator: description: |- @@ -13198,7 +13824,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -13217,17 +13844,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -13250,14 +13880,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -13282,7 +13914,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -13299,7 +13933,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -13307,14 +13942,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -13337,14 +13974,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -13375,7 +14014,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -13389,10 +14030,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -13400,14 +14044,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -13477,14 +14125,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -13570,14 +14222,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -13647,14 +14302,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -13708,7 +14366,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -13722,10 +14382,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -13733,14 +14396,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -13810,14 +14477,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -13903,14 +14574,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -13980,14 +14654,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -14074,13 +14751,15 @@ spec: storageClassName: type: string volumeName: - description: VolumeName is the binding reference to the PersistentVolume backing this claim. + description: VolumeName is the binding reference to the + PersistentVolume backing this claim. type: string type: object priorityClassName: type: string resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -14174,7 +14853,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -14183,14 +14863,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -14356,7 +15038,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -14375,17 +15058,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -14408,14 +15094,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -14440,7 +15128,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -14457,7 +15147,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -14465,14 +15156,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -14495,14 +15188,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -14533,7 +15228,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -14547,10 +15244,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -14558,14 +15258,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -14635,14 +15339,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -14728,14 +15436,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -14805,14 +15516,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -14866,7 +15580,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -14880,10 +15596,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -14891,14 +15610,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -14968,14 +15691,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -15061,14 +15788,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -15138,14 +15868,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -15213,7 +15946,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -15307,7 +16041,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -15316,14 +16051,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -15490,7 +16227,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -15509,17 +16247,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -15542,14 +16283,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -15574,7 +16317,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -15591,7 +16336,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -15599,14 +16345,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -15629,14 +16377,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -15667,7 +16417,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -15681,10 +16433,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -15692,14 +16447,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -15769,14 +16528,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -15862,14 +16625,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -15939,14 +16705,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -16000,7 +16769,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -16014,10 +16785,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -16025,14 +16799,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -16102,14 +16880,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -16195,14 +16977,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -16272,14 +17057,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -16336,7 +17124,8 @@ spec: priorityClassName: type: string resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -16430,7 +17219,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -16439,14 +17229,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -16624,7 +17416,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -16643,17 +17436,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -16676,14 +17472,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -16708,7 +17506,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -16725,7 +17525,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -16733,14 +17534,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -16763,14 +17566,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -16801,7 +17606,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -16815,10 +17622,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -16826,14 +17636,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -16903,14 +17717,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -16996,14 +17814,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -17073,14 +17894,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -17134,7 +17958,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -17148,10 +17974,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -17159,14 +17988,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -17236,14 +18069,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -17329,14 +18166,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -17406,14 +18246,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -17481,7 +18324,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -17575,7 +18419,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -17584,14 +18429,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -17755,7 +18602,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules for + the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -17774,17 +18622,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated with + the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -17807,14 +18658,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -17839,7 +18692,8 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching the + corresponding nodeSelectorTerm, in the range 1-100. format: int32 type: integer required: @@ -17856,7 +18710,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector terms. + The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -17864,14 +18719,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -17894,14 +18751,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the selector + applies to. type: string operator: description: |- @@ -17932,7 +18791,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -17946,10 +18807,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -17957,14 +18821,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -18034,14 +18901,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -18127,14 +18997,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -18204,14 +19077,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -18265,7 +19141,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, etc. + as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -18279,10 +19157,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, associated + with the corresponding weight. properties: labelSelector: description: |- @@ -18290,14 +19171,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -18367,14 +19251,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -18460,14 +19347,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -18537,14 +19427,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that + the selector applies to. type: string operator: description: |- @@ -18609,7 +19502,8 @@ spec: databasePriorityClassName: type: string databaseResources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -18703,7 +19597,8 @@ spec: type: array databaseTopologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -18712,14 +19607,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the selector + applies to. type: string operator: description: |- @@ -18890,7 +19787,8 @@ spec: description: Affinity is a group of affinity scheduling rules. properties: nodeAffinity: - description: Describes node affinity scheduling rules for the pod. + description: Describes node affinity scheduling rules + for the pod. properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -18909,17 +19807,20 @@ spec: (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). properties: preference: - description: A node selector term, associated with the corresponding weight. + description: A node selector term, associated + with the corresponding weight. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -18942,14 +19843,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -18974,7 +19877,9 @@ spec: type: object x-kubernetes-map-type: atomic weight: - description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. + description: Weight associated with matching + the corresponding nodeSelectorTerm, in the + range 1-100. format: int32 type: integer required: @@ -18991,7 +19896,8 @@ spec: may or may not try to eventually evict the pod from its node. properties: nodeSelectorTerms: - description: Required. A list of node selector terms. The terms are ORed. + description: Required. A list of node selector + terms. The terms are ORed. items: description: |- A null or empty node selector term matches no objects. The requirements of @@ -18999,14 +19905,16 @@ spec: The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: - description: A list of node selector requirements by node's labels. + description: A list of node selector requirements + by node's labels. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -19029,14 +19937,16 @@ spec: type: object type: array matchFields: - description: A list of node selector requirements by node's fields. + description: A list of node selector requirements + by node's fields. items: description: |- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: The label key that the selector applies to. + description: The label key that the + selector applies to. type: string operator: description: |- @@ -19067,7 +19977,9 @@ spec: x-kubernetes-map-type: atomic type: object podAffinity: - description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -19081,10 +19993,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -19092,14 +20007,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -19169,14 +20088,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -19262,14 +20185,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -19339,14 +20265,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -19400,7 +20329,9 @@ spec: type: array type: object podAntiAffinity: - description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, + etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: description: |- @@ -19414,10 +20345,13 @@ spec: "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. items: - description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) properties: podAffinityTerm: - description: Required. A pod affinity term, associated with the corresponding weight. + description: Required. A pod affinity term, + associated with the corresponding weight. properties: labelSelector: description: |- @@ -19425,14 +20359,18 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -19502,14 +20440,18 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The + requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label + key that the selector applies + to. type: string operator: description: |- @@ -19595,14 +20537,17 @@ spec: If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -19672,14 +20617,17 @@ spec: An empty selector ({}) matches all namespaces. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key + that the selector applies to. type: string operator: description: |- @@ -19747,7 +20695,8 @@ spec: format: int64 type: integer resources: - description: ResourceRequirements describes the compute resource requirements. + description: ResourceRequirements describes the compute resource + requirements. properties: claims: description: |- @@ -19841,7 +20790,8 @@ spec: type: array topologySpreadConstraints: items: - description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. + description: TopologySpreadConstraint specifies how to spread + matching pods among the given topology. properties: labelSelector: description: |- @@ -19850,14 +20800,16 @@ spec: in their corresponding topology domain. properties: matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. items: description: |- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: - description: key is the label key that the selector applies to. + description: key is the label key that the + selector applies to. type: string operator: description: |- @@ -20087,7 +21039,8 @@ spec: type: string type: array stopped: - description: Deployments are not starting, unclear what next step will be + description: Deployments are not starting, unclear what next step + will be items: type: string type: array diff --git a/bundle/manifests/capabilities.3scale.net_activedocs.yaml b/bundle/manifests/capabilities.3scale.net_activedocs.yaml index ad1002d5e..990975de1 100644 --- a/bundle/manifests/capabilities.3scale.net_activedocs.yaml +++ b/bundle/manifests/capabilities.3scale.net_activedocs.yaml @@ -60,7 +60,8 @@ spec: - url properties: secretRef: - description: SecretRef refers to the secret object that contains the OpenAPI Document + description: SecretRef refers to the secret object that contains + the OpenAPI Document properties: apiVersion: description: API version of the referent. @@ -197,7 +198,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Backend Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Backend Spec. format: int64 type: integer productResourceName: @@ -212,7 +214,8 @@ spec: type: object x-kubernetes-map-type: atomic providerAccountHost: - description: ProviderAccountHost contains the 3scale account's provider URL + description: ProviderAccountHost contains the 3scale account's provider + URL type: string type: object type: object diff --git a/bundle/manifests/capabilities.3scale.net_applications.yaml b/bundle/manifests/capabilities.3scale.net_applications.yaml index 59d57a273..7af33549a 100644 --- a/bundle/manifests/capabilities.3scale.net_applications.yaml +++ b/bundle/manifests/capabilities.3scale.net_applications.yaml @@ -42,7 +42,8 @@ spec: description: ApplicationSpec defines the desired state of Application properties: accountCR: - description: AccountCRName name of account custom resource under which the application will be created + description: AccountCRName name of account custom resource under which + the application will be created properties: name: description: |- @@ -53,7 +54,8 @@ spec: type: object x-kubernetes-map-type: atomic applicationPlanName: - description: ApplicationPlanName name of application plan that the application will use + description: ApplicationPlanName name of application plan that the + application will use type: string description: description: Description human-readable text of the application @@ -62,7 +64,8 @@ spec: description: Name identifies the application uniquely within the account type: string productCR: - description: ProductCRName of product custom resource from which the application plan will be used + description: ProductCRName of product custom resource from which the + application plan will be used properties: name: description: |- @@ -73,7 +76,8 @@ spec: type: object x-kubernetes-map-type: atomic suspend: - description: Suspend application if true suspends application, if false resumes application. + description: Suspend application if true suspends application, if + false resumes application. type: boolean required: - accountCR @@ -135,7 +139,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Application Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Application Spec. format: int64 type: integer providerAccountHost: diff --git a/bundle/manifests/capabilities.3scale.net_backends.yaml b/bundle/manifests/capabilities.3scale.net_backends.yaml index 2d084ee69..67de7beba 100644 --- a/bundle/manifests/capabilities.3scale.net_backends.yaml +++ b/bundle/manifests/capabilities.3scale.net_backends.yaml @@ -46,7 +46,8 @@ spec: type: string mappingRules: items: - description: MappingRuleSpec defines the desired state of Product's MappingRule + description: MappingRuleSpec defines the desired state of Product's + MappingRule properties: httpMethod: enum: @@ -192,7 +193,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Backend Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Backend Spec. format: int64 type: integer providerAccountHost: diff --git a/bundle/manifests/capabilities.3scale.net_custompolicydefinitions.yaml b/bundle/manifests/capabilities.3scale.net_custompolicydefinitions.yaml index b204597f4..79bbd7a09 100644 --- a/bundle/manifests/capabilities.3scale.net_custompolicydefinitions.yaml +++ b/bundle/manifests/capabilities.3scale.net_custompolicydefinitions.yaml @@ -29,7 +29,8 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: CustomPolicyDefinition is the Schema for the custompolicydefinitions API + description: CustomPolicyDefinition is the Schema for the custompolicydefinitions + API properties: apiVersion: description: |- @@ -69,14 +70,17 @@ spec: description: Schema is the schema of the custom policy properties: $schema: - description: Schema the $schema keyword is used to declare that this is a JSON Schema. + description: Schema the $schema keyword is used to declare that + this is a JSON Schema. type: string configuration: - description: Configuration defines the structural schema for the policy + description: Configuration defines the structural schema for the + policy type: object x-kubernetes-preserve-unknown-fields: true description: - description: Description is an array of description messages for the custom policy schema + description: Description is an array of description messages for + the custom policy schema items: type: string type: array @@ -105,7 +109,8 @@ spec: - version type: object status: - description: CustomPolicyDefinitionStatus defines the observed state of CustomPolicyDefinition + description: CustomPolicyDefinitionStatus defines the observed state of + CustomPolicyDefinition properties: conditions: description: |- @@ -154,7 +159,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Backend Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Backend Spec. format: int64 type: integer policyID: @@ -162,7 +168,8 @@ spec: format: int64 type: integer providerAccountHost: - description: ProviderAccountHost contains the 3scale account's provider URL + description: ProviderAccountHost contains the 3scale account's provider + URL type: string type: object type: object diff --git a/bundle/manifests/capabilities.3scale.net_developeraccounts.yaml b/bundle/manifests/capabilities.3scale.net_developeraccounts.yaml index 957bed035..651aef0e4 100644 --- a/bundle/manifests/capabilities.3scale.net_developeraccounts.yaml +++ b/bundle/manifests/capabilities.3scale.net_developeraccounts.yaml @@ -42,7 +42,8 @@ spec: description: DeveloperAccountSpec defines the desired state of DeveloperAccount properties: monthlyBillingEnabled: - description: MonthlyBillingEnabled sets the billing status. Defaults to "true", ie., active + description: MonthlyBillingEnabled sets the billing status. Defaults + to "true", ie., active type: boolean monthlyChargingEnabled: description: MonthlyChargingEnabled Defaults to "true" @@ -121,11 +122,13 @@ spec: creditCardStored: type: boolean observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Backend Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Backend Spec. format: int64 type: integer providerAccountHost: - description: ProviderAccountHost contains the 3scale account's provider URL + description: ProviderAccountHost contains the 3scale account's provider + URL type: string type: object type: object diff --git a/bundle/manifests/capabilities.3scale.net_developerusers.yaml b/bundle/manifests/capabilities.3scale.net_developerusers.yaml index 20f2a3348..5e5bb2710 100644 --- a/bundle/manifests/capabilities.3scale.net_developerusers.yaml +++ b/bundle/manifests/capabilities.3scale.net_developerusers.yaml @@ -42,7 +42,8 @@ spec: description: DeveloperUserSpec defines the desired state of DeveloperUser properties: developerAccountRef: - description: DeveloperAccountRef is the reference to the parent developer account + description: DeveloperAccountRef is the reference to the parent developer + account properties: name: description: |- @@ -59,10 +60,12 @@ spec: description: Password properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -84,7 +87,8 @@ spec: - member type: string suspended: - description: State defines the desired state. Defaults to "false", ie, active + description: State defines the desired state. Defaults to "false", + ie, active type: boolean username: description: Username @@ -153,7 +157,8 @@ spec: developerUserState: type: string observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Backend Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Backend Spec. format: int64 type: integer providerAccountHost: diff --git a/bundle/manifests/capabilities.3scale.net_openapis.yaml b/bundle/manifests/capabilities.3scale.net_openapis.yaml index 90015a754..7180c1288 100644 --- a/bundle/manifests/capabilities.3scale.net_openapis.yaml +++ b/bundle/manifests/capabilities.3scale.net_openapis.yaml @@ -42,10 +42,12 @@ spec: description: OpenAPISpec defines the desired state of OpenAPI properties: oidc: - description: OIDCSpec defines the desired configuration of OpenID Connect Authentication + description: OIDCSpec defines the desired configuration of OpenID + Connect Authentication properties: authenticationFlow: - description: AuthenticationFlow specifies OAuth2.0 authorization grant type + description: AuthenticationFlow specifies OAuth2.0 authorization + grant type properties: directAccessGrantsEnabled: type: boolean @@ -74,46 +76,59 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired gateway response + configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response body when + authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response body + when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies the Content-Type + header when authentication fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies the Content-Type + header when authentication is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies the Content-Type + header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the Content-Type + header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the response body + when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response body when + no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the response + code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies the response + code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies the response + code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the response code + when no match error format: int32 type: integer type: object @@ -121,13 +136,16 @@ spec: description: Issuer is the OIDC issuer type: string issuerEndpointRef: - description: IssuerEndpointRef is the reference to OIDC issuer Secret that contains IssuerEndpoint + description: IssuerEndpointRef is the reference to OIDC issuer + Secret that contains IssuerEndpoint properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference + a secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the + secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -138,19 +156,25 @@ spec: - rest type: string jwtClaimWithClientID: - description: JwtClaimWithClientID is the JSON Web Token (JWT) Claim with ClientID that contains the clientID. Defaults to 'azp'. + description: JwtClaimWithClientID is the JSON Web Token (JWT) + Claim with ClientID that contains the clientID. Defaults to + 'azp'. type: string jwtClaimWithClientIDType: - description: JwtClaimWithClientIDType sets to process the ClientID Token Claim value as a string or as a liquid template. + description: JwtClaimWithClientIDType sets to process the ClientID + Token Claim value as a string or as a liquid template. enum: - plain - liquid type: string security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state of Authentication + Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom Host request + header. This is needed if your API backend only accepts + traffic from a specific host. type: string secretToken: description: |- @@ -171,7 +195,8 @@ spec: - url properties: secretRef: - description: SecretRef refers to the secret object that contains the OpenAPI Document + description: SecretRef refers to the secret object that contains + the OpenAPI Document properties: apiVersion: description: API version of the referent. @@ -220,13 +245,16 @@ spec: type: string type: object prefixMatching: - description: PrefixMatching Use prefix matching instead of strict matching on mapping rules derived from openapi operations + description: PrefixMatching Use prefix matching instead of strict + matching on mapping rules derived from openapi operations type: boolean privateAPIHostHeader: - description: PrivateAPIHostHeader Custom host header sent by the API gateway to the private API + description: PrivateAPIHostHeader Custom host header sent by the API + gateway to the private API type: string privateAPISecretToken: - description: PrivateAPISecretToken Custom secret token sent by the API gateway to the private API + description: PrivateAPISecretToken Custom secret token sent by the + API gateway to the private API type: string privateBaseURL: description: PrivateBaseURL Custom private base URL @@ -260,7 +288,8 @@ spec: description: OpenAPIStatus defines the observed state of OpenAPI properties: backendResourceNames: - description: BackendResourceNames contains a list of references to the managed 3scale backends + description: BackendResourceNames contains a list of references to + the managed 3scale backends items: description: |- LocalObjectReference contains enough information to let you locate the @@ -322,7 +351,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Backend Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Backend Spec. format: int64 type: integer productResourceName: @@ -337,7 +367,8 @@ spec: type: object x-kubernetes-map-type: atomic providerAccountHost: - description: ProviderAccountHost contains the 3scale account's provider URL + description: ProviderAccountHost contains the 3scale account's provider + URL type: string type: object type: object diff --git a/bundle/manifests/capabilities.3scale.net_products.yaml b/bundle/manifests/capabilities.3scale.net_products.yaml index 4bf16c02d..9b17452c2 100644 --- a/bundle/manifests/capabilities.3scale.net_products.yaml +++ b/bundle/manifests/capabilities.3scale.net_products.yaml @@ -43,7 +43,8 @@ spec: properties: applicationPlans: additionalProperties: - description: ApplicationPlanSpec defines the desired state of Product's Application Plan + description: ApplicationPlanSpec defines the desired state of Product's + Application Plan properties: appsRequireApproval: description: |- @@ -70,7 +71,8 @@ spec: Backend reference must be used by the product type: string systemName: - description: SystemName identifies uniquely the metric or methods + description: SystemName identifies uniquely the metric + or methods type: string required: - systemName @@ -116,7 +118,8 @@ spec: Backend reference must be used by the product type: string systemName: - description: SystemName identifies uniquely the metric or methods + description: SystemName identifies uniquely the metric + or methods type: string required: - systemName @@ -155,7 +158,8 @@ spec: type: object backendUsages: additionalProperties: - description: BackendUsageSpec defines the desired state of Product's Backend Usages + description: BackendUsageSpec defines the desired state of Product's + Backend Usages properties: path: type: string @@ -176,10 +180,12 @@ spec: - apicastSelfManaged properties: apicastHosted: - description: ApicastHostedSpec defines the desired state of Product Apicast Hosted + description: ApicastHostedSpec defines the desired state of Product + Apicast Hosted properties: authentication: - description: AuthenticationSpec defines the desired state of Product Authentication + description: AuthenticationSpec defines the desired state + of Product Authentication oneOf: - required: - userkey @@ -189,13 +195,16 @@ spec: - oidc properties: appKeyAppID: - description: AppKeyAppIDAuthenticationSpec defines the desired state of AppKey&AppId Authentication + description: AppKeyAppIDAuthenticationSpec defines the + desired state of AppKey&AppId Authentication properties: appID: - description: AppID is the name of the parameter that acts of behalf of app id + description: AppID is the name of the parameter that + acts of behalf of app id type: string appKey: - description: AppKey is the name of the parameter that acts of behalf of app key + description: AppKey is the name of the parameter that + acts of behalf of app key type: string credentials: description: |- @@ -209,54 +218,73 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired + gateway response configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response + body when authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response + body when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies + the Content-Type header when authentication + fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies + the Content-Type header when authentication + is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies + the Content-Type header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the + Content-Type header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the + response body when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response + body when no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the + response code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies + the response code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies + the response code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the + response code when no match error format: int32 type: integer type: object security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state + of Authentication Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom + Host request header. This is needed if your + API backend only accepts traffic from a specific + host. type: string secretToken: description: |- @@ -267,10 +295,12 @@ spec: type: object type: object oidc: - description: OIDCSpec defines the desired configuration of OpenID Connect Authentication + description: OIDCSpec defines the desired configuration + of OpenID Connect Authentication properties: authenticationFlow: - description: AuthenticationFlow specifies OAuth2.0 authorization grant type + description: AuthenticationFlow specifies OAuth2.0 + authorization grant type properties: directAccessGrantsEnabled: type: boolean @@ -299,46 +329,61 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired + gateway response configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response + body when authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response + body when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies + the Content-Type header when authentication + fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies + the Content-Type header when authentication + is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies + the Content-Type header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the + Content-Type header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the + response body when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response + body when no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the + response code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies + the response code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies + the response code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the + response code when no match error format: int32 type: integer type: object @@ -346,13 +391,16 @@ spec: description: Issuer is the OIDC issuer type: string issuerEndpointRef: - description: IssuerEndpointRef is the reference to OIDC issuer Secret that contains IssuerEndpoint + description: IssuerEndpointRef is the reference to + OIDC issuer Secret that contains IssuerEndpoint properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace + to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within + which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -363,19 +411,27 @@ spec: - rest type: string jwtClaimWithClientID: - description: JwtClaimWithClientID is the JSON Web Token (JWT) Claim with ClientID that contains the clientID. Defaults to 'azp'. + description: JwtClaimWithClientID is the JSON Web + Token (JWT) Claim with ClientID that contains the + clientID. Defaults to 'azp'. type: string jwtClaimWithClientIDType: - description: JwtClaimWithClientIDType sets to process the ClientID Token Claim value as a string or as a liquid template. + description: JwtClaimWithClientIDType sets to process + the ClientID Token Claim value as a string or as + a liquid template. enum: - plain - liquid type: string security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state + of Authentication Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom + Host request header. This is needed if your + API backend only accepts traffic from a specific + host. type: string secretToken: description: |- @@ -388,7 +444,8 @@ spec: - issuerType type: object userkey: - description: UserKeyAuthenticationSpec defines the desired state of User Key Authentication + description: UserKeyAuthenticationSpec defines the desired + state of User Key Authentication properties: authUserKey: type: string @@ -404,54 +461,73 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired + gateway response configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response + body when authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response + body when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies + the Content-Type header when authentication + fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies + the Content-Type header when authentication + is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies + the Content-Type header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the + Content-Type header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the + response body when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response + body when no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the + response code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies + the response code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies + the response code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the + response code when no match error format: int32 type: integer type: object security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state + of Authentication Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom + Host request header. This is needed if your + API backend only accepts traffic from a specific + host. type: string secretToken: description: |- @@ -464,10 +540,12 @@ spec: type: object type: object apicastSelfManaged: - description: ApicastSelfManagedSpec defines the desired state of Product Apicast Self Managed + description: ApicastSelfManagedSpec defines the desired state + of Product Apicast Self Managed properties: authentication: - description: AuthenticationSpec defines the desired state of Product Authentication + description: AuthenticationSpec defines the desired state + of Product Authentication oneOf: - required: - userkey @@ -477,13 +555,16 @@ spec: - oidc properties: appKeyAppID: - description: AppKeyAppIDAuthenticationSpec defines the desired state of AppKey&AppId Authentication + description: AppKeyAppIDAuthenticationSpec defines the + desired state of AppKey&AppId Authentication properties: appID: - description: AppID is the name of the parameter that acts of behalf of app id + description: AppID is the name of the parameter that + acts of behalf of app id type: string appKey: - description: AppKey is the name of the parameter that acts of behalf of app key + description: AppKey is the name of the parameter that + acts of behalf of app key type: string credentials: description: |- @@ -497,54 +578,73 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired + gateway response configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response + body when authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response + body when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies + the Content-Type header when authentication + fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies + the Content-Type header when authentication + is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies + the Content-Type header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the + Content-Type header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the + response body when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response + body when no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the + response code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies + the response code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies + the response code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the + response code when no match error format: int32 type: integer type: object security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state + of Authentication Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom + Host request header. This is needed if your + API backend only accepts traffic from a specific + host. type: string secretToken: description: |- @@ -555,10 +655,12 @@ spec: type: object type: object oidc: - description: OIDCSpec defines the desired configuration of OpenID Connect Authentication + description: OIDCSpec defines the desired configuration + of OpenID Connect Authentication properties: authenticationFlow: - description: AuthenticationFlow specifies OAuth2.0 authorization grant type + description: AuthenticationFlow specifies OAuth2.0 + authorization grant type properties: directAccessGrantsEnabled: type: boolean @@ -587,46 +689,61 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired + gateway response configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response + body when authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response + body when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies + the Content-Type header when authentication + fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies + the Content-Type header when authentication + is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies + the Content-Type header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the + Content-Type header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the + response body when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response + body when no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the + response code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies + the response code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies + the response code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the + response code when no match error format: int32 type: integer type: object @@ -634,13 +751,16 @@ spec: description: Issuer is the OIDC issuer type: string issuerEndpointRef: - description: IssuerEndpointRef is the reference to OIDC issuer Secret that contains IssuerEndpoint + description: IssuerEndpointRef is the reference to + OIDC issuer Secret that contains IssuerEndpoint properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace + to reference a secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within + which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -651,19 +771,27 @@ spec: - rest type: string jwtClaimWithClientID: - description: JwtClaimWithClientID is the JSON Web Token (JWT) Claim with ClientID that contains the clientID. Defaults to 'azp'. + description: JwtClaimWithClientID is the JSON Web + Token (JWT) Claim with ClientID that contains the + clientID. Defaults to 'azp'. type: string jwtClaimWithClientIDType: - description: JwtClaimWithClientIDType sets to process the ClientID Token Claim value as a string or as a liquid template. + description: JwtClaimWithClientIDType sets to process + the ClientID Token Claim value as a string or as + a liquid template. enum: - plain - liquid type: string security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state + of Authentication Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom + Host request header. This is needed if your + API backend only accepts traffic from a specific + host. type: string secretToken: description: |- @@ -676,7 +804,8 @@ spec: - issuerType type: object userkey: - description: UserKeyAuthenticationSpec defines the desired state of User Key Authentication + description: UserKeyAuthenticationSpec defines the desired + state of User Key Authentication properties: authUserKey: type: string @@ -692,54 +821,73 @@ spec: - authorization type: string gatewayResponse: - description: GatewayResponseSpec defines the desired gateway response configuration + description: GatewayResponseSpec defines the desired + gateway response configuration properties: errorAuthFailed: - description: ErrorAuthFailed specifies the response body when authentication fails + description: ErrorAuthFailed specifies the response + body when authentication fails type: string errorAuthMissing: - description: ErrorAuthMissing specifies the response body when authentication is missing + description: ErrorAuthMissing specifies the response + body when authentication is missing type: string errorHeadersAuthFailed: - description: ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails + description: ErrorHeadersAuthFailed specifies + the Content-Type header when authentication + fails type: string errorHeadersAuthMissing: - description: ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing + description: ErrorHeadersAuthMissing specifies + the Content-Type header when authentication + is missing type: string errorHeadersLimitsExceeded: - description: ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded + description: ErrorHeadersLimitsExceeded specifies + the Content-Type header when usage limit exceeded type: string errorHeadersNoMatch: - description: ErrorHeadersNoMatch specifies the Content-Type header when no match error + description: ErrorHeadersNoMatch specifies the + Content-Type header when no match error type: string errorLimitsExceeded: - description: ErrorLimitsExceeded specifies the response body when usage limit exceeded + description: ErrorLimitsExceeded specifies the + response body when usage limit exceeded type: string errorNoMatch: - description: ErrorNoMatch specifies the response body when no match error + description: ErrorNoMatch specifies the response + body when no match error type: string errorStatusAuthFailed: - description: ErrorStatusAuthFailed specifies the response code when authentication fails + description: ErrorStatusAuthFailed specifies the + response code when authentication fails format: int32 type: integer errorStatusAuthMissing: - description: ErrorStatusAuthMissing specifies the response code when authentication is missing + description: ErrorStatusAuthMissing specifies + the response code when authentication is missing format: int32 type: integer errorStatusLimitsExceeded: - description: ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded + description: ErrorStatusLimitsExceeded specifies + the response code when usage limit exceeded format: int32 type: integer errorStatusNoMatch: - description: ErrorStatusNoMatch specifies the response code when no match error + description: ErrorStatusNoMatch specifies the + response code when no match error format: int32 type: integer type: object security: - description: SecuritySpec defines the desired state of Authentication Security + description: SecuritySpec defines the desired state + of Authentication Security properties: hostHeader: - description: HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. + description: HostHeader Lets you define a custom + Host request header. This is needed if your + API backend only accepts traffic from a specific + host. type: string secretToken: description: |- @@ -766,7 +914,8 @@ spec: Mapping Rules Array: MappingRule Spec items: - description: MappingRuleSpec defines the desired state of Product's MappingRule + description: MappingRuleSpec defines the desired state of Product's + MappingRule properties: httpMethod: enum: @@ -845,13 +994,16 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true configurationRef: - description: ConfigurationRef Secret reference containing policy configuration + description: ConfigurationRef Secret reference containing policy + configuration properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference + a secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the + secret name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -939,7 +1091,8 @@ spec: type: object type: array observedGeneration: - description: ObservedGeneration reflects the generation of the most recently observed Product Spec. + description: ObservedGeneration reflects the generation of the most + recently observed Product Spec. format: int64 type: integer productId: diff --git a/bundle/manifests/capabilities.3scale.net_proxyconfigpromotes.yaml b/bundle/manifests/capabilities.3scale.net_proxyconfigpromotes.yaml index 4973135ed..32b0b0ac4 100644 --- a/bundle/manifests/capabilities.3scale.net_proxyconfigpromotes.yaml +++ b/bundle/manifests/capabilities.3scale.net_proxyconfigpromotes.yaml @@ -19,7 +19,8 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: ProxyConfigPromote is the Schema for the proxyconfigpromotes API + description: ProxyConfigPromote is the Schema for the proxyconfigpromotes + API properties: apiVersion: description: |- @@ -42,13 +43,15 @@ spec: description: ProxyConfigPromoteSpec defines the desired state of ProxyConfigPromote properties: deleteCR: - description: deleteCR deletes this CR when it has successfully completed the promotion + description: deleteCR deletes this CR when it has successfully completed + the promotion type: boolean productCRName: description: Product CR metadata name type: string production: - description: Environment you wish to promote to, if not present defaults to staging and if set to true promotes to production + description: Environment you wish to promote to, if not present defaults + to staging and if set to true promotes to production type: boolean required: - productCRName diff --git a/bundle/manifests/capabilities.3scale.net_tenants.yaml b/bundle/manifests/capabilities.3scale.net_tenants.yaml index 445f00f19..6dd505c73 100644 --- a/bundle/manifests/capabilities.3scale.net_tenants.yaml +++ b/bundle/manifests/capabilities.3scale.net_tenants.yaml @@ -46,7 +46,8 @@ spec: financeSupportEmail: type: string fromEmail: - description: additional parameters, used for Update, as in master portal Api Docs + description: additional parameters, used for Update, as in master + portal Api Docs type: string masterCredentialsRef: description: |- @@ -54,10 +55,12 @@ spec: in any namespace properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -69,10 +72,12 @@ spec: in any namespace properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic @@ -88,10 +93,12 @@ spec: in any namespace properties: name: - description: name is unique within a namespace to reference a secret resource. + description: name is unique within a namespace to reference a + secret resource. type: string namespace: - description: namespace defines the space within which the secret name must be unique. + description: namespace defines the space within which the secret + name must be unique. type: string type: object x-kubernetes-map-type: atomic diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 0e88b504d..76a933daa 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -5,7 +5,7 @@ annotations: operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator operators.operatorframework.io.bundle.channels.v1: alpha - operators.operatorframework.io.metrics.builder: operator-sdk-v1.7.1+git + operators.operatorframework.io.metrics.builder: operator-sdk-v1.10.0+git operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 diff --git a/bundle/tests/scorecard/config.yaml b/bundle/tests/scorecard/config.yaml index a1e858746..6c0d541ee 100644 --- a/bundle/tests/scorecard/config.yaml +++ b/bundle/tests/scorecard/config.yaml @@ -12,6 +12,9 @@ stages: labels: suite: basic test: basic-check-spec-test + storage: + spec: + mountPath: {} - entrypoint: - scorecard-test - olm-bundle-validation @@ -19,6 +22,9 @@ stages: labels: suite: olm test: olm-bundle-validation-test + storage: + spec: + mountPath: {} - entrypoint: - scorecard-test - olm-crds-have-validation @@ -26,6 +32,9 @@ stages: labels: suite: olm test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} - entrypoint: - scorecard-test - olm-status-descriptors @@ -33,3 +42,9 @@ stages: labels: suite: olm test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {} diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index fcbf69c88..b4287c0bb 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -18,6 +18,7 @@ spec: - "--v=10" ports: - containerPort: 8443 + protocol: TCP name: https - name: manager args: diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 579099b1e..4d45951ac 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -53,7 +53,7 @@ spec: periodSeconds: 10 resources: limits: - cpu: 100m + cpu: 200m memory: 300Mi requests: cpu: 100m diff --git a/config/manifests/bases/3scale-operator.clusterserviceversion.yaml b/config/manifests/bases/3scale-operator.clusterserviceversion.yaml index ebd35214d..d2004d6bb 100644 --- a/config/manifests/bases/3scale-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/3scale-operator.clusterserviceversion.yaml @@ -10,7 +10,8 @@ metadata: createdAt: "2019-05-30T22:40:00Z" description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' - operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' + operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale + API Management"]' operators.operatorframework.io/builder: operator-sdk-v1.2.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 repository: https://github.com/3scale/3scale-operator @@ -93,7 +94,8 @@ spec: kind: Backend name: backends.capabilities.3scale.net version: v1beta1 - - description: CustomPolicyDefinition is the Schema for the custompolicydefinitions API + - description: CustomPolicyDefinition is the Schema for the custompolicydefinitions + API displayName: Custom Policy Definition kind: CustomPolicyDefinition name: custompolicydefinitions.capabilities.3scale.net diff --git a/config/rbac/auth_proxy_service.yaml b/config/rbac/auth_proxy_service.yaml index 6cf656be1..71f179727 100644 --- a/config/rbac/auth_proxy_service.yaml +++ b/config/rbac/auth_proxy_service.yaml @@ -9,6 +9,7 @@ spec: ports: - name: https port: 8443 + protocol: TCP targetPort: https selector: control-plane: controller-manager diff --git a/config/webhook/service.yaml b/config/webhook/service.yaml index 31e0f8295..3f638bd9c 100644 --- a/config/webhook/service.yaml +++ b/config/webhook/service.yaml @@ -7,6 +7,7 @@ metadata: spec: ports: - port: 443 + protocol: TCP targetPort: 9443 selector: control-plane: controller-manager From 1d1cc99316b06acb9dca4d5ba518759d2aaaade5 Mon Sep 17 00:00:00 2001 From: An Tran Date: Wed, 2 Jul 2025 15:39:47 +1000 Subject: [PATCH 6/9] Update operator-sdk to v1.20.1 --- .circleci/config.yml | 2 +- Makefile | 34 ++++++++++++++++--- bundle.Dockerfile | 2 +- ...3scale-operator.clusterserviceversion.yaml | 26 ++++++++++++-- .../capabilities.3scale.net_backends.yaml | 3 ++ bundle/metadata/annotations.yaml | 2 +- config/default/manager_auth_proxy_patch.yaml | 9 ++++- config/manager/manager.yaml | 2 ++ 8 files changed, 69 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e6ac0bb62..205fd8f3a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.11.0 + export OPERATOR_SDK_RELEASE_VERSION=v1.20.1 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index 7c8a6d71b..2d4812f78 100644 --- a/Makefile +++ b/Makefile @@ -29,8 +29,6 @@ ARCH = $(shell go env GOARCH) # Image URL to use all building/pushing image targets IMG ?= quay.io/3scale/3scale-operator:master -CRD_OPTIONS ?= "crd:crdVersions=v1" - GO ?= go KUBECTL ?= kubectl DOCKER ?= docker @@ -64,14 +62,17 @@ PROMETHEUS_RULES_TARGETS = $(foreach pr,$(PROMETHEUS_RULES),$(PROJECT_PATH)/doc/ PROMETHEUS_RULES_DEPS = $(shell find $(PROJECT_PATH)/pkg/3scale/amp/component -name '*.go') PROMETHEUS_RULES_NAMESPACE ?= "__NAMESPACE__" +.PHONY: all all: manager # Run all tests +.PHONY: test test: test-unit test-e2e test-crds test-manifests-version # Run unit tests TEST_UNIT_PKGS = $(shell $(GO) list ./... | grep -E 'github.com/3scale/3scale-operator/pkg|github.com/3scale/3scale-operator/apis|github.com/3scale/3scale-operator/test/unitcontrollers|github.com/3scale/3scale-operator/controllers/capabilities') TEST_UNIT_COVERPKGS = $(shell $(GO) list ./... | grep -v github.com/3scale/3scale-operator/test | tr "\n" ",") # Exclude test directories as coverpkg does not accept only-tests packages +.PHONY: test-unit test-unit: clean-cov generate fmt vet manifests mkdir -p "$(PROJECT_PATH)/_output" $(GO) test -v $(TEST_UNIT_PKGS) -covermode=count -coverprofile $(PROJECT_PATH)/_output/unit.cov -coverpkg=$(TEST_UNIT_COVERPKGS) @@ -80,11 +81,13 @@ $(PROJECT_PATH)/_output/unit.cov: test-unit # Run CRD tests TEST_CRD_PKGS = $(shell $(GO) list ./... | grep 'github.com/3scale/3scale-operator/test/crds') +.PHONY: test-crds test-crds: generate fmt vet manifests $(GO) test -v $(TEST_CRD_PKGS) TEST_MANIFESTS_VERSION_PKGS = $(shell $(GO) list ./... | grep 'github.com/3scale/3scale-operator/test/manifests-version') ## test-manifests-version: Run manifest version checks +.PHONY: test-manifests-version test-manifests-version: $(GO) test -v $(TEST_MANIFESTS_VERSION_PKGS) @@ -92,6 +95,7 @@ test-manifests-version: TEST_E2E_PKGS_APPS = $(shell $(GO) list ./... | grep 'github.com/3scale/3scale-operator/controllers/apps') TEST_E2E_PKGS_CAPABILITIES = $(shell $(GO) list ./... | grep 'github.com/3scale/3scale-operator/controllers/capabilities') ENVTEST_ASSETS_DIR=$(PROJECT_PATH)/testbin +.PHONY: test-e2e test-e2e: generate fmt vet manifests mkdir -p ${ENVTEST_ASSETS_DIR} test -f $(ENVTEST_ASSETS_DIR)/setup-envtest.sh || curl -sSLo $(ENVTEST_ASSETS_DIR)/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/v0.8.0/hack/setup-envtest.sh @@ -100,10 +104,12 @@ test-e2e: generate fmt vet manifests # Build manager binary +.PHONY: manager manager: generate fmt vet $(GO) build -o bin/manager main.go # Run against the configured Kubernetes cluster in ~/.kube/config +.PHONY: run run: export WATCH_NAMESPACE=$(LOCAL_RUN_NAMESPACE) run: export THREESCALE_DEBUG=1 run: export PREFLIGHT_CHECKS_BYPASS=true @@ -172,7 +178,7 @@ kustomize: $(KUSTOMIZE) OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.11.0 +OPERATOR_SDK_VERSION=v1.20.1 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) @@ -187,28 +193,44 @@ $(GO_BINDATA): .PHONY: go-bindata go-bindata: $(GO_BINDATA) +##@ Deployment + +ifndef ignore-not-found + ignore-not-found = false +endif + # Install CRDs into a cluster +.PHONY: install install: manifests $(KUSTOMIZE) $(KUSTOMIZE) build config/crd | $(KUBECTL) create -f - || $(KUSTOMIZE) build config/crd | $(KUBECTL) replace -f - # Uninstall CRDs from a cluster +.PHONY: uninstall uninstall: manifests $(KUSTOMIZE) - $(KUSTOMIZE) build config/crd | $(KUBECTL) delete -f - + $(KUSTOMIZE) build config/crd | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - # Deploy controller in the configured Kubernetes cluster in ~/.kube/config +.PHONY: deploy deploy: manifests $(KUSTOMIZE) cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} $(KUSTOMIZE) build config/default | $(KUBECTL) apply -f - +.PHONY: undeploy +undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. + $(KUSTOMIZE) build config/default | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - + # Generate manifests e.g. CRD, RBAC etc. +.PHONY: manifests manifests: $(CONTROLLER_GEN) - $(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases + $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases # Run go fmt against code +.PHONY: fmt fmt: $(GO) fmt ./... # Run go vet against code +.PHONY: vet vet: $(GO) vet ./... @@ -326,6 +348,7 @@ catalog-build: opm catalog-push: ## Push the catalog image. $(MAKE) docker-push IMG=$(CATALOG_IMG) +.PHONY: download download: @echo Download go.mod dependencies @$(GO) mod download @@ -339,6 +362,7 @@ endif license_finder report --decisions-file=$(DEPENDENCY_DECISION_FILE) --quiet --format=xml > licenses.xml ## licenses-check: Check license compliance of dependencies +.PHONY: licenses-check licenses-check: ifndef LICENSEFINDERBINARY $(error "license-finder is not available please install: gem install license_finder --version 5.7.1") diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 914d7c76e..852a369d9 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.10.0+git +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.19.0+git LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index c72e1426c..d08336f35 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -245,7 +245,7 @@ metadata: operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.10.0+git + operators.operatorframework.io/builder: operator-sdk-v1.19.0+git operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 @@ -516,7 +516,10 @@ spec: - watch serviceAccountName: 3scale-operator deployments: - - name: threescale-operator-controller-manager-v2 + - label: + app: 3scale-api-management + control-plane: controller-manager + name: threescale-operator-controller-manager-v2 spec: replicas: 1 selector: @@ -526,6 +529,8 @@ spec: strategy: {} template: metadata: + annotations: + kubectl.kubernetes.io/default-container: manager labels: app: 3scale-api-management com.company: Red_Hat @@ -1164,4 +1169,21 @@ spec: maturity: stable provider: name: Red Hat + relatedImages: + - image: quay.io/3scale/apisonator:latest + name: backend + - image: quay.io/3scale/apicast:latest + name: apicast + - image: quay.io/3scale/porta:latest + name: system + - image: quay.io/3scale/zync:latest + name: zync + - image: mirror.gcr.io/library/memcached:1.5 + name: system-memcached + - image: quay.io/sclorg/postgresql-13-c8s + name: zync-postgresql + - image: quay.io/openshift/origin-cli:4.7 + name: oc-cli + - image: quay.io/3scale/searchd:latest + name: system-searchd version: 0.0.1 diff --git a/bundle/manifests/capabilities.3scale.net_backends.yaml b/bundle/manifests/capabilities.3scale.net_backends.yaml index 67de7beba..91293f712 100644 --- a/bundle/manifests/capabilities.3scale.net_backends.yaml +++ b/bundle/manifests/capabilities.3scale.net_backends.yaml @@ -136,6 +136,9 @@ spec: SystemName identifies uniquely the backend within the account provider Default value will be sanitized Name type: string + x-kubernetes-validations: + - message: SystemName is immutable + rule: self == oldSelf required: - name - privateBaseURL diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 76a933daa..ee2219595 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -5,7 +5,7 @@ annotations: operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator operators.operatorframework.io.bundle.channels.v1: alpha - operators.operatorframework.io.metrics.builder: operator-sdk-v1.10.0+git + operators.operatorframework.io.metrics.builder: operator-sdk-v1.19.0+git operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index b4287c0bb..51882e773 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -15,11 +15,18 @@ spec: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" - "--logtostderr=true" - - "--v=10" + - "--v=0" ports: - containerPort: 8443 protocol: TCP name: https + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi - name: manager args: - "--health-probe-bind-address=:8081" diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 4d45951ac..9bf76195b 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -19,6 +19,8 @@ spec: replicas: 1 template: metadata: + annotations: + kubectl.kubernetes.io/default-container: manager labels: control-plane: controller-manager com.company: Red_Hat From 5faed20f8a00cc2d3d9edb17bc789bcb54ed1f9e Mon Sep 17 00:00:00 2001 From: An Tran Date: Wed, 2 Jul 2025 16:01:23 +1000 Subject: [PATCH 7/9] Update operator-sdk to v1.28.1 --- .circleci/config.yml | 2 +- Makefile | 67 ++++++++++++++----- bundle.Dockerfile | 2 +- ...3scale-operator.clusterserviceversion.yaml | 4 +- bundle/metadata/annotations.yaml | 2 +- config/default/manager_auth_proxy_patch.yaml | 2 +- 6 files changed, 56 insertions(+), 23 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 205fd8f3a..dc2fa3b7b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.20.1 + export OPERATOR_SDK_RELEASE_VERSION=v1.28.1 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index 2d4812f78..f2f852daa 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,7 @@ test-e2e: generate fmt vet manifests # Build manager binary .PHONY: manager -manager: generate fmt vet +manager: manifests generate fmt vet $(GO) build -o bin/manager main.go # Run against the configured Kubernetes cluster in ~/.kube/config @@ -117,14 +117,37 @@ run: generate fmt vet manifests @-oc process THREESCALE_VERSION=$(THREESCALE_VERSION) -f config/requirements/operator-requirements.yaml | oc apply -f - -n $(WATCH_NAMESPACE) $(GO) run ./main.go --zap-devel -# find or download controller-gen -# download controller-gen if necessary -CONTROLLER_GEN=$(PROJECT_PATH)/bin/controller-gen -$(CONTROLLER_GEN): - $(call go-bin-install,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0) +##@ Build Dependencies + +## Location to install dependencies to +LOCALBIN ?= $(shell pwd)/bin +$(LOCALBIN): + mkdir -p $(LOCALBIN) + +## Tool Binaries +KUSTOMIZE ?= $(LOCALBIN)/kustomize +CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen +ENVTEST ?= $(LOCALBIN)/setup-envtest + +## Tool Versions +KUSTOMIZE_VERSION ?= v4.5.7 +CONTROLLER_TOOLS_VERSION ?= v0.14.0 + +KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" +.PHONY: kustomize +kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. +$(KUSTOMIZE): $(LOCALBIN) + test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } .PHONY: controller-gen -controller-gen: $(CONTROLLER_GEN) +controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. +$(CONTROLLER_GEN): $(LOCALBIN) + test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + +.PHONY: envtest +envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. +$(ENVTEST): $(LOCALBIN) + test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest .PHONY: cluster/prepare/local cluster/prepare/local: kustomize cluster/prepare/project install cluster/create/system-redis cluster/create/backend-redis cluster/create/provision-database @@ -168,17 +191,10 @@ endif cluster/prepare/project: @ - oc new-project $(NAMESPACE) -KUSTOMIZE=$(PROJECT_PATH)/bin/kustomize -$(KUSTOMIZE): - $(call go-bin-install,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v4@v4.5.7) - -.PHONY: kustomize -kustomize: $(KUSTOMIZE) - OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.20.1 +OPERATOR_SDK_VERSION=v1.28.1 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) @@ -260,6 +276,23 @@ docker-build: test docker-build-only docker-build-only: $(DOCKER) build . -t ${IMG} +# PLATFORMS defines the target platforms for the manager image be build to provide support to multiple +# architectures. (i.e. make docker-buildx IMG=myregistry/mypoperator:0.0.1). To use this option you need to: +# - able to use docker buildx . More info: https://docs.docker.com/build/buildx/ +# - have enable BuildKit, More info: https://docs.docker.com/develop/develop-images/build_enhancements/ +# - be able to push the image for your registry (i.e. if you do not inform a valid value via IMG=> than the export will fail) +# To properly provided solutions that supports more than one platform you should use this option. +PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le +.PHONY: docker-buildx +docker-buildx: test ## Build and push docker image for the manager for cross-platform support + # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile + sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross + - docker buildx create --name project-v3-builder + docker buildx use project-v3-builder + - docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile.cross + - docker buildx rm project-v3-builder + rm Dockerfile.cross + # Push the operator docker image .PHONY: operator-image-push operator-image-push: @@ -323,15 +356,15 @@ $(YQ): .PHONY: yq yq: $(YQ) -.PHONY: opm OPM = ./bin/opm +.PHONY: opm opm: ifeq (,$(wildcard $(OPM))) ifeq (,$(shell which opm 2>/dev/null)) @{ \ set -e ;\ mkdir -p $(dir $(OPM)) ;\ - curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.19.1/$(OS)-$(ARCH)-opm ;\ + curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.23.0/$(OS)-$(ARCH)-opm ;\ chmod +x $(OPM) ;\ } else diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 852a369d9..0dba56a13 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.19.0+git +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.1 LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index d08336f35..517b3f0bb 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -240,12 +240,12 @@ metadata: categories: Integration & Delivery certified: "false" containerImage: quay.io/3scale/3scale-operator:master - createdAt: "2019-05-30T22:40:00Z" + createdAt: "2025-07-02T05:59:07Z" description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.19.0+git + operators.operatorframework.io/builder: operator-sdk-v1.28.1 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index ee2219595..8d92129be 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -5,7 +5,7 @@ annotations: operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator operators.operatorframework.io.bundle.channels.v1: alpha - operators.operatorframework.io.metrics.builder: operator-sdk-v1.19.0+git + operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.1 operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index 51882e773..260863a1d 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: kube-rbac-proxy - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" From 4d5d1b673134e2032888abf49cd3a05189a5ad0a Mon Sep 17 00:00:00 2001 From: An Tran Date: Wed, 2 Jul 2025 16:09:19 +1000 Subject: [PATCH 8/9] Update operator-sdk to v1.36.1 --- .circleci/config.yml | 2 +- Makefile | 9 +++------ bundle.Dockerfile | 2 +- .../manifests/3scale-operator.clusterserviceversion.yaml | 4 ++-- bundle/metadata/annotations.yaml | 2 +- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dc2fa3b7b..d0e1037ca 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ commands: - run: name: Install operator-sdk command: | - export OPERATOR_SDK_RELEASE_VERSION=v1.28.1 + export OPERATOR_SDK_RELEASE_VERSION=v1.36.1 curl -JL https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_RELEASE_VERSION}/operator-sdk_linux_amd64 -o operator-sdk chmod +x operator-sdk && sudo cp operator-sdk /usr/local/bin/operator-sdk && rm operator-sdk diff --git a/Makefile b/Makefile index f2f852daa..4d89930ac 100644 --- a/Makefile +++ b/Makefile @@ -194,7 +194,7 @@ cluster/prepare/project: OPERATOR_SDK = $(PROJECT_PATH)/bin/operator-sdk # Note: release file patterns changed after v1.2.0 # More info https://sdk.operatorframework.io/docs/installation/ -OPERATOR_SDK_VERSION=v1.28.1 +OPERATOR_SDK_VERSION=v1.36.1 $(OPERATOR_SDK): curl -sSL https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(OS)_$(ARCH) -o $(OPERATOR_SDK) chmod +x $(OPERATOR_SDK) @@ -284,14 +284,11 @@ docker-build-only: # To properly provided solutions that supports more than one platform you should use this option. PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le .PHONY: docker-buildx -docker-buildx: test ## Build and push docker image for the manager for cross-platform support - # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile - sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross +docker-buildx: ## Build and push docker image for the manager for cross-platform support - docker buildx create --name project-v3-builder docker buildx use project-v3-builder - - docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile.cross + - docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile . - docker buildx rm project-v3-builder - rm Dockerfile.cross # Push the operator docker image .PHONY: operator-image-push diff --git a/bundle.Dockerfile b/bundle.Dockerfile index 0dba56a13..ec6e900bb 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ LABEL operators.operatorframework.io.bundle.package.v1=3scale-operator LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.1 +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.36.1 LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 diff --git a/bundle/manifests/3scale-operator.clusterserviceversion.yaml b/bundle/manifests/3scale-operator.clusterserviceversion.yaml index 517b3f0bb..fca753343 100644 --- a/bundle/manifests/3scale-operator.clusterserviceversion.yaml +++ b/bundle/manifests/3scale-operator.clusterserviceversion.yaml @@ -240,12 +240,12 @@ metadata: categories: Integration & Delivery certified: "false" containerImage: quay.io/3scale/3scale-operator:master - createdAt: "2025-07-02T05:59:07Z" + createdAt: "2025-07-02T06:08:06Z" description: 3scale Operator to provision 3scale and publish/manage API operators.openshift.io/infrastructure-features: '["Disconnected"]' operators.openshift.io/valid-subscription: '["Red Hat Integration", "Red Hat 3scale API Management"]' - operators.operatorframework.io/builder: operator-sdk-v1.28.1 + operators.operatorframework.io/builder: operator-sdk-v1.36.1 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale/3scale-operator rht_backend_redis_requirements: 7.0.0 diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index 8d92129be..dde0eb6ae 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -5,7 +5,7 @@ annotations: operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: 3scale-operator operators.operatorframework.io.bundle.channels.v1: alpha - operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.1 + operators.operatorframework.io.metrics.builder: operator-sdk-v1.36.1 operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 From 6df18c3085617d61049459374546b37ddc8ec488 Mon Sep 17 00:00:00 2001 From: An Tran Date: Mon, 14 Jul 2025 11:01:40 +1000 Subject: [PATCH 9/9] fix bundle-update-test --- Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4d89930ac..8a972b84c 100644 --- a/Makefile +++ b/Makefile @@ -423,9 +423,16 @@ clean-cov: bundle-validate: $(OPERATOR_SDK) $(OPERATOR_SDK) bundle validate ./bundle +# Since operator-sdk 1.26.0, `make bundle` changes the `createdAt` field from the bundle +# even if it is patched: +# https://github.com/operator-framework/operator-sdk/pull/6136 +# This code checks if only the createdAt field. If is the only change, it is ignored. +# Else, it will do nothing. +# https://github.com/operator-framework/operator-sdk/issues/6285#issuecomment-1415350333 +# https://github.com/operator-framework/operator-sdk/issues/6285#issuecomment-1532150678 .PHONY: bundle-update-test bundle-update-test: - git diff --exit-code ./bundle + git diff --quiet -I'^ createdAt: ' ./bundle && git checkout ./bundle || true [ -z "$$(git ls-files --other --exclude-standard --directory --no-empty-directory ./bundle)" ] $(PROMETHEUS_RULES_TARGETS): $(PROMETHEUS_RULES_DEPS)