diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9f9ca698..8dfbbf27 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,7 +14,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: "1.21.12" + go-version: "1.22.8" - name: Build image run: make docker-build diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 44c69424..9ae21e30 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -17,7 +17,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: "1.21.12" + go-version: "1.22.8" - name: Run tests run: | diff --git a/Dockerfile b/Dockerfile index 6e7be0ee..77b7fffa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.21.12 as builder +FROM golang:1.22.8 as builder WORKDIR /workspace # Copy the Go Modules manifests diff --git a/Makefile b/Makefile index 21c10624..d34b4d18 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # To re-generate a bundle for another specific version without changing the standard setup, you can: # - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2) # - use environment variables to overwrite this value (e.g export VERSION=0.0.2) -VERSION ?= 0.13.1 +VERSION ?= 0.13.2-alpha.1 # CHANNELS define the bundle channels used in the bundle. # Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable") @@ -50,7 +50,7 @@ endif IMG ?= $(IMAGE_TAG_BASE):v$(VERSION) # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.27 +ENVTEST_K8S_VERSION = 1.29 # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -211,11 +211,11 @@ CRD_REFDOCS ?= $(LOCALBIN)/crd-ref-docs KIND ?= $(LOCALBIN)/kind ## Tool Versions -KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.11.3 +KUSTOMIZE_VERSION ?= v5.3.0 +CONTROLLER_TOOLS_VERSION ?= v0.14.0 GINKGO_VERSION ?= v2.14.0 CRD_REFDOCS_VERSION ?= v0.0.8 -KIND_VERSION ?= v0.16.0 +KIND_VERSION ?= v0.24.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" .PHONY: kustomize diff --git a/apis/marin3r/v1alpha1/zz_generated.deepcopy.go b/apis/marin3r/v1alpha1/zz_generated.deepcopy.go index 659213cb..6e239bc3 100644 --- a/apis/marin3r/v1alpha1/zz_generated.deepcopy.go +++ b/apis/marin3r/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2021. diff --git a/apis/operator.marin3r/v1alpha1/zz_generated.deepcopy.go b/apis/operator.marin3r/v1alpha1/zz_generated.deepcopy.go index abcadeb4..90f83a47 100644 --- a/apis/operator.marin3r/v1alpha1/zz_generated.deepcopy.go +++ b/apis/operator.marin3r/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2021. diff --git a/bundle.Dockerfile b/bundle.Dockerfile index be6900b1..60bde73e 100644 --- a/bundle.Dockerfile +++ b/bundle.Dockerfile @@ -5,8 +5,7 @@ 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=marin3r -LABEL operators.operatorframework.io.bundle.channels.v1=alpha,stable -LABEL operators.operatorframework.io.bundle.channel.default.v1=stable +LABEL operators.operatorframework.io.bundle.channels.v1=alpha LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.0 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/marin3r.clusterserviceversion.yaml b/bundle/manifests/marin3r.clusterserviceversion.yaml index 89ab80c3..5c3224b5 100644 --- a/bundle/manifests/marin3r.clusterserviceversion.yaml +++ b/bundle/manifests/marin3r.clusterserviceversion.yaml @@ -173,14 +173,14 @@ metadata: categories: Networking certified: "false" containerImage: quay.io/3scale/marin3r - createdAt: "2024-08-05T16:08:25Z" + createdAt: "2024-11-04T10:39:27Z" description: Lighweight, CRD based Envoy control plane for Kubernetes operators.operatorframework.io/builder: operator-sdk-v1.28.0 operators.operatorframework.io/internal-objects: '["envoyconfigrevisions.marin3r.3scale.net","discoveryservicecertificates.operator.marin3r.3scale.net"]' operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 repository: https://github.com/3scale-ops/marin3r support: Red Hat, Inc. - name: marin3r.v0.13.1 + name: marin3r.v0.13.2-alpha.1 namespace: placeholder spec: apiservicedefinitions: {} @@ -927,7 +927,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - image: quay.io/3scale/marin3r:v0.13.1 + image: quay.io/3scale/marin3r:v0.13.2-alpha.1 livenessProbe: httpGet: path: /healthz @@ -985,7 +985,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - image: quay.io/3scale/marin3r:v0.13.1 + image: quay.io/3scale/marin3r:v0.13.2-alpha.1 livenessProbe: httpGet: path: /healthz @@ -1292,7 +1292,7 @@ spec: maturity: alpha provider: name: Red Hat - version: 0.13.1 + version: 0.13.2-alpha.1 webhookdefinitions: - admissionReviewVersions: - v1 diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml index dac1dc44..ae75f6eb 100644 --- a/bundle/metadata/annotations.yaml +++ b/bundle/metadata/annotations.yaml @@ -4,8 +4,7 @@ annotations: operators.operatorframework.io.bundle.manifests.v1: manifests/ operators.operatorframework.io.bundle.metadata.v1: metadata/ operators.operatorframework.io.bundle.package.v1: marin3r - operators.operatorframework.io.bundle.channels.v1: alpha,stable - operators.operatorframework.io.bundle.channel.default.v1: stable + operators.operatorframework.io.bundle.channels.v1: alpha operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.0 operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 diff --git a/config/crd/bases/marin3r.3scale.net_envoyconfigrevisions.yaml b/config/crd/bases/marin3r.3scale.net_envoyconfigrevisions.yaml index 27ede99e..a1d53421 100644 --- a/config/crd/bases/marin3r.3scale.net_envoyconfigrevisions.yaml +++ b/config/crd/bases/marin3r.3scale.net_envoyconfigrevisions.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: envoyconfigrevisions.marin3r.3scale.net spec: group: marin3r.3scale.net @@ -44,20 +43,25 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: EnvoyConfigRevision is an internal resource that stores a specific - version of an EnvoyConfig resource. EnvoyConfigRevisions are automatically - created and deleted by the EnvoyConfig controller and are not intended to - be directly used. Use EnvoyConfig objects instead. + description: |- + EnvoyConfigRevision is an internal resource that stores a specific version of an EnvoyConfig + resource. EnvoyConfigRevisions are automatically created and deleted by the EnvoyConfig + controller and are not intended to be directly used. Use EnvoyConfig objects instead. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -75,19 +79,21 @@ spec: suported by the envoy discovery service properties: clusters: - description: 'Clusters is a list of the envoy Cluster resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto' + description: |- + Clusters is a list of the envoy Cluster resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -98,19 +104,21 @@ spec: type: object type: array endpoints: - description: 'Endpoints is a list of the envoy ClusterLoadAssignment - resource type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint.proto' + description: |- + Endpoints is a list of the envoy ClusterLoadAssignment resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -121,19 +129,21 @@ spec: type: object type: array extensionConfigs: - description: 'ExtensionConfigs is a list of the envoy ExtensionConfig - resource type API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/extension.proto' + description: |- + ExtensionConfigs is a list of the envoy ExtensionConfig resource type + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/extension.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -144,19 +154,21 @@ spec: type: object type: array listeners: - description: 'Listeners is a list of the envoy Listener resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto' + description: |- + Listeners is a list of the envoy Listener resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -167,19 +179,21 @@ spec: type: object type: array routes: - description: 'Routes is a list of the envoy Route resource type. - API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto' + description: |- + Routes is a list of the envoy Route resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -190,19 +204,21 @@ spec: type: object type: array runtimes: - description: 'Runtimes is a list of the envoy Runtime resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/runtime/v3/rtds.proto' + description: |- + Runtimes is a list of the envoy Runtime resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/runtime/v3/rtds.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -213,19 +229,21 @@ spec: type: object type: array scopedRoutes: - description: 'ScopedRoutes is a list of the envoy ScopeRoute resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/scoped_route.proto' + description: |- + ScopedRoutes is a list of the envoy ScopeRoute resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/scoped_route.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -239,19 +257,20 @@ spec: description: Secrets is a list of references to Kubernetes Secret objects. items: - description: EnvoySecretResource holds a reference to a k8s - Secret from where to take a secret from. Only Secrets within - the same namespace can be referred. + description: |- + EnvoySecretResource holds a reference to a k8s Secret from where + to take a secret from. Only Secrets within the same namespace can + be referred. properties: name: - description: Name of the envoy tslCerticate secret resource. - The certificate will be fetched from a Kubernetes Secrets - of type 'kubernetes.io/tls' with this same name. + description: |- + Name of the envoy tslCerticate secret resource. The certificate will be fetched + from a Kubernetes Secrets of type 'kubernetes.io/tls' with this same name. type: string ref: - description: 'DEPRECATED: this field is deprecated and it''s - value will be ignored. The ''name'' of the Kubernetes - Secret must match the ''name'' field.' + description: |- + DEPRECATED: this field is deprecated and it's value will be ignored. The 'name' of the + Kubernetes Secret must match the 'name' field. properties: name: description: name is unique within a namespace to reference @@ -269,43 +288,45 @@ spec: type: array type: object nodeID: - description: NodeID holds the envoy identifier for the discovery service - to know which set of resources to send to each of the envoy clients - that connect to it. + description: |- + NodeID holds the envoy identifier for the discovery service to know which set + of resources to send to each of the envoy clients that connect to it. type: string resources: description: Resources holds the different types of resources suported by the envoy discovery service items: - description: Resource holds serialized representation of an envoy + description: |- + Resource holds serialized representation of an envoy resource properties: blueprint: - description: Blueprint specifies a template to generate a configuration - proto. It is currently only supported to generate secret configuration - resources from k8s Secrets + description: |- + Blueprint specifies a template to generate a configuration proto. It is currently + only supported to generate secret configuration resources from k8s Secrets enum: - tlsCertificate - validationContext type: string generateFromEndpointSlices: - description: Specifies a label selector to watch for EndpointSlices - that will be used to generate the endpoint resource + description: |- + Specifies a label selector to watch for EndpointSlices that will + be used to generate the endpoint resource properties: clusterName: type: string selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: 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 + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -313,17 +334,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -335,11 +355,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -351,8 +370,9 @@ spec: - targetPort type: object generateFromOpaqueSecret: - description: The name of a Kubernetes Secret of type "Opaque". - It will generate an envoy "generic secret" proto. + description: |- + The name of a Kubernetes Secret of type "Opaque". It will generate an + envoy "generic secret" proto. properties: alias: description: A unique name to refer to the name:key combination @@ -386,9 +406,10 @@ spec: - extensionConfig type: string value: - description: Value is the protobufer message that configures - the resource. The proto must match the envoy configuration - API v3 specification for the given resource type (https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#resource-types) + description: |- + Value is the protobufer message that configures the resource. The proto + must match the envoy configuration API v3 specification for the given resource + type (https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#resource-types) type: object x-kubernetes-preserve-unknown-fields: true required: @@ -396,9 +417,9 @@ spec: type: object type: array serialization: - description: Serialization specicifies the serialization format used - to describe the resources. "json" and "yaml" are supported. "json" - is used if unset. + description: |- + Serialization specicifies the serialization format used to describe the resources. "json" and "yaml" + are supported. "json" is used if unset. enum: - json - b64json @@ -419,42 +440,42 @@ spec: of an object's state items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -468,11 +489,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -485,13 +507,15 @@ spec: type: object type: array lastPublishedAt: - description: LastPublishedAt indicates the last time this config review - transitioned to published + description: |- + LastPublishedAt indicates the last time this config review transitioned to + published format: date-time type: string providesVersions: - description: ProvidesVersions keeps track of the version that this - revision publishes in the xDS server for each resource type + description: |- + ProvidesVersions keeps track of the version that this revision + publishes in the xDS server for each resource type properties: clusters: type: string @@ -511,12 +535,14 @@ spec: type: string type: object published: - description: Published signals if the EnvoyConfigRevision is the one - currently published in the xds server cache + description: |- + Published signals if the EnvoyConfigRevision is the one currently published + in the xds server cache type: boolean tainted: - description: Tainted indicates whether the EnvoyConfigRevision is - eligible for publishing or not + description: |- + Tainted indicates whether the EnvoyConfigRevision is eligible for publishing + or not type: boolean type: object type: object diff --git a/config/crd/bases/marin3r.3scale.net_envoyconfigs.yaml b/config/crd/bases/marin3r.3scale.net_envoyconfigs.yaml index 826b0e16..e7bbf646 100644 --- a/config/crd/bases/marin3r.3scale.net_envoyconfigs.yaml +++ b/config/crd/bases/marin3r.3scale.net_envoyconfigs.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: envoyconfigs.marin3r.3scale.net spec: group: marin3r.3scale.net @@ -36,20 +35,26 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: EnvoyConfig holds the configuration for a given envoy nodeID. - The spec of an EnvoyConfig object holds the Envoy resources that conform - the desired configuration for the given nodeID and that the discovery service - will send to any envoy client that identifies itself with that nodeID. + description: |- + EnvoyConfig holds the configuration for a given envoy nodeID. The spec of an EnvoyConfig + object holds the Envoy resources that conform the desired configuration for the given nodeID + and that the discovery service will send to any envoy client that identifies itself with that + nodeID. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -63,24 +68,26 @@ spec: - v3 type: string envoyResources: - description: EnvoyResources holds the different types of resources - suported by the envoy discovery service DEPRECATED. Use the `resources` - field instead. + description: |- + EnvoyResources holds the different types of resources suported by the envoy discovery service + DEPRECATED. Use the `resources` field instead. properties: clusters: - description: 'Clusters is a list of the envoy Cluster resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto' + description: |- + Clusters is a list of the envoy Cluster resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -91,19 +98,21 @@ spec: type: object type: array endpoints: - description: 'Endpoints is a list of the envoy ClusterLoadAssignment - resource type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint.proto' + description: |- + Endpoints is a list of the envoy ClusterLoadAssignment resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -114,19 +123,21 @@ spec: type: object type: array extensionConfigs: - description: 'ExtensionConfigs is a list of the envoy ExtensionConfig - resource type API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/extension.proto' + description: |- + ExtensionConfigs is a list of the envoy ExtensionConfig resource type + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/extension.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -137,19 +148,21 @@ spec: type: object type: array listeners: - description: 'Listeners is a list of the envoy Listener resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto' + description: |- + Listeners is a list of the envoy Listener resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -160,19 +173,21 @@ spec: type: object type: array routes: - description: 'Routes is a list of the envoy Route resource type. - API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto' + description: |- + Routes is a list of the envoy Route resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -183,19 +198,21 @@ spec: type: object type: array runtimes: - description: 'Runtimes is a list of the envoy Runtime resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/runtime/v3/rtds.proto' + description: |- + Runtimes is a list of the envoy Runtime resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/runtime/v3/rtds.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -206,19 +223,21 @@ spec: type: object type: array scopedRoutes: - description: 'ScopedRoutes is a list of the envoy ScopeRoute resource - type. API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/scoped_route.proto' + description: |- + ScopedRoutes is a list of the envoy ScopeRoute resource type. + API V3 reference: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/scoped_route.proto items: - description: EnvoyResource holds serialized representation of - an envoy resource + description: |- + EnvoyResource holds serialized representation of an envoy + resource properties: name: - description: 'Name of the envoy resource. DEPRECATED: this - field has no effect and will be removed in an upcoming - release. The name of the resources for discovery purposes - is included in the resource itself. Refer to the envoy - API reference to check how the name is specified for each - resource type.' + description: |- + Name of the envoy resource. + DEPRECATED: this field has no effect and will be removed in an + upcoming release. The name of the resources for discovery purposes + is included in the resource itself. Refer to the envoy API reference + to check how the name is specified for each resource type. type: string value: description: Value is the serialized representation of the @@ -232,19 +251,20 @@ spec: description: Secrets is a list of references to Kubernetes Secret objects. items: - description: EnvoySecretResource holds a reference to a k8s - Secret from where to take a secret from. Only Secrets within - the same namespace can be referred. + description: |- + EnvoySecretResource holds a reference to a k8s Secret from where + to take a secret from. Only Secrets within the same namespace can + be referred. properties: name: - description: Name of the envoy tslCerticate secret resource. - The certificate will be fetched from a Kubernetes Secrets - of type 'kubernetes.io/tls' with this same name. + description: |- + Name of the envoy tslCerticate secret resource. The certificate will be fetched + from a Kubernetes Secrets of type 'kubernetes.io/tls' with this same name. type: string ref: - description: 'DEPRECATED: this field is deprecated and it''s - value will be ignored. The ''name'' of the Kubernetes - Secret must match the ''name'' field.' + description: |- + DEPRECATED: this field is deprecated and it's value will be ignored. The 'name' of the + Kubernetes Secret must match the 'name' field. properties: name: description: name is unique within a namespace to reference @@ -262,43 +282,45 @@ spec: type: array type: object nodeID: - description: NodeID holds the envoy identifier for the discovery service - to know which set of resources to send to each of the envoy clients - that connect to it. + description: |- + NodeID holds the envoy identifier for the discovery service to know which set + of resources to send to each of the envoy clients that connect to it. type: string resources: description: Resources holds the different types of resources suported by the envoy discovery service items: - description: Resource holds serialized representation of an envoy + description: |- + Resource holds serialized representation of an envoy resource properties: blueprint: - description: Blueprint specifies a template to generate a configuration - proto. It is currently only supported to generate secret configuration - resources from k8s Secrets + description: |- + Blueprint specifies a template to generate a configuration proto. It is currently + only supported to generate secret configuration resources from k8s Secrets enum: - tlsCertificate - validationContext type: string generateFromEndpointSlices: - description: Specifies a label selector to watch for EndpointSlices - that will be used to generate the endpoint resource + description: |- + Specifies a label selector to watch for EndpointSlices that will + be used to generate the endpoint resource properties: clusterName: type: string selector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: 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 + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -306,17 +328,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -328,11 +349,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -344,8 +364,9 @@ spec: - targetPort type: object generateFromOpaqueSecret: - description: The name of a Kubernetes Secret of type "Opaque". - It will generate an envoy "generic secret" proto. + description: |- + The name of a Kubernetes Secret of type "Opaque". It will generate an + envoy "generic secret" proto. properties: alias: description: A unique name to refer to the name:key combination @@ -379,9 +400,10 @@ spec: - extensionConfig type: string value: - description: Value is the protobufer message that configures - the resource. The proto must match the envoy configuration - API v3 specification for the given resource type (https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#resource-types) + description: |- + Value is the protobufer message that configures the resource. The proto + must match the envoy configuration API v3 specification for the given resource + type (https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#resource-types) type: object x-kubernetes-preserve-unknown-fields: true required: @@ -389,9 +411,9 @@ spec: type: object type: array serialization: - description: Serialization specicifies the serialization format used - to describe the resources. "json" and "yaml" are supported. "json" - is used if unset. + description: |- + Serialization specicifies the serialization format used to describe the resources. "json" and "yaml" + are supported. "json" is used if unset. enum: - json - yaml @@ -403,53 +425,53 @@ spec: description: EnvoyConfigStatus defines the observed state of EnvoyConfig properties: cacheState: - description: CacheState summarizes all the observations about the - EnvoyConfig to give the user a concrete idea on the general status - of the discovery servie cache. It is intended only for human consumption. - Other controllers should relly on conditions to determine the status - of the discovery server cache. + description: |- + CacheState summarizes all the observations about the EnvoyConfig + to give the user a concrete idea on the general status of the discovery servie cache. + It is intended only for human consumption. Other controllers should relly on conditions + to determine the status of the discovery server cache. type: string conditions: description: Conditions represent the latest available observations of an object's state items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -463,11 +485,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -480,56 +503,66 @@ spec: type: object type: array desiredVersion: - description: DesiredVersion represents the resources version described - in the spec of the EnvoyConfig object + description: |- + DesiredVersion represents the resources version described in + the spec of the EnvoyConfig object type: string publishedVersion: - description: PublishedVersion is the config version currently served - by the envoy discovery service for the give nodeID + description: |- + PublishedVersion is the config version currently + served by the envoy discovery service for the give nodeID type: string revisions: - description: ConfigRevisions is an ordered list of references to EnvoyConfigRevision + description: |- + ConfigRevisions is an ordered list of references to EnvoyConfigRevision objects items: description: ConfigRevisionRef holds a reference to EnvoyConfigRevision object properties: ref: - description: Ref is a reference to the EnvoyConfigRevision object - that holds the configuration matching the Version field. + description: |- + Ref is a reference to the EnvoyConfigRevision object that + holds the configuration matching the Version field. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way - of referencing a part of an object. TODO: this design - is not final and this field is subject to change in the - future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic diff --git a/config/crd/bases/operator.marin3r.3scale.net_discoveryservicecertificates.yaml b/config/crd/bases/operator.marin3r.3scale.net_discoveryservicecertificates.yaml index 06463fe8..391c541b 100644 --- a/config/crd/bases/operator.marin3r.3scale.net_discoveryservicecertificates.yaml +++ b/config/crd/bases/operator.marin3r.3scale.net_discoveryservicecertificates.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: discoveryservicecertificates.operator.marin3r.3scale.net spec: group: operator.marin3r.3scale.net @@ -30,20 +29,25 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: DiscoveryServiceCertificate is an internal resource used to create - certificates. This resource is used by the DiscoveryService controller to - create the required certificates for the different components. Direct use - of DiscoveryServiceCertificate objects is discouraged. + description: |- + DiscoveryServiceCertificate is an internal resource used to create certificates. This resource + is used by the DiscoveryService controller to create the required certificates for the different + components. Direct use of DiscoveryServiceCertificate objects is discouraged. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -52,9 +56,9 @@ spec: of DiscoveryServiceCertificate properties: certificateRenewal: - description: CertificateRenewalConfig configures the certificate renewal - process. If unset default behavior is to renew the certificate but - not notify of renewals. + description: |- + CertificateRenewalConfig configures the certificate renewal process. If unset default + behavior is to renew the certificate but not notify of renewals. properties: enabled: description: Enabled is a flag to enable or disable renewal of @@ -67,8 +71,9 @@ spec: description: CommonName is the CommonName of the certificate type: string hosts: - description: Hosts is the list of hosts the certificate is valid for. - Only use when 'IsServerCertificate' is true. If unset, the CommonName + description: |- + Hosts is the list of hosts the certificate is valid for. Only + use when 'IsServerCertificate' is true. If unset, the CommonName field will be used to populate the valid hosts of the certificate. items: type: string @@ -78,8 +83,9 @@ spec: a CA type: boolean secretRef: - description: SecretRef is a reference to the secret that will hold - the certificate and the private key. + description: |- + SecretRef is a reference to the secret that will hold the certificate + and the private key. properties: name: description: name is unique within a namespace to reference a @@ -92,12 +98,14 @@ spec: type: object x-kubernetes-map-type: atomic server: - description: IsServerCertificate is a boolean specifying if the certificate - should be issued with server auth usage enabled + description: |- + IsServerCertificate is a boolean specifying if the certificate should be + issued with server auth usage enabled type: boolean signer: - description: Signer specifies the signer to use to create this certificate. - Supported signers are CertManager and SelfSigned. + description: |- + Signer specifies the signer to use to create this certificate. Supported + signers are CertManager and SelfSigned. properties: caSigned: description: CASigned holds specific configuration for the CASigned @@ -140,51 +148,51 @@ spec: of DiscoveryServiceCertificate properties: certificateHash: - description: CertificateHash stores the current hash of the certificate. - It is used for other controllers to validate if a certificate has - been re-issued. + description: |- + CertificateHash stores the current hash of the certificate. It is used + for other controllers to validate if a certificate has been re-issued. type: string conditions: description: Conditions represent the latest available observations of an object's state items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -198,11 +206,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -219,7 +228,8 @@ spec: format: date-time type: string notBefore: - description: NotBefore is the time at which the certificate starts + description: |- + NotBefore is the time at which the certificate starts being valid format: date-time type: string diff --git a/config/crd/bases/operator.marin3r.3scale.net_discoveryservices.yaml b/config/crd/bases/operator.marin3r.3scale.net_discoveryservices.yaml index aaa8e169..9d304d6c 100644 --- a/config/crd/bases/operator.marin3r.3scale.net_discoveryservices.yaml +++ b/config/crd/bases/operator.marin3r.3scale.net_discoveryservices.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: discoveryservices.operator.marin3r.3scale.net spec: group: operator.marin3r.3scale.net @@ -18,18 +17,24 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: DiscoveryService represents an envoy discovery service server. - Only one instance per namespace is currently supported. + description: |- + DiscoveryService represents an envoy discovery service server. Only one + instance per namespace is currently supported. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -37,9 +42,9 @@ spec: description: DiscoveryServiceSpec defines the desired state of DiscoveryService properties: debug: - description: Debug enables debugging log level for the discovery service - controllers. It is safe to use since secret data is never shown - in the logs. + description: |- + Debug enables debugging log level for the discovery service controllers. It is safe to + use since secret data is never shown in the logs. type: boolean image: description: Image holds the image to use for the discovery service @@ -51,13 +56,14 @@ spec: format: int32 type: integer pkiConfg: - description: PKIConfig has configuration for the PKI that marin3r - manages for the different certificates it requires + description: |- + PKIConfig has configuration for the PKI that marin3r manages for the + different certificates it requires properties: rootCertificateAuthority: - description: CertificateOptions specifies options to generate - the server certificate used both for the xDS server and the - mutating webhook server. + description: |- + CertificateOptions specifies options to generate the server certificate used both + for the xDS server and the mutating webhook server. properties: duration: type: string @@ -68,9 +74,9 @@ spec: - secretName type: object serverCertificate: - description: CertificateOptions specifies options to generate - the server certificate used both for the xDS server and the - mutating webhook server. + description: |- + CertificateOptions specifies options to generate the server certificate used both + for the xDS server and the mutating webhook server. properties: duration: type: string @@ -93,23 +99,30 @@ spec: format: int32 type: integer resources: - description: Resources holds the Resource Requirements to use for - the discovery service Deployment. When not set it defaults to no - resource requests nor limits. CPU and Memory resources are supported. + description: |- + Resources holds the Resource Requirements to use for the discovery service + Deployment. When not set it defaults to no resource requests nor limits. + CPU and Memory resources are supported. properties: claims: - description: "Claims lists the names of resources, defined in - spec.resourceClaims, that are used by this container. \n This - is an alpha field and requires enabling the DynamicResourceAllocation - feature gate. \n This field is immutable. It can only be set - for containers." + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name of one entry in pod.spec.resourceClaims - of the Pod where this field is used. It makes that resource - available inside a container. + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. type: string required: - name @@ -125,8 +138,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -135,11 +149,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. Requests cannot exceed Limits. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object serviceConfig: @@ -174,9 +188,10 @@ spec: format: int32 type: integer collisionCount: - description: Count of hash collisions for the Deployment. The - Deployment controller uses this field as a collision avoidance - mechanism when it needs to create the name for the newest ReplicaSet. + description: |- + Count of hash collisions for the Deployment. The Deployment controller uses this + field as a collision avoidance mechanism when it needs to create the name for the + newest ReplicaSet. format: int32 type: integer conditions: @@ -229,11 +244,10 @@ spec: format: int32 type: integer unavailableReplicas: - description: Total number of unavailable pods targeted by this - deployment. This is the total number of pods that are still - required for the deployment to have 100% available capacity. - They may either be pods that are running but not yet available - or pods that still have not been created. + description: |- + Total number of unavailable pods targeted by this deployment. This is the total number of + pods that are still required for the deployment to have 100% available capacity. They may + either be pods that are running but not yet available or pods that still have not been created. format: int32 type: integer updatedReplicas: diff --git a/config/crd/bases/operator.marin3r.3scale.net_envoydeployments.yaml b/config/crd/bases/operator.marin3r.3scale.net_envoydeployments.yaml index 398af7c9..2abfb6fd 100644 --- a/config/crd/bases/operator.marin3r.3scale.net_envoydeployments.yaml +++ b/config/crd/bases/operator.marin3r.3scale.net_envoydeployments.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: envoydeployments.operator.marin3r.3scale.net spec: group: operator.marin3r.3scale.net @@ -18,18 +17,24 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: EnvoyDeployment is a resource to deploy and manage a Kubernetes - Deployment of Envoy Pods. + description: |- + EnvoyDeployment is a resource to deploy and manage a Kubernetes Deployment + of Envoy Pods. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -52,22 +57,20 @@ spec: pod. properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the affinity expressions specified by - this field, but it may choose a node that violates one or - more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node matches - the corresponding matchExpressions; the node(s) with the - highest sum are the most preferred. + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. items: - description: An empty preferred scheduling term matches - all objects with implicit weight 0 (i.e. it's a no-op). - A null preferred scheduling term matches no objects (i.e. - is also a no-op). + description: |- + An empty preferred scheduling term matches all objects with implicit weight 0 + (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 @@ -77,30 +80,26 @@ spec: 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. + 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. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -113,30 +112,26 @@ spec: 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. + 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. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -158,50 +153,46 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to an update), the system may or may not try to - eventually evict the pod from its node. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + 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. items: - description: A null or empty node selector term matches - no objects. The requirements of them are ANDed. The - TopologySelectorTerm type implements a subset of the - NodeSelectorTerm. + description: |- + A null or empty node selector term matches no objects. The requirements of + them are ANDed. + The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. properties: matchExpressions: 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. + 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. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -214,30 +205,26 @@ spec: 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. + 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. type: string operator: - description: Represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. Gt, and - Lt. + description: |- + Represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. type: string values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. If the operator is Gt or - Lt, the values array must have a single - element, which will be interpreted as an - integer. This array is replaced during a - strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. If the operator is Gt or Lt, the values + array must have a single element, which will be interpreted as an integer. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -259,16 +246,15 @@ spec: this pod in the same node, zone, etc. as some other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the affinity expressions specified by - this field, but it may choose a node that violates one or - more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node has - pods which matches the corresponding podAffinityTerm; the + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "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 @@ -279,37 +265,33 @@ spec: with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, - in this case pods. If it's null, this PodAffinityTerm - matches with no Pods. + description: |- + A label query over a set of resources, in this case pods. + 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. items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. + 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. type: string operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -322,89 +304,74 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: - description: MatchLabelKeys is a set of pod label - keys to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged - with `LabelSelector` as `key in (value)` to select - the group of existing pods which pods will be - taken into consideration for the incoming pod's - pod (anti) affinity. Keys that don't exist in - the incoming pod labels will be ignored. The default - value is empty. The same key is forbidden to exist - in both MatchLabelKeys and LabelSelector. Also, - MatchLabelKeys cannot be set when LabelSelector - isn't set. This is an alpha field and requires - enabling MatchLabelKeysInPodAffinity feature gate. + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: - description: MismatchLabelKeys is a set of pod label - keys to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged - with `LabelSelector` as `key notin (value)` to - select the group of existing pods which pods will - be taken into consideration for the incoming pod's - pod (anti) affinity. Keys that don't exist in - the incoming pod labels will be ignored. The default - value is empty. The same key is forbidden to exist - in both MismatchLabelKeys and LabelSelector. Also, - MismatchLabelKeys cannot be set when LabelSelector - isn't set. This is an alpha field and requires - enabling MatchLabelKeysInPodAffinity feature gate. + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by this - field and the ones listed in the namespaces field. - null selector and null or empty namespaces list - means "this pod's namespace". An empty selector - ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -417,40 +384,37 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. The - term is applied to the union of the namespaces - listed in this field and the ones selected by - namespaceSelector. null or empty namespaces list - and null namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey - matches that of any node on which any of the selected - pods is running. Empty topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. format: int32 type: integer required: @@ -459,53 +423,51 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the affinity requirements specified by this - field are not met at scheduling time, the pod will not be - scheduled onto the node. If the affinity requirements specified - by this field cease to be met at some point during pod execution - (e.g. due to a pod label update), the system may or may - not try to eventually evict the pod from its node. When - there are multiple elements, the lists of nodes corresponding - to each podAffinityTerm are intersected, i.e. all terms - must be satisfied. + description: |- + If the affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of - pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, - in this case pods. If it's null, this PodAffinityTerm - matches with no Pods. + description: |- + A label query over a set of resources, in this case pods. + 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. items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. + 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. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -517,84 +479,74 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: - description: MatchLabelKeys is a set of pod label keys - to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged with - `LabelSelector` as `key in (value)` to select the - group of existing pods which pods will be taken into - consideration for the incoming pod's pod (anti) affinity. - Keys that don't exist in the incoming pod labels will - be ignored. The default value is empty. The same key - is forbidden to exist in both MatchLabelKeys and LabelSelector. - Also, MatchLabelKeys cannot be set when LabelSelector - isn't set. This is an alpha field and requires enabling - MatchLabelKeysInPodAffinity feature gate. + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: - description: MismatchLabelKeys is a set of pod label - keys to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged with - `LabelSelector` as `key notin (value)` to select the - group of existing pods which pods will be taken into - consideration for the incoming pod's pod (anti) affinity. - Keys that don't exist in the incoming pod labels will - be ignored. The default value is empty. The same key - is forbidden to exist in both MismatchLabelKeys and - LabelSelector. Also, MismatchLabelKeys cannot be set - when LabelSelector isn't set. This is an alpha field - and requires enabling MatchLabelKeysInPodAffinity - feature gate. + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied to the - union of the namespaces selected by this field and - the ones listed in the namespaces field. null selector - and null or empty namespaces list means "this pod's - namespace". An empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -606,32 +558,28 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list of namespace - names that the term applies to. The term is applied - to the union of the namespaces listed in this field - and the ones selected by namespaceSelector. null or - empty namespaces list and null namespaceSelector means - "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of - any node on which any of the selected pods is running. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. Empty topologyKey is not allowed. type: string required: @@ -645,16 +593,15 @@ spec: other pod(s)). properties: preferredDuringSchedulingIgnoredDuringExecution: - description: The scheduler will prefer to schedule pods to - nodes that satisfy the anti-affinity expressions specified - by this field, but it may choose a node that violates one - or more of the expressions. The node that is most preferred - is the one with the greatest sum of weights, i.e. for each - node that meets all of the scheduling requirements (resource - request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of - this field and adding "weight" to the sum if the node has - pods which matches the corresponding podAffinityTerm; the + description: |- + The scheduler will prefer to schedule pods to nodes that satisfy + the anti-affinity expressions specified by this field, but it may choose + a node that violates one or more of the expressions. The node that is + most preferred is the one with the greatest sum of weights, i.e. + for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "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 @@ -665,37 +612,33 @@ spec: with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, - in this case pods. If it's null, this PodAffinityTerm - matches with no Pods. + description: |- + A label query over a set of resources, in this case pods. + 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. items: - description: A label selector requirement - is a selector that contains values, a key, - and an operator that relates the key and - values. + 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. type: string operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -708,89 +651,74 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: - description: MatchLabelKeys is a set of pod label - keys to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged - with `LabelSelector` as `key in (value)` to select - the group of existing pods which pods will be - taken into consideration for the incoming pod's - pod (anti) affinity. Keys that don't exist in - the incoming pod labels will be ignored. The default - value is empty. The same key is forbidden to exist - in both MatchLabelKeys and LabelSelector. Also, - MatchLabelKeys cannot be set when LabelSelector - isn't set. This is an alpha field and requires - enabling MatchLabelKeysInPodAffinity feature gate. + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: - description: MismatchLabelKeys is a set of pod label - keys to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged - with `LabelSelector` as `key notin (value)` to - select the group of existing pods which pods will - be taken into consideration for the incoming pod's - pod (anti) affinity. Keys that don't exist in - the incoming pod labels will be ignored. The default - value is empty. The same key is forbidden to exist - in both MismatchLabelKeys and LabelSelector. Also, - MismatchLabelKeys cannot be set when LabelSelector - isn't set. This is an alpha field and requires - enabling MatchLabelKeysInPodAffinity feature gate. + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied - to the union of the namespaces selected by this - field and the ones listed in the namespaces field. - null selector and null or empty namespaces list - means "this pod's namespace". An empty selector - ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and - DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. - If the operator is Exists or DoesNotExist, - the values array must be empty. This - array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -803,40 +731,37 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is - "In", and the values array contains only "value". - The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list - of namespace names that the term applies to. The - term is applied to the union of the namespaces - listed in this field and the ones selected by - namespaceSelector. null or empty namespaces list - and null namespaceSelector means "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods - matching the labelSelector in the specified namespaces, - where co-located is defined as running on a node - whose value of the label with key topologyKey - matches that of any node on which any of the selected - pods is running. Empty topologyKey is not allowed. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. + Empty topologyKey is not allowed. type: string required: - topologyKey type: object weight: - description: weight associated with matching the corresponding - podAffinityTerm, in the range 1-100. + description: |- + weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. format: int32 type: integer required: @@ -845,53 +770,51 @@ spec: type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - description: If the anti-affinity requirements specified by - this field are not met at scheduling time, the pod will - not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during - pod execution (e.g. due to a pod label update), the system - may or may not try to eventually evict the pod from its - node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. - all terms must be satisfied. + description: |- + If the anti-affinity requirements specified by this field are not met at + scheduling time, the pod will not be scheduled onto the node. + If the anti-affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), the + system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to each + podAffinityTerm are intersected, i.e. all terms must be satisfied. items: - description: Defines a set of pods (namely those matching - the labelSelector relative to the given namespace(s)) - that this pod should be co-located (affinity) or not co-located - (anti-affinity) with, where co-located is defined as running - on a node whose value of the label with key - matches that of any node on which a pod of the set of - pods is running + description: |- + Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be + co-located (affinity) or not co-located (anti-affinity) with, + where co-located is defined as running on a node whose value of + the label with key matches that of any node on which + a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, - in this case pods. If it's null, this PodAffinityTerm - matches with no Pods. + description: |- + A label query over a set of resources, in this case pods. + 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. items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. + 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. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -903,84 +826,74 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic matchLabelKeys: - description: MatchLabelKeys is a set of pod label keys - to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged with - `LabelSelector` as `key in (value)` to select the - group of existing pods which pods will be taken into - consideration for the incoming pod's pod (anti) affinity. - Keys that don't exist in the incoming pod labels will - be ignored. The default value is empty. The same key - is forbidden to exist in both MatchLabelKeys and LabelSelector. - Also, MatchLabelKeys cannot be set when LabelSelector - isn't set. This is an alpha field and requires enabling - MatchLabelKeysInPodAffinity feature gate. + description: |- + MatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic mismatchLabelKeys: - description: MismatchLabelKeys is a set of pod label - keys to select which pods will be taken into consideration. - The keys are used to lookup values from the incoming - pod labels, those key-value labels are merged with - `LabelSelector` as `key notin (value)` to select the - group of existing pods which pods will be taken into - consideration for the incoming pod's pod (anti) affinity. - Keys that don't exist in the incoming pod labels will - be ignored. The default value is empty. The same key - is forbidden to exist in both MismatchLabelKeys and - LabelSelector. Also, MismatchLabelKeys cannot be set - when LabelSelector isn't set. This is an alpha field - and requires enabling MatchLabelKeysInPodAffinity - feature gate. + description: |- + MismatchLabelKeys is a set of pod label keys to select which pods will + be taken into consideration. The keys are used to lookup values from the + incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + to select the group of existing pods which pods will be taken into consideration + for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + pod labels will be ignored. The default value is empty. + The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. items: type: string type: array x-kubernetes-list-type: atomic namespaceSelector: - description: A label query over the set of namespaces - that the term applies to. The term is applied to the - union of the namespaces selected by this field and - the ones listed in the namespaces field. null selector - and null or empty namespaces list means "this pod's - namespace". An empty selector ({}) matches all namespaces. + description: |- + A label query over the set of namespaces that the term applies to. + The term is applied to the union of the namespaces selected by this field + and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's namespace". + An empty selector ({}) matches all namespaces. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -992,32 +905,28 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaces: - description: namespaces specifies a static list of namespace - names that the term applies to. The term is applied - to the union of the namespaces listed in this field - and the ones selected by namespaceSelector. null or - empty namespaces list and null namespaceSelector means - "this pod's namespace". + description: |- + namespaces specifies a static list of namespace names that the term applies to. + The term is applied to the union of the namespaces listed in this field + and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means "this pod's namespace". items: type: string type: array topologyKey: - description: This pod should be co-located (affinity) - or not co-located (anti-affinity) with the pods matching - the labelSelector in the specified namespaces, where - co-located is defined as running on a node whose value - of the label with key topologyKey matches that of - any node on which any of the selected pods is running. + description: |- + This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + the labelSelector in the specified namespaces, where co-located is defined as running on a node + whose value of the label with key topologyKey matches that of any node on which any of the + selected pods is running. Empty topologyKey is not allowed. type: string required: @@ -1027,19 +936,23 @@ spec: type: object type: object clusterID: - description: Defines the local service cluster name where Envoy is - running. Defaults to the NodeID in the EnvoyConfig if unset + description: |- + Defines the local service cluster name where Envoy is running. Defaults + to the NodeID in the EnvoyConfig if unset type: string discoveryServiceRef: - description: DiscoveryServiceRef points to a DiscoveryService in the - same namespace + description: |- + DiscoveryServiceRef points to a DiscoveryService in the same + namespace type: string duration: - description: Defines the duration of the client certificate that is - used to authenticate with the DiscoveryService + description: |- + Defines the duration of the client certificate that is used to authenticate + with the DiscoveryService type: string envoyConfigRef: - description: EnvoyConfigRef points to an EnvoyConfig in the same namespace + description: |- + EnvoyConfigRef points to an EnvoyConfig in the same namespace that holds the envoy resources for this Deployment type: string extraArgs: @@ -1052,8 +965,9 @@ spec: description: Image is the envoy image and tag to use type: string initManager: - description: InitManager defines configuration for Envoy's init manager, - which handles initialization for Envoy pods + description: |- + InitManager defines configuration for Envoy's init + manager, which handles initialization for Envoy pods properties: image: description: Image is the init manager image and tag to use @@ -1099,21 +1013,21 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one can - prevent all voluntary evictions by specifying 0. This is a mutually - exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after the - eviction, i.e. even in the absence of the evicted pod. So for - example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true type: object ports: @@ -1172,41 +1086,39 @@ spec: - timeoutSeconds type: object replicas: - description: Replicas configures the number of replicas in the Deployment. - One of 'static', 'dynamic' can be set. If both are set, static has - precedence. + description: |- + Replicas configures the number of replicas in the Deployment. One of + 'static', 'dynamic' can be set. If both are set, static has precedence. properties: dynamic: description: Configure a min and max value for the number of pods to autoscale dynamically. properties: behavior: - description: behavior configures the scaling behavior of the - target in both Up and Down directions (scaleUp and scaleDown - fields respectively). If not set, the default HPAScalingRules - for scale up and scale down are used. + description: |- + behavior configures the scaling behavior of the target + in both Up and Down directions (scaleUp and scaleDown fields respectively). + If not set, the default HPAScalingRules for scale up and scale down are used. properties: scaleDown: - description: scaleDown is scaling policy for scaling Down. - If not set, the default value is to allow to scale down - to minReplicas pods, with a 300 second stabilization - window (i.e., the highest recommendation for the last - 300sec is used). + description: |- + scaleDown is scaling policy for scaling Down. + If not set, the default value is to allow to scale down to minReplicas pods, with a + 300 second stabilization window (i.e., the highest recommendation for + the last 300sec is used). properties: policies: - description: policies is a list of potential scaling - polices which can be used during scaling. At least - one policy must be specified, otherwise the HPAScalingRules - will be discarded as invalid + description: |- + policies is a list of potential scaling polices which can be used during scaling. + At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid items: description: HPAScalingPolicy is a single policy which must hold true for a specified past interval. properties: periodSeconds: - description: periodSeconds specifies the window - of time for which the policy should hold true. - PeriodSeconds must be greater than zero and - less than or equal to 1800 (30 min). + description: |- + periodSeconds specifies the window of time for which the policy should hold true. + PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). format: int32 type: integer type: @@ -1214,9 +1126,9 @@ spec: policy. type: string value: - description: value contains the amount of change - which is permitted by the policy. It must - be greater than zero + description: |- + value contains the amount of change which is permitted by the policy. + It must be greater than zero format: int32 type: integer required: @@ -1227,43 +1139,41 @@ spec: type: array x-kubernetes-list-type: atomic selectPolicy: - description: selectPolicy is used to specify which - policy should be used. If not set, the default value - Max is used. + description: |- + selectPolicy is used to specify which policy should be used. + If not set, the default value Max is used. type: string stabilizationWindowSeconds: - description: 'stabilizationWindowSeconds is the number - of seconds for which past recommendations should - be considered while scaling up or scaling down. - StabilizationWindowSeconds must be greater than - or equal to zero and less than or equal to 3600 - (one hour). If not set, use the default values: + description: |- + stabilizationWindowSeconds is the number of seconds for which past recommendations should be + considered while scaling up or scaling down. + StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). + If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - - For scale down: 300 (i.e. the stabilization window - is 300 seconds long).' + - For scale down: 300 (i.e. the stabilization window is 300 seconds long). format: int32 type: integer type: object scaleUp: - description: 'scaleUp is scaling policy for scaling Up. - If not set, the default value is the higher of: * increase - no more than 4 pods per 60 seconds * double the number - of pods per 60 seconds No stabilization is used.' + description: |- + scaleUp is scaling policy for scaling Up. + If not set, the default value is the higher of: + * increase no more than 4 pods per 60 seconds + * double the number of pods per 60 seconds + No stabilization is used. properties: policies: - description: policies is a list of potential scaling - polices which can be used during scaling. At least - one policy must be specified, otherwise the HPAScalingRules - will be discarded as invalid + description: |- + policies is a list of potential scaling polices which can be used during scaling. + At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid items: description: HPAScalingPolicy is a single policy which must hold true for a specified past interval. properties: periodSeconds: - description: periodSeconds specifies the window - of time for which the policy should hold true. - PeriodSeconds must be greater than zero and - less than or equal to 1800 (30 min). + description: |- + periodSeconds specifies the window of time for which the policy should hold true. + PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). format: int32 type: integer type: @@ -1271,9 +1181,9 @@ spec: policy. type: string value: - description: value contains the amount of change - which is permitted by the policy. It must - be greater than zero + description: |- + value contains the amount of change which is permitted by the policy. + It must be greater than zero format: int32 type: integer required: @@ -1284,56 +1194,51 @@ spec: type: array x-kubernetes-list-type: atomic selectPolicy: - description: selectPolicy is used to specify which - policy should be used. If not set, the default value - Max is used. + description: |- + selectPolicy is used to specify which policy should be used. + If not set, the default value Max is used. type: string stabilizationWindowSeconds: - description: 'stabilizationWindowSeconds is the number - of seconds for which past recommendations should - be considered while scaling up or scaling down. - StabilizationWindowSeconds must be greater than - or equal to zero and less than or equal to 3600 - (one hour). If not set, use the default values: + description: |- + stabilizationWindowSeconds is the number of seconds for which past recommendations should be + considered while scaling up or scaling down. + StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). + If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - - For scale down: 300 (i.e. the stabilization window - is 300 seconds long).' + - For scale down: 300 (i.e. the stabilization window is 300 seconds long). format: int32 type: integer type: object type: object maxReplicas: - description: maxReplicas is the upper limit for the number - of replicas to which the autoscaler can scale up. It cannot - be less that minReplicas. + description: |- + maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. + It cannot be less that minReplicas. format: int32 type: integer metrics: - description: metrics contains the specifications for which - to use to calculate the desired replica count (the maximum - replica count across all metrics will be used). The desired - replica count is calculated multiplying the ratio between - the target value and the current value by the current number - of pods. Ergo, metrics used must decrease as the pod count - is increased, and vice-versa. See the individual metric - source types for more information about how each type of - metric must respond. If not set, the default metric will - be set to 80% average CPU utilization. + description: |- + metrics contains the specifications for which to use to calculate the + desired replica count (the maximum replica count across all metrics will + be used). The desired replica count is calculated multiplying the + ratio between the target value and the current value by the current + number of pods. Ergo, metrics used must decrease as the pod count is + increased, and vice-versa. See the individual metric source types for + more information about how each type of metric must respond. + If not set, the default metric will be set to 80% average CPU utilization. items: - description: MetricSpec specifies how to scale based on - a single metric (only `type` and one other matching field - should be set at once). + description: |- + MetricSpec specifies how to scale based on a single metric + (only `type` and one other matching field should be set at once). properties: containerResource: - description: containerResource refers to a resource - metric (such as those specified in requests and limits) - known to Kubernetes describing a single container - in each pod of the current scale target (e.g. CPU - or memory). Such metrics are built in to Kubernetes, - and have special scaling options on top of those available - to normal per-pod metrics using the "pods" source. - This is an alpha feature and can be enabled by the - HPAContainerMetrics feature flag. + description: |- + containerResource refers to a resource metric (such as those specified in + requests and limits) known to Kubernetes describing a single container in + each pod of the current scale target (e.g. CPU or memory). Such metrics are + built in to Kubernetes, and have special scaling options on top of those + available to normal per-pod metrics using the "pods" source. + This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag. properties: container: description: container is the name of the container @@ -1348,21 +1253,20 @@ spec: the given metric properties: averageUtilization: - description: averageUtilization is the target - value of the average of the resource metric - across all relevant pods, represented as a - percentage of the requested value of the resource - for the pods. Currently only valid for Resource - metric source type + description: |- + averageUtilization is the target value of the average of the + resource metric across all relevant pods, represented as a percentage of + the requested value of the resource for the pods. + Currently only valid for Resource metric source type format: int32 type: integer averageValue: anyOf: - type: integer - type: string - description: averageValue is the target value - of the average of the metric across all relevant - pods (as a quantity) + description: |- + averageValue is the target value of the average of the + metric across all relevant pods (as a quantity) pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: @@ -1386,12 +1290,12 @@ spec: - target type: object external: - description: external refers to a global metric that - is not associated with any Kubernetes object. It allows - autoscaling based on information coming from components - running outside of cluster (for example length of - queue in cloud messaging service, or QPS from loadbalancer - running outside of cluster). + description: |- + external refers to a global metric that is not associated + with any Kubernetes object. It allows autoscaling based on information + coming from components running outside of cluster + (for example length of queue in cloud messaging service, or + QPS from loadbalancer running outside of cluster). properties: metric: description: metric identifies the target metric @@ -1401,43 +1305,35 @@ spec: description: name is the name of the given metric type: string selector: - description: selector is the string-encoded - form of a standard kubernetes label selector - for the given metric When set, it is passed - as an additional parameter to the metrics - server for more specific metrics scoping. - When unset, just the metricName will be used - to gather metrics. + description: |- + selector is the string-encoded form of a standard kubernetes label selector for the given metric + When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. + When unset, just the metricName will be used to gather metrics. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -1449,12 +1345,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -1466,21 +1360,20 @@ spec: the given metric properties: averageUtilization: - description: averageUtilization is the target - value of the average of the resource metric - across all relevant pods, represented as a - percentage of the requested value of the resource - for the pods. Currently only valid for Resource - metric source type + description: |- + averageUtilization is the target value of the average of the + resource metric across all relevant pods, represented as a percentage of + the requested value of the resource for the pods. + Currently only valid for Resource metric source type format: int32 type: integer averageValue: anyOf: - type: integer - type: string - description: averageValue is the target value - of the average of the metric across all relevant - pods (as a quantity) + description: |- + averageValue is the target value of the average of the + metric across all relevant pods (as a quantity) pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: @@ -1503,9 +1396,9 @@ spec: - target type: object object: - description: object refers to a metric describing a - single kubernetes object (for example, hits-per-second - on an Ingress object). + description: |- + object refers to a metric describing a single kubernetes object + (for example, hits-per-second on an Ingress object). properties: describedObject: description: describedObject specifies the descriptions @@ -1535,43 +1428,35 @@ spec: description: name is the name of the given metric type: string selector: - description: selector is the string-encoded - form of a standard kubernetes label selector - for the given metric When set, it is passed - as an additional parameter to the metrics - server for more specific metrics scoping. - When unset, just the metricName will be used - to gather metrics. + description: |- + selector is the string-encoded form of a standard kubernetes label selector for the given metric + When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. + When unset, just the metricName will be used to gather metrics. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -1583,12 +1468,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -1600,21 +1483,20 @@ spec: the given metric properties: averageUtilization: - description: averageUtilization is the target - value of the average of the resource metric - across all relevant pods, represented as a - percentage of the requested value of the resource - for the pods. Currently only valid for Resource - metric source type + description: |- + averageUtilization is the target value of the average of the + resource metric across all relevant pods, represented as a percentage of + the requested value of the resource for the pods. + Currently only valid for Resource metric source type format: int32 type: integer averageValue: anyOf: - type: integer - type: string - description: averageValue is the target value - of the average of the metric across all relevant - pods (as a quantity) + description: |- + averageValue is the target value of the average of the + metric across all relevant pods (as a quantity) pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: @@ -1638,10 +1520,10 @@ spec: - target type: object pods: - description: pods refers to a metric describing each - pod in the current scale target (for example, transactions-processed-per-second). The - values will be averaged together before being compared - to the target value. + description: |- + pods refers to a metric describing each pod in the current scale target + (for example, transactions-processed-per-second). The values will be + averaged together before being compared to the target value. properties: metric: description: metric identifies the target metric @@ -1651,43 +1533,35 @@ spec: description: name is the name of the given metric type: string selector: - description: selector is the string-encoded - form of a standard kubernetes label selector - for the given metric When set, it is passed - as an additional parameter to the metrics - server for more specific metrics scoping. - When unset, just the metricName will be used - to gather metrics. + description: |- + selector is the string-encoded form of a standard kubernetes label selector for the given metric + When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. + When unset, just the metricName will be used to gather metrics. properties: matchExpressions: 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. + 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. type: string operator: - description: operator represents a - key's relationship to a set of values. - Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of - string values. If the operator is - In or NotIn, the values array must - be non-empty. If the operator is - Exists or DoesNotExist, the values - array must be empty. This array - is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -1699,12 +1573,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator - is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -1716,21 +1588,20 @@ spec: the given metric properties: averageUtilization: - description: averageUtilization is the target - value of the average of the resource metric - across all relevant pods, represented as a - percentage of the requested value of the resource - for the pods. Currently only valid for Resource - metric source type + description: |- + averageUtilization is the target value of the average of the + resource metric across all relevant pods, represented as a percentage of + the requested value of the resource for the pods. + Currently only valid for Resource metric source type format: int32 type: integer averageValue: anyOf: - type: integer - type: string - description: averageValue is the target value - of the average of the metric across all relevant - pods (as a quantity) + description: |- + averageValue is the target value of the average of the + metric across all relevant pods (as a quantity) pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: @@ -1753,13 +1624,12 @@ spec: - target type: object resource: - description: resource refers to a resource metric (such - as those specified in requests and limits) known to - Kubernetes describing each pod in the current scale - target (e.g. CPU or memory). Such metrics are built - in to Kubernetes, and have special scaling options - on top of those available to normal per-pod metrics - using the "pods" source. + description: |- + resource refers to a resource metric (such as those specified in + requests and limits) known to Kubernetes describing each pod in the + current scale target (e.g. CPU or memory). Such metrics are built in to + Kubernetes, and have special scaling options on top of those available + to normal per-pod metrics using the "pods" source. properties: name: description: name is the name of the resource in @@ -1770,21 +1640,20 @@ spec: the given metric properties: averageUtilization: - description: averageUtilization is the target - value of the average of the resource metric - across all relevant pods, represented as a - percentage of the requested value of the resource - for the pods. Currently only valid for Resource - metric source type + description: |- + averageUtilization is the target value of the average of the + resource metric across all relevant pods, represented as a percentage of + the requested value of the resource for the pods. + Currently only valid for Resource metric source type format: int32 type: integer averageValue: anyOf: - type: integer - type: string - description: averageValue is the target value - of the average of the metric across all relevant - pods (as a quantity) + description: |- + averageValue is the target value of the average of the + metric across all relevant pods (as a quantity) pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: @@ -1807,24 +1676,23 @@ spec: - target type: object type: - description: 'type is the type of metric source. It - should be one of "ContainerResource", "External", - "Object", "Pods" or "Resource", each mapping to a - matching field in the object. Note: "ContainerResource" - type is available on when the feature-gate HPAContainerMetrics - is enabled' + description: |- + type is the type of metric source. It should be one of "ContainerResource", "External", + "Object", "Pods" or "Resource", each mapping to a matching field in the object. + Note: "ContainerResource" type is available on when the feature-gate + HPAContainerMetrics is enabled type: string required: - type type: object type: array minReplicas: - description: minReplicas is the lower limit for the number - of replicas to which the autoscaler can scale down. It - defaults to 1 pod. minReplicas is allowed to be 0 if the - alpha feature gate HPAScaleToZero is enabled and at least - one Object or External metric is configured. Scaling is - active as long as at least one metric value is available. + description: |- + minReplicas is the lower limit for the number of replicas to which the autoscaler + can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the + alpha feature gate HPAScaleToZero is enabled and at least one Object or External + metric is configured. Scaling is active as long as at least one metric value is + available. format: int32 type: integer required: @@ -1837,22 +1705,29 @@ spec: type: integer type: object resources: - description: Resources holds the resource requirements to use for - the Envoy Deployment. Defaults to no resource requests nor limits. + description: |- + Resources holds the resource requirements to use for the Envoy + Deployment. Defaults to no resource requests nor limits. properties: claims: - description: "Claims lists the names of resources, defined in - spec.resourceClaims, that are used by this container. \n This - is an alpha field and requires enabling the DynamicResourceAllocation - feature gate. \n This field is immutable. It can only be set - for containers." + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name of one entry in pod.spec.resourceClaims - of the Pod where this field is used. It makes that resource - available inside a container. + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. type: string required: - name @@ -1868,8 +1743,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -1878,29 +1754,30 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. Requests cannot exceed Limits. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object shutdownManager: - description: ShutdownManager defines configuration for Envoy's shutdown + description: |- + ShutdownManager defines configuration for Envoy's shutdown manager, which handles graceful termination of Envoy pods properties: drainStrategy: - description: The drain strategy for the graceful shutdown. It - also affects drain when listeners are modified or removed via - LDS. + description: |- + The drain strategy for the graceful shutdown. It also affects + drain when listeners are modified or removed via LDS. enum: - gradual - immediate type: string drainTime: - description: The time in seconds that Envoy will drain connections - during shutdown. It also affects drain behaviour when listeners - are modified or removed via LDS. + description: |- + The time in seconds that Envoy will drain connections during shutdown. + It also affects drain behaviour when listeners are modified or removed via LDS. format: int64 type: integer image: @@ -1931,9 +1808,10 @@ spec: format: int32 type: integer collisionCount: - description: Count of hash collisions for the Deployment. The - Deployment controller uses this field as a collision avoidance - mechanism when it needs to create the name for the newest ReplicaSet. + description: |- + Count of hash collisions for the Deployment. The Deployment controller uses this + field as a collision avoidance mechanism when it needs to create the name for the + newest ReplicaSet. format: int32 type: integer conditions: @@ -1986,11 +1864,10 @@ spec: format: int32 type: integer unavailableReplicas: - description: Total number of unavailable pods targeted by this - deployment. This is the total number of pods that are still - required for the deployment to have 100% available capacity. - They may either be pods that are running but not yet available - or pods that still have not been created. + description: |- + Total number of unavailable pods targeted by this deployment. This is the total number of + pods that are still required for the deployment to have 100% available capacity. They may + either be pods that are running but not yet available or pods that still have not been created. format: int32 type: integer updatedReplicas: diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 725d2891..afa2da14 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -13,7 +13,7 @@ kind: Kustomization images: - name: controller newName: quay.io/3scale/marin3r - newTag: v0.13.1 + newTag: v0.13.2-alpha.1 patchesStrategicMerge: - custom/manager_patch.yaml diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 39e800aa..f47ddb27 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - creationTimestamp: null name: manager-role namespace: placeholder rules: diff --git a/config/webhook/kustomization.yaml b/config/webhook/kustomization.yaml index 542709f4..5fc79bef 100644 --- a/config/webhook/kustomization.yaml +++ b/config/webhook/kustomization.yaml @@ -10,7 +10,7 @@ kind: Kustomization images: - name: controller newName: quay.io/3scale/marin3r - newTag: v0.13.1 + newTag: v0.13.2-alpha.1 # [CUSTOM: pod mutating webhook config] This patch adds a label selector to the MutatingWebhookConfig patchesStrategicMerge: diff --git a/config/webhook/manifests.yaml b/config/webhook/manifests.yaml index 73956118..eedf0400 100644 --- a/config/webhook/manifests.yaml +++ b/config/webhook/manifests.yaml @@ -2,7 +2,6 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: - creationTimestamp: null name: mutating-webhook-configuration webhooks: - admissionReviewVersions: @@ -28,7 +27,6 @@ webhooks: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: - creationTimestamp: null name: validating-webhook-configuration webhooks: - admissionReviewVersions: diff --git a/generators/pkg-envoy-proto/go.mod b/generators/pkg-envoy-proto/go.mod index d49cc7a9..55e9a58d 100644 --- a/generators/pkg-envoy-proto/go.mod +++ b/generators/pkg-envoy-proto/go.mod @@ -1,6 +1,6 @@ module github.com/3scale-ops/marin3r/generators/pkg-envoy-proto -go 1.20 +go 1.22 require ( github.com/dave/jennifer v1.7.0 diff --git a/generators/pkg-image/go.mod b/generators/pkg-image/go.mod index 828d91e1..037658b1 100644 --- a/generators/pkg-image/go.mod +++ b/generators/pkg-image/go.mod @@ -1,6 +1,6 @@ module github.com/3scale-ops/marin3r/generators/pkg-image -go 1.20 +go 1.22 require ( github.com/dave/jennifer v1.7.0 diff --git a/generators/pkg-version/go.mod b/generators/pkg-version/go.mod index 6b315ad7..19a04c78 100644 --- a/generators/pkg-version/go.mod +++ b/generators/pkg-version/go.mod @@ -1,6 +1,6 @@ module github.com/3scale-ops/marin3r/generators/pkg-version -go 1.20 +go 1.22 require ( github.com/dave/jennifer v1.7.0 diff --git a/go.mod b/go.mod index e17a6dc2..afd333ba 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/3scale-ops/marin3r -go 1.21 +go 1.22 require ( github.com/3scale-ops/basereconciler v0.5.1 diff --git a/pkg/envoy/bootstrap/v3/bootstrap.go b/pkg/envoy/bootstrap/v3/bootstrap.go index fc965d47..b77a10ce 100644 --- a/pkg/envoy/bootstrap/v3/bootstrap.go +++ b/pkg/envoy/bootstrap/v3/bootstrap.go @@ -73,7 +73,13 @@ func (c *Config) GenerateStatic() (string, error) { UpstreamProtocolOptions: &envoy_extensions_upstreams_http_v3.HttpProtocolOptions_ExplicitHttpConfig_{ ExplicitHttpConfig: &envoy_extensions_upstreams_http_v3.HttpProtocolOptions_ExplicitHttpConfig{ ProtocolConfig: &envoy_extensions_upstreams_http_v3.HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions{ - Http2ProtocolOptions: &envoy_config_core_v3.Http2ProtocolOptions{}, + Http2ProtocolOptions: &envoy_config_core_v3.Http2ProtocolOptions{ + ConnectionKeepalive: &envoy_config_core_v3.KeepaliveSettings{ + Interval: durationpb.New(30 * time.Second), + Timeout: durationpb.New(10 * time.Second), + ConnectionIdleInterval: durationpb.New(60 * time.Second), + }, + }, }, }, }, diff --git a/pkg/envoy/bootstrap/v3/bootstrap_test.go b/pkg/envoy/bootstrap/v3/bootstrap_test.go index 7b24f225..625c52bc 100644 --- a/pkg/envoy/bootstrap/v3/bootstrap_test.go +++ b/pkg/envoy/bootstrap/v3/bootstrap_test.go @@ -29,7 +29,7 @@ func TestConfig_GenerateStatic(t *testing.T) { Metadata: map[string]string{"key1": "value1", "key2": "value2"}, }, }, - want: `{"node":{"id":"some-id","cluster":"some-cluster","metadata":{"key1":"value1","key2":"value2"}},"static_resources":{"clusters":[{"name":"xds_cluster","type":"STRICT_DNS","connect_timeout":"1s","load_assignment":{"cluster_name":"xds_cluster","endpoints":[{"lb_endpoints":[{"endpoint":{"address":{"socket_address":{"address":"localhost","port_value":10000}}}}]}]},"typed_extension_protocol_options":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","explicit_http_config":{"http2_protocol_options":{}}}},"transport_socket":{"name":"envoy.transport_sockets.tls","typed_config":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext","common_tls_context":{"tls_certificate_sds_secret_configs":[{"name":"xds_client_certificate","sds_config":{"path_config_source":{"path":"/sds-config-source.json"},"resource_api_version":"V3"}}]}}}}]},"dynamic_resources":{"lds_config":{"ads":{},"resource_api_version":"V3"},"cds_config":{"ads":{},"resource_api_version":"V3"},"ads_config":{"api_type":"GRPC","transport_api_version":"V3","grpc_services":[{"envoy_grpc":{"cluster_name":"xds_cluster"}}]}},"layered_runtime":{"layers":[{"name":"runtime","rtds_layer":{"name":"runtime","rtds_config":{"ads":{},"resource_api_version":"V3"}}}]},"admin":{"access_log":[{"name":"envoy.access_loggers.file","typed_config":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog","path":"/dev/null"}}],"address":{"socket_address":{"address":"0.0.0.0","port_value":9001}}}}`, + want: `{"node":{"id":"some-id","cluster":"some-cluster","metadata":{"key1":"value1","key2":"value2"}},"static_resources":{"clusters":[{"name":"xds_cluster","type":"STRICT_DNS","connect_timeout":"1s","load_assignment":{"cluster_name":"xds_cluster","endpoints":[{"lb_endpoints":[{"endpoint":{"address":{"socket_address":{"address":"localhost","port_value":10000}}}}]}]},"typed_extension_protocol_options":{"envoy.extensions.upstreams.http.v3.HttpProtocolOptions":{"@type":"type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions","explicit_http_config":{"http2_protocol_options":{"connection_keepalive":{"interval":"30s","timeout":"10s","connection_idle_interval":"60s"}}}}},"transport_socket":{"name":"envoy.transport_sockets.tls","typed_config":{"@type":"type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext","common_tls_context":{"tls_certificate_sds_secret_configs":[{"name":"xds_client_certificate","sds_config":{"path_config_source":{"path":"/sds-config-source.json"},"resource_api_version":"V3"}}]}}}}]},"dynamic_resources":{"lds_config":{"ads":{},"resource_api_version":"V3"},"cds_config":{"ads":{},"resource_api_version":"V3"},"ads_config":{"api_type":"GRPC","transport_api_version":"V3","grpc_services":[{"envoy_grpc":{"cluster_name":"xds_cluster"}}]}},"layered_runtime":{"layers":[{"name":"runtime","rtds_layer":{"name":"runtime","rtds_config":{"ads":{},"resource_api_version":"V3"}}}]},"admin":{"access_log":[{"name":"envoy.access_loggers.file","typed_config":{"@type":"type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog","path":"/dev/null"}}],"address":{"socket_address":{"address":"0.0.0.0","port_value":9001}}}}`, wantErr: false, }, } diff --git a/pkg/image/zz_generated.go b/pkg/image/zz_generated.go index 820e6a38..90726247 100644 --- a/pkg/image/zz_generated.go +++ b/pkg/image/zz_generated.go @@ -1,5 +1,5 @@ package image const ( - image string = "quay.io/3scale/marin3r:v0.13.1" + image string = "quay.io/3scale/marin3r:v0.13.2-alpha.1" ) diff --git a/pkg/version/zz_generated.go b/pkg/version/zz_generated.go index 80cb3729..bb6288d7 100644 --- a/pkg/version/zz_generated.go +++ b/pkg/version/zz_generated.go @@ -1,5 +1,5 @@ package version const ( - version string = "v0.13.1" + version string = "v0.13.2-alpha.1" )