From 5ba1d428ff56bb2bcd1ee5aae69d7af164844f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Rodr=C3=ADguez=20Hern=C3=A1ndez?= Date: Mon, 17 Oct 2022 16:35:46 +0200 Subject: [PATCH] [bitnami/kong] Sync upstream CRDs (#12978) * [bitnami/kong] Sync upstream CRDs Signed-off-by: Carlos Rodriguez Hernandez * Bump chart version Signed-off-by: Carlos Rodriguez Hernandez Signed-off-by: Carlos Rodriguez Hernandez --- bitnami/kong/Chart.yaml | 2 +- .../crds/custom-resource-definitions.yaml | 481 ++++++++++++------ 2 files changed, 329 insertions(+), 154 deletions(-) diff --git a/bitnami/kong/Chart.yaml b/bitnami/kong/Chart.yaml index 0e9721d50..176026509 100644 --- a/bitnami/kong/Chart.yaml +++ b/bitnami/kong/Chart.yaml @@ -36,4 +36,4 @@ name: kong sources: - https://github.com/bitnami/containers/tree/main/bitnami/kong - https://konghq.com/ -version: 7.0.0 +version: 7.0.1 diff --git a/bitnami/kong/crds/custom-resource-definitions.yaml b/bitnami/kong/crds/custom-resource-definitions.yaml index c605ec7f7..0ae945b0c 100644 --- a/bitnami/kong/crds/custom-resource-definitions.yaml +++ b/bitnami/kong/crds/custom-resource-definitions.yaml @@ -1,48 +1,27 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: kongconsumers.configuration.konghq.com + name: ingressclassparameterses.configuration.konghq.com spec: group: configuration.konghq.com names: - kind: KongConsumer - listKind: KongConsumerList - plural: kongconsumers - shortNames: - - kc - singular: kongconsumer + kind: IngressClassParameters + listKind: IngressClassParametersList + plural: ingressclassparameterses + singular: ingressclassparameters scope: Namespaced versions: - - additionalPrinterColumns: - - description: Username of a Kong Consumer - jsonPath: .username - name: Username - type: string - - description: Age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 + - name: v1alpha1 schema: openAPIV3Schema: - description: KongConsumer is the Schema for the kongconsumers API + description: IngressClassParameters is the Schema for the IngressClassParameters + API 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' type: string - credentials: - description: Credentials are references to secrets containing a credential - to be provisioned in Kong. - items: - type: string - type: array - custom_id: - description: CustomID existing unique ID for the consumer - useful for - mapping Kong with users in your existing database - 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 @@ -50,127 +29,23 @@ spec: type: string metadata: type: object - username: - description: Username unique username of the consumer. - type: string - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: kongplugins.configuration.konghq.com -spec: - group: configuration.konghq.com - names: - kind: KongPlugin - listKind: KongPluginList - plural: kongplugins - shortNames: - - kp - singular: kongplugin - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: Name of the plugin - jsonPath: .plugin - name: Plugin-Type - type: string - - description: Age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - - description: Indicates if the plugin is disabled - jsonPath: .disabled - name: Disabled - priority: 1 - type: boolean - - description: Configuration of the plugin - jsonPath: .config - name: Config - priority: 1 - type: string - name: v1 - schema: - openAPIV3Schema: - description: KongPlugin is the Schema for the kongplugins API - 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' - type: string - config: - description: Config contains the plugin configuration. - type: object - x-kubernetes-preserve-unknown-fields: true - configFrom: - description: ConfigFrom references a secret containing the plugin configuration. + spec: properties: - secretKeyRef: - description: SecretValueFromSource represents the source of a secret - value - properties: - key: - description: the key containing the value - type: string - name: - description: the secret containing the key - type: string - required: - - key - - name - type: object + enableLegacyRegexDetection: + default: false + description: EnableLegacyRegexDetection automatically detects if ImplementationSpecific + Ingress paths are regular expression paths using the legacy 2.x + heuristic. The controller adds the "~" prefix to those paths if + the Kong version is 3.0 or higher. + type: boolean + serviceUpstream: + default: false + description: Offload load-balancing to kube-proxy or sidecar + type: boolean type: object - consumerRef: - description: ConsumerRef is a reference to a particular consumer - type: string - disabled: - description: Disabled set if the plugin is disabled or not - type: boolean - 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' - type: string - metadata: - type: object - plugin: - description: PluginName is the name of the plugin to which to apply the - config - type: string - protocols: - description: Protocols configures plugin to run on requests received on - specific protocols. - items: - enum: - - http - - https - - grpc - - grpcs - - tcp - - tls - - udp - type: string - type: array - run_on: - description: RunOn configures the plugin to run on the first or the second - or both nodes in case of a service mesh deployment. - enum: - - first - - second - - all - type: string - required: - - plugin type: object served: true storage: true - subresources: - status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -179,6 +54,8 @@ metadata: spec: group: configuration.konghq.com names: + categories: + - kong-ingress-controller kind: KongClusterPlugin listKind: KongClusterPluginList plural: kongclusterplugins @@ -255,6 +132,26 @@ spec: type: string metadata: type: object + ordering: + description: Ordering overrides the normal plugin execution order + properties: + after: + additionalProperties: + items: + type: string + type: array + description: PluginOrderingPhase indicates which plugins in a phase + should affect the target plugin's order + type: object + before: + additionalProperties: + items: + type: string + type: array + description: PluginOrderingPhase indicates which plugins in a phase + should affect the target plugin's order + type: object + type: object plugin: description: PluginName is the name of the plugin to which to apply the config @@ -291,11 +188,75 @@ spec: --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition +metadata: + name: kongconsumers.configuration.konghq.com +spec: + group: configuration.konghq.com + names: + categories: + - kong-ingress-controller + kind: KongConsumer + listKind: KongConsumerList + plural: kongconsumers + shortNames: + - kc + singular: kongconsumer + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Username of a Kong Consumer + jsonPath: .username + name: Username + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: KongConsumer is the Schema for the kongconsumers API + 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' + type: string + credentials: + description: Credentials are references to secrets containing a credential + to be provisioned in Kong. + items: + type: string + type: array + custom_id: + description: CustomID existing unique ID for the consumer - useful for + mapping Kong with users in your existing database + 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' + type: string + metadata: + type: object + username: + description: Username unique username of the consumer. + type: string + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition metadata: name: kongingresses.configuration.konghq.com spec: group: configuration.konghq.com names: + categories: + - kong-ingress-controller kind: KongIngress listKind: KongIngressList plural: kongingresses @@ -322,15 +283,21 @@ spec: metadata: type: object proxy: - description: KongIngressService contains KongIngress service configuration + description: Proxy defines additional connection options for the routes + to be configured in the Kong Gateway, e.g. `connection_timeout`, `retries`, + e.t.c. properties: connect_timeout: + description: The timeout in milliseconds for establishing a connection + to the upstream server. minimum: 0 type: integer path: + description: The path to be used in requests to the upstream server.(optional) pattern: ^/.*$ type: string protocol: + description: The protocol used to communicate with the upstream. enum: - http - https @@ -341,38 +308,59 @@ spec: - udp type: string read_timeout: + description: The timeout in milliseconds between two successive read + operations for transmitting a request to the upstream server. minimum: 0 type: integer retries: + description: The number of retries to execute upon failure to proxy. minimum: 0 type: integer write_timeout: + description: The timeout in milliseconds between two successive write + operations for transmitting a request to the upstream server. minimum: 0 type: integer type: object route: - description: KongIngressRoute contains KongIngress route configuration + description: Route define rules to match client requests. Each Route is + associated with a Service, and a Service may have multiple Routes associated + to it. properties: headers: additionalProperties: items: type: string type: array + description: Headers contains one or more lists of values indexed + by header name that will cause this Route to match if present in + the request. The Host header cannot be used with this attribute. type: object https_redirect_status_code: + description: HTTPSRedirectStatusCode is the status code Kong responds + with when all properties of a Route match except the protocol. type: integer methods: + description: Methods is a list of HTTP methods that match this Route. items: type: string type: array path_handling: + description: PathHandling controls how the Service path, Route path + and requested path are combined when sending a request to the upstream. enum: - v0 - v1 type: string preserve_host: + description: PreserveHost sets When matching a Route via one of the + hosts domain names, use the request Host header in the upstream + request headers. If set to false, the upstream Host header will + be that of the Service’s host. type: boolean protocols: + description: Protocols is an array of the protocols this Route should + allow. items: enum: - http @@ -385,41 +373,86 @@ spec: type: string type: array regex_priority: + description: RegexPriority is a number used to choose which route + resolves a given request when several routes match it using regexes + simultaneously. type: integer request_buffering: + description: RequestBuffering sets whether to enable request body + buffering or not. type: boolean response_buffering: + description: ResponseBuffering sets whether to enable response body + buffering or not. type: boolean snis: + description: SNIs is a list of SNIs that match this Route when using + stream routing. items: type: string type: array strip_path: + description: StripPath sets When matching a Route via one of the paths + strip the matching prefix from the upstream request URL. type: boolean type: object upstream: - description: KongIngressUpstream contains KongIngress upstream configuration + description: Upstream represents a virtual hostname and can be used to + loadbalance incoming requests over multiple targets (e.g. Kubernetes + `Services` can be a target, OR `Endpoints` can be targets). properties: algorithm: + description: Algorithm is the load balancing algorithm to use. enum: - round-robin - consistent-hashing - least-connections type: string hash_fallback: + description: 'HashFallback defines What to use as hashing input if + the primary hash_on does not return a hash. Accepted values are: + "none", "consumer", "ip", "header", "cookie".' type: string hash_fallback_header: + description: HashFallbackHeader is the header name to take the value + from as hash input. Only required when "hash_fallback" is set to + "header". + type: string + hash_fallback_query_arg: + description: HashFallbackQueryArg is the "hash_fallback" version of + HashOnQueryArg. + type: string + hash_fallback_uri_capture: + description: HashFallbackURICapture is the "hash_fallback" version + of HashOnURICapture. type: string hash_on: + description: 'HashOn defines what to use as hashing input. Accepted + values are: "none", "consumer", "ip", "header", "cookie", "path", + "query_arg", "uri_capture".' type: string hash_on_cookie: + description: The cookie name to take the value from as hash input. + Only required when "hash_on" or "hash_fallback" is set to "cookie". type: string hash_on_cookie_path: + description: The cookie path to set in the response headers. Only + required when "hash_on" or "hash_fallback" is set to "cookie". type: string hash_on_header: + description: HashOnHeader defines the header name to take the value + from as hash input. Only required when "hash_on" is set to "header". + type: string + hash_on_query_arg: + description: HashOnQueryArg is the query string parameter whose value + is the hash input when "hash_on" is set to "query_arg". + type: string + hash_on_uri_capture: + description: HashOnURICapture is the name of the capture group whose + value is the hash input when "hash_on" is set to "uri_capture". type: string healthchecks: - description: Healthcheck represents a health-check config of an upstream + description: Healthchecks defines the health check configurations in Kong. properties: active: @@ -525,8 +558,11 @@ spec: type: number type: object host_header: + description: HostHeader is The hostname to be used as Host header + when proxying requests through Kong. type: string slots: + description: Slots is the number of slots in the load balancer algorithm. minimum: 10 type: integer type: object @@ -538,11 +574,148 @@ spec: --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition +metadata: + name: kongplugins.configuration.konghq.com +spec: + group: configuration.konghq.com + names: + categories: + - kong-ingress-controller + kind: KongPlugin + listKind: KongPluginList + plural: kongplugins + shortNames: + - kp + singular: kongplugin + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Name of the plugin + jsonPath: .plugin + name: Plugin-Type + type: string + - description: Age + jsonPath: .metadata.creationTimestamp + name: Age + type: date + - description: Indicates if the plugin is disabled + jsonPath: .disabled + name: Disabled + priority: 1 + type: boolean + - description: Configuration of the plugin + jsonPath: .config + name: Config + priority: 1 + type: string + name: v1 + schema: + openAPIV3Schema: + description: KongPlugin is the Schema for the kongplugins API + 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' + type: string + config: + description: Config contains the plugin configuration. + type: object + x-kubernetes-preserve-unknown-fields: true + configFrom: + description: ConfigFrom references a secret containing the plugin configuration. + properties: + secretKeyRef: + description: SecretValueFromSource represents the source of a secret + value + properties: + key: + description: the key containing the value + type: string + name: + description: the secret containing the key + type: string + required: + - key + - name + type: object + type: object + consumerRef: + description: ConsumerRef is a reference to a particular consumer + type: string + disabled: + description: Disabled set if the plugin is disabled or not + type: boolean + 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' + type: string + metadata: + type: object + ordering: + description: Ordering overrides the normal plugin execution order + properties: + after: + additionalProperties: + items: + type: string + type: array + description: PluginOrderingPhase indicates which plugins in a phase + should affect the target plugin's order + type: object + before: + additionalProperties: + items: + type: string + type: array + description: PluginOrderingPhase indicates which plugins in a phase + should affect the target plugin's order + type: object + type: object + plugin: + description: PluginName is the name of the plugin to which to apply the + config + type: string + protocols: + description: Protocols configures plugin to run on requests received on + specific protocols. + items: + enum: + - http + - https + - grpc + - grpcs + - tcp + - tls + - udp + type: string + type: array + run_on: + description: RunOn configures the plugin to run on the first or the second + or both nodes in case of a service mesh deployment. + enum: + - first + - second + - all + type: string + required: + - plugin + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition metadata: name: tcpingresses.configuration.konghq.com spec: group: configuration.konghq.com names: + categories: + - kong-ingress-controller kind: TCPIngress listKind: TCPIngressList plural: tcpingresses @@ -679,8 +852,8 @@ spec: the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall - use CamelCase names - cloud provider specific - error values must have names that comply with the format + use CamelCase names - cloud provider specific error + values must have names that comply with the format foo.example.com/CamelCase. --- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' maxLength: 316 @@ -720,6 +893,8 @@ metadata: spec: group: configuration.konghq.com names: + categories: + - kong-ingress-controller kind: UDPIngress listKind: UDPIngressList plural: udpingresses @@ -824,8 +999,8 @@ spec: the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall - use CamelCase names - cloud provider specific - error values must have names that comply with the format + use CamelCase names - cloud provider specific error + values must have names that comply with the format foo.example.com/CamelCase. --- The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)' maxLength: 316