charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml (2,190 lines of code) (raw):

# # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: labels: apisix.apache.org/app: ingress-apisix name: apisixclusterconfigs.apisix.apache.org spec: group: apisix.apache.org names: kind: ApisixClusterConfig plural: apisixclusterconfigs shortNames: - acc singular: apisixclusterconfig preserveUnknownFields: false scope: Cluster versions: - name: v2beta3 schema: openAPIV3Schema: properties: spec: properties: admin: properties: adminKey: type: string baseURL: pattern: https?://[^:]+:(\d+) type: string required: - baseURL type: object monitoring: properties: prometheus: properties: enable: type: boolean type: object skywalking: properties: enable: type: boolean sampleRatio: maximum: 1 minimum: 1e-05 type: number type: object type: object type: object type: object served: true storage: false deprecated: true subresources: status: {} - name: v2 schema: openAPIV3Schema: properties: spec: properties: admin: properties: adminKey: type: string baseURL: pattern: https?://[^:]+:(\d+) type: string required: - baseURL type: object monitoring: properties: prometheus: properties: enable: type: boolean type: object skywalking: properties: enable: type: boolean sampleRatio: maximum: 1 minimum: 1e-05 type: number type: object type: object type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: labels: apisix.apache.org/app: ingress-apisix name: apisixconsumers.apisix.apache.org spec: group: apisix.apache.org names: kind: ApisixConsumer plural: apisixconsumers shortNames: - ac singular: apisixconsumer preserveUnknownFields: false scope: Namespaced versions: - name: v2beta3 schema: openAPIV3Schema: properties: spec: properties: authParameter: oneOf: - required: - basicAuth - required: - keyAuth - required: - wolfRBAC - required: - jwtAuth - required: - hmacAuth properties: basicAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: password: minLength: 1 type: string username: minLength: 1 type: string required: - username - password type: object type: object hmacAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: access_key: type: string algorithm: type: string clock_skew: type: integer encode_uri_params: type: boolean keep_headers: type: boolean max_req_body: type: integer secret_key: type: string signed_headers: items: type: string type: array validate_request_body: type: boolean required: - access_key - secret_key type: object type: object jwtAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: algorithm: type: string base64_secret: type: boolean exp: type: integer key: minLength: 1 type: string private_key: type: string public_key: type: string secret: type: string required: - key type: object type: object keyAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: key: minLength: 1 type: string required: - key type: object type: object wolfRBAC: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: appid: type: string header_prefix: type: string server: type: string type: object type: object type: object required: - authParameter type: object type: object served: true storage: false deprecated: true subresources: status: {} - name: v2 schema: openAPIV3Schema: properties: spec: properties: authParameter: oneOf: - required: - basicAuth - required: - keyAuth - required: - wolfRBAC - required: - jwtAuth - required: - hmacAuth properties: basicAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: password: minLength: 1 type: string username: minLength: 1 type: string required: - username - password type: object type: object hmacAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: access_key: type: string algorithm: type: string clock_skew: type: integer encode_uri_params: type: boolean keep_headers: type: boolean max_req_body: type: integer secret_key: type: string signed_headers: items: type: string type: array validate_request_body: type: boolean required: - access_key - secret_key type: object type: object jwtAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: algorithm: type: string base64_secret: type: boolean exp: type: integer key: minLength: 1 type: string private_key: type: string public_key: type: string secret: type: string required: - key type: object type: object keyAuth: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: key: minLength: 1 type: string required: - key type: object type: object wolfRBAC: oneOf: - required: - value - required: - secretRef properties: secretRef: properties: name: minLength: 1 type: string required: - name type: object value: properties: appid: type: string header_prefix: type: string server: type: string type: object type: object type: object required: - authParameter type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: labels: apisix.apache.org/app: ingress-apisix name: apisixpluginconfigs.apisix.apache.org spec: group: apisix.apache.org names: kind: ApisixPluginConfig plural: apisixpluginconfigs shortNames: - apc singular: apisixpluginconfig scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age priority: 0 type: date name: v2beta3 schema: openAPIV3Schema: properties: spec: properties: plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string type: object required: - name - enable type: array required: - plugins type: object status: properties: conditions: items: properties: message: type: string observedGeneration: type: integer reason: type: string status: type: string type: type: string type: object type: array type: object type: object served: true storage: false deprecated: true subresources: status: {} - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age priority: 0 type: date name: v2 schema: openAPIV3Schema: properties: spec: properties: plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string secretRef: type: string type: object required: - name - enable type: array required: - plugins type: object status: properties: conditions: items: properties: message: type: string observedGeneration: type: integer reason: type: string status: type: string type: type: string type: object type: array type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: labels: apisix.apache.org/app: ingress-apisix name: apisixroutes.apisix.apache.org spec: group: apisix.apache.org names: kind: ApisixRoute plural: apisixroutes shortNames: - ar singular: apisixroute scope: Namespaced versions: - name: v2beta1 additionalPrinterColumns: - jsonPath: .spec.http[].match.hosts name: Hosts priority: 0 type: string - jsonPath: .spec.http[].match.paths name: URIs priority: 0 type: string - jsonPath: .spec.http[].backend.serviceName name: Target Service(HTTP) priority: 1 type: string - jsonPath: .spec.tcp[].match.ingressPort name: Ingress Server Port(TCP) priority: 1 type: integer - jsonPath: .spec.tcp[].match.backend.serviceName name: Target Service(TCP) priority: 1 type: string - jsonPath: .metadata.creationTimestamp name: Age priority: 0 type: date schema: openAPIV3Schema: properties: spec: anyOf: - required: - http - required: - tcp - required: - stream properties: http: items: oneOf: - required: - name - match - backend - required: - name - match - backends properties: authentication: properties: enable: type: boolean keyAuth: properties: header: type: string type: object type: enum: - basicAuth - keyAuth type: string required: - enable type: object backend: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string weight: minimum: 0 type: integer required: - serviceName - servicePort type: object backends: items: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string weight: minimum: 0 type: integer type: object minItems: 1 required: - serviceName - servicePort type: array match: properties: exprs: items: oneOf: - required: - subject - op - value - required: - subject - op - set properties: op: enum: - Equal - NotEqual - GreaterThan - LessThan - In - NotIn - RegexMatch - RegexNotMatch - RegexMatchCaseInsensitive - RegexNotMatchCaseInsensitive type: string set: items: type: string type: array subject: properties: name: minLength: 1 type: string scope: enum: - Cookie - Header - Path - Query type: string required: - scope type: object value: type: string type: object minItems: 1 type: array hosts: items: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string minItems: 1 type: array methods: items: enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE type: string minItems: 1 type: array paths: items: pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$ type: string minItems: 1 type: array remoteAddrs: items: type: string minItems: 1 type: array required: - paths type: object name: minLength: 1 type: string plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string type: object required: - name - enable type: array priority: type: integer timeout: properties: connect: type: string read: type: string send: type: string type: object websocket: type: boolean type: object minItems: 1 type: array stream: items: properties: backend: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string required: - serviceName - servicePort type: object match: properties: ingressPort: maximum: 65535 minimum: 1 type: integer required: - ingressPort type: object name: minLength: 1 type: string protocol: enum: - TCP - UDP type: string required: - name - match - backend - protocol type: object minItems: 1 type: array tcp: items: properties: backend: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string required: - serviceName - servicePort type: object match: properties: ingressPort: maximum: 65535 minimum: 1 type: integer required: - ingressPort type: object name: minLength: 1 type: string required: - name - match - backend type: object minItems: 1 type: array type: object status: properties: conditions: items: properties: message: type: string observedGeneration: type: integer reason: type: string status: type: string type: type: string type: object type: array type: object type: object served: false storage: false deprecated: true subresources: status: {} - name: v2beta2 additionalPrinterColumns: - jsonPath: .spec.http[].match.hosts name: Hosts priority: 0 type: string - jsonPath: .spec.http[].match.paths name: URIs priority: 0 type: string - jsonPath: .spec.http[].backends[].serviceName name: Target Service(HTTP) priority: 1 type: string - jsonPath: .spec.tcp[].match.ingressPort name: Ingress Server Port(TCP) priority: 1 type: integer - jsonPath: .spec.tcp[].match.backend.serviceName name: Target Service(TCP) priority: 1 type: string - jsonPath: .metadata.creationTimestamp name: Age priority: 0 type: date schema: openAPIV3Schema: properties: spec: anyOf: - required: - http - required: - stream properties: http: items: properties: authentication: properties: enable: type: boolean keyAuth: properties: header: type: string type: object type: enum: - basicAuth - keyAuth type: string required: - enable type: object backends: items: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string weight: minimum: 0 type: integer type: object minItems: 1 required: - serviceName - servicePort type: array match: properties: exprs: items: oneOf: - required: - subject - op - value - required: - subject - op - set properties: op: enum: - Equal - NotEqual - GreaterThan - LessThan - In - NotIn - RegexMatch - RegexNotMatch - RegexMatchCaseInsensitive - RegexNotMatchCaseInsensitive type: string set: items: type: string type: array subject: properties: name: minLength: 1 type: string scope: enum: - Cookie - Header - Path - Query type: string required: - scope type: object value: type: string type: object minItems: 1 type: array hosts: items: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string minItems: 1 type: array methods: items: enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE type: string minItems: 1 type: array paths: items: pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$ type: string minItems: 1 type: array remoteAddrs: items: type: string minItems: 1 type: array required: - paths type: object name: minLength: 1 type: string plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string type: object required: - name - enable type: array priority: type: integer timeout: properties: connect: type: string read: type: string send: type: string type: object websocket: type: boolean required: - name - match - backends type: object minItems: 1 type: array stream: items: properties: backend: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string required: - serviceName - servicePort type: object match: properties: ingressPort: maximum: 65535 minimum: 1 type: integer required: - ingressPort type: object name: minLength: 1 type: string protocol: enum: - TCP - UDP type: string required: - name - match - backend - protocol type: object minItems: 1 type: array type: object status: properties: conditions: items: properties: message: type: string observedGeneration: type: integer reason: type: string status: type: string type: type: string type: object type: array type: object type: object served: true storage: false deprecated: true subresources: status: {} - additionalPrinterColumns: - jsonPath: .spec.http[].match.hosts name: Hosts priority: 0 type: string - jsonPath: .spec.http[].match.paths name: URIs priority: 0 type: string - jsonPath: .spec.http[].backends[].serviceName name: Target Service(HTTP) priority: 1 type: string - jsonPath: .spec.tcp[].match.ingressPort name: Ingress Server Port(TCP) priority: 1 type: integer - jsonPath: .spec.tcp[].match.backend.serviceName name: Target Service(TCP) priority: 1 type: string - jsonPath: .metadata.creationTimestamp name: Age priority: 0 type: date name: v2beta3 schema: openAPIV3Schema: properties: spec: anyOf: - required: - http - required: - stream properties: http: items: properties: authentication: properties: enable: type: boolean jwtAuth: properties: cookie: type: string header: type: string query: type: string type: object keyAuth: properties: header: type: string type: object type: enum: - basicAuth - keyAuth - jwtAuth - wolfRBAC - hmacAuth type: string required: - enable type: object backends: items: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string weight: minimum: 0 type: integer type: object minItems: 1 required: - serviceName - servicePort type: array match: properties: exprs: items: oneOf: - required: - subject - op - value - required: - subject - op - set properties: op: enum: - Equal - NotEqual - GreaterThan - LessThan - In - NotIn - RegexMatch - RegexNotMatch - RegexMatchCaseInsensitive - RegexNotMatchCaseInsensitive type: string set: items: type: string type: array subject: properties: name: minLength: 1 type: string scope: enum: - Cookie - Header - Path - Query type: string required: - scope type: object value: type: string type: object minItems: 1 type: array hosts: items: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string minItems: 1 type: array methods: items: enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE type: string minItems: 1 type: array paths: items: pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$ type: string minItems: 1 type: array remoteAddrs: items: type: string minItems: 1 type: array required: - paths type: object name: minLength: 1 type: string plugin_config_name: minLength: 1 type: string plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string type: object required: - name - enable type: array priority: type: integer timeout: properties: connect: type: string read: type: string send: type: string type: object websocket: type: boolean required: - name - match - backends type: object minItems: 1 type: array stream: items: properties: backend: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string required: - serviceName - servicePort type: object match: properties: ingressPort: maximum: 65535 minimum: 1 type: integer required: - ingressPort type: object name: minLength: 1 type: string protocol: enum: - TCP - UDP type: string required: - name - match - backend - protocol type: object minItems: 1 type: array type: object status: properties: conditions: items: properties: message: type: string observedGeneration: type: integer reason: type: string status: type: string type: type: string type: object type: array type: object type: object served: true storage: false deprecated: true subresources: status: {} - additionalPrinterColumns: - jsonPath: .spec.http[].match.hosts name: Hosts priority: 0 type: string - jsonPath: .spec.http[].match.paths name: URIs priority: 0 type: string - jsonPath: .spec.http[].backends[].serviceName name: Target Service(HTTP) priority: 1 type: string - jsonPath: .spec.tcp[].match.ingressPort name: Ingress Server Port(TCP) priority: 1 type: integer - jsonPath: .spec.tcp[].match.backend.serviceName name: Target Service(TCP) priority: 1 type: string - jsonPath: .metadata.creationTimestamp name: Age priority: 0 type: date name: v2 schema: openAPIV3Schema: properties: spec: anyOf: - required: - http - required: - stream properties: http: items: anyOf: - required: - name - match - backends - required: - name - match - upstreams properties: authentication: properties: enable: type: boolean jwtAuth: properties: cookie: type: string header: type: string query: type: string type: object keyAuth: properties: header: type: string type: object type: enum: - basicAuth - keyAuth - jwtAuth - wolfRBAC - hmacAuth type: string required: - enable type: object backends: items: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string weight: minimum: 0 type: integer type: object minItems: 1 required: - serviceName - servicePort type: array match: properties: exprs: items: oneOf: - required: - subject - op - value - required: - subject - op - set properties: op: enum: - Equal - NotEqual - GreaterThan - GreaterThanEqual - LessThan - LessThanEqual - In - NotIn - RegexMatch - RegexNotMatch - RegexMatchCaseInsensitive - RegexNotMatchCaseInsensitive type: string set: items: type: string type: array subject: properties: name: minLength: 1 type: string scope: enum: - Cookie - Header - Path - Query - Variable type: string required: - scope type: object value: type: string type: object minItems: 1 type: array hosts: items: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string minItems: 1 type: array methods: items: enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE type: string minItems: 1 type: array paths: items: pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$ type: string minItems: 1 type: array remoteAddrs: items: type: string minItems: 1 type: array required: - paths type: object name: minLength: 1 type: string plugin_config_name: minLength: 1 type: string plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string secretRef: type: string type: object required: - name - enable type: array priority: type: integer timeout: properties: connect: type: string read: type: string send: type: string type: object upstreams: description: Upstreams refer to ApisixUpstream CRD items: description: ApisixRouteUpstreamReference contains a ApisixUpstream CRD reference properties: name: type: string weight: type: integer type: object type: array websocket: type: boolean type: object minItems: 1 type: array stream: items: properties: backend: properties: resolveGranularity: enum: - endpoint - service type: string serviceName: minLength: 1 type: string servicePort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true subset: type: string required: - serviceName - servicePort type: object match: properties: host: type: string ingressPort: maximum: 65535 minimum: 1 type: integer required: - ingressPort type: object name: minLength: 1 type: string plugins: items: properties: config: type: object x-kubernetes-preserve-unknown-fields: true enable: type: boolean name: minLength: 1 type: string secretRef: type: string type: object required: - name - enable type: array protocol: enum: - TCP - UDP type: string required: - name - match - backend - protocol type: object minItems: 1 type: array type: object status: properties: conditions: items: properties: message: type: string observedGeneration: type: integer reason: type: string status: type: string type: type: string type: object type: array type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: labels: apisix.apache.org/app: ingress-apisix name: apisixtlses.apisix.apache.org spec: group: apisix.apache.org names: kind: ApisixTls plural: apisixtlses shortNames: - atls singular: apisixtls preserveUnknownFields: false scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.hosts name: SNIs type: string - jsonPath: .spec.secret.name name: Secret Name type: string - jsonPath: .spec.secret.namespace name: Secret Namespace type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v2beta3 schema: openAPIV3Schema: description: ApisixTls defines SSL resource in APISIX. 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 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 spec: description: ApisixTlsSpec is the specification of ApisixSSL. properties: client: description: ApisixMutualTlsClientConfig describes the mutual TLS CA and verify depth properties: caSecret: description: ApisixSecret describes the Kubernetes Secret name and namespace. properties: name: minLength: 1 type: string namespace: minLength: 1 type: string required: - name - namespace type: object depth: type: integer type: object hosts: items: pattern: ^\*?[0-9a-zA-Z-.]+$ type: string minItems: 1 type: array secret: description: ApisixSecret describes the Kubernetes Secret name and namespace. properties: name: minLength: 1 type: string namespace: minLength: 1 type: string required: - name - namespace type: object required: - hosts - secret type: object status: description: ApisixStatus is the status report for Apisix ingress Resources properties: conditions: 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, 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 }" 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. format: date-time type: string message: 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. 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. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - 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) 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 required: - lastTransitionTime - message - reason - status - type type: object type: array type: object type: object served: true storage: false deprecated: true subresources: status: {} - additionalPrinterColumns: - jsonPath: .spec.hosts name: SNIs type: string - jsonPath: .spec.secret.name name: Secret Name type: string - jsonPath: .spec.secret.namespace name: Secret Namespace type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v2 schema: openAPIV3Schema: description: ApisixTls defines SSL resource in APISIX. 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 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 spec: description: ApisixTlsSpec is the specification of ApisixSSL. properties: client: description: ApisixMutualTlsClientConfig describes the mutual TLS CA and verify depth properties: caSecret: description: ApisixSecret describes the Kubernetes Secret name and namespace. properties: name: minLength: 1 type: string namespace: minLength: 1 type: string required: - name - namespace type: object depth: type: integer type: object hosts: items: pattern: ^\*?[0-9a-zA-Z-.]+$ type: string minItems: 1 type: array secret: description: ApisixSecret describes the Kubernetes Secret name and namespace. properties: name: minLength: 1 type: string namespace: minLength: 1 type: string required: - name - namespace type: object required: - hosts - secret type: object status: description: ApisixStatus is the status report for Apisix ingress Resources properties: conditions: 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, 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 }" 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. format: date-time type: string message: 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. 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. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - 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) 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 required: - lastTransitionTime - message - reason - status - type type: object type: array type: object type: object served: true storage: true subresources: status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: labels: apisix.apache.org/app: ingress-apisix name: apisixupstreams.apisix.apache.org spec: group: apisix.apache.org names: kind: ApisixUpstream plural: apisixupstreams shortNames: - au singular: apisixupstream scope: Namespaced versions: - name: v2beta3 schema: openAPIV3Schema: properties: spec: properties: healthCheck: anyOf: - required: - active - required: - active - passive properties: active: properties: concurrency: minimum: 1 type: integer healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array interval: type: string successes: maximum: 254 minimum: 1 type: integer type: object host: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string httpPath: minLength: 1 type: string port: maximum: 65535 minimum: 1 type: integer requestHeaders: items: type: string minItems: 1 type: array strictTLS: type: boolean timeout: minimum: 0 type: number type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer interval: type: string tcpFailures: maximum: 254 minimum: 1 type: integer timeouts: minimum: 0 type: integer type: object type: object passive: properties: healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array successes: maximum: 254 minimum: 1 type: integer type: object type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer tcpFailures: maximum: 254 minimum: 1 type: integer timeouts: minimum: 0 type: integer type: object type: object type: object loadbalancer: properties: hashOn: enum: - vars - vars_combinations - header - cookie - consumer type: string key: type: string type: enum: - roundrobin - chash - ewma - least_conn type: string required: - type type: object portLevelSettings: items: properties: healthCheck: anyOf: - required: - active - required: - active - passive properties: active: properties: concurrency: minimum: 1 type: integer healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array interval: type: string successes: maximum: 254 minimum: 1 type: integer type: object host: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string httpPath: minLength: 1 type: string port: maximum: 65535 minimum: 1 type: integer requestHeaders: items: type: string minItems: 1 type: array strictTLS: type: boolean timeout: minimum: 0 type: number type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer interval: type: string tcpFailures: maximum: 254 minimum: 1 type: integer timeout: type: string type: object type: object passive: properties: healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array successes: maximum: 254 minimum: 1 type: integer type: object type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer tcpFailures: maximum: 254 minimum: 1 type: integer timeout: type: string type: object type: object type: object loadbalancer: properties: hashOn: enum: - vars - vars_combinations - header - cookie - consumer type: string key: type: string type: enum: - roundrobin - chash - ewma - least_conn type: string required: - type type: object port: maximum: 65535 minimum: 1 type: integer retries: minimum: 0 type: integer scheme: enum: - http - grpc type: string timeout: properties: connect: type: string read: type: string send: type: string type: object type: object type: array retries: minimum: 0 type: integer scheme: enum: - http - grpc - https - grpcs type: string subsets: items: properties: labels: type: object x-kubernetes-preserve-unknown-fields: true name: minLength: 1 type: string required: - name - labels type: object type: array timeout: properties: connect: type: string read: type: string send: type: string type: object tlsSecret: description: ApisixSecret describes the Kubernetes Secret name and namespace. properties: name: minLength: 1 type: string namespace: minLength: 1 type: string required: - name - namespace type: object type: object type: object served: true storage: false deprecated: true subresources: status: {} - name: v2 schema: openAPIV3Schema: properties: spec: properties: discovery: description: Discovery is used to configure service discovery for upstream properties: args: type: object x-kubernetes-preserve-unknown-fields: true serviceName: type: string type: type: string type: object externalNodes: description: ExternalNodes contains external nodes the Upstream should use If this field is set, the upstream will use these nodes directly without any further resolves items: description: ApisixUpstreamExternalNode is the external node conf properties: name: type: string port: type: integer type: type: string weight: type: integer type: object type: array healthCheck: anyOf: - required: - active - required: - active - passive properties: active: properties: concurrency: minimum: 1 type: integer healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array interval: type: string successes: maximum: 254 minimum: 1 type: integer type: object host: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string httpPath: minLength: 1 type: string port: maximum: 65535 minimum: 1 type: integer requestHeaders: items: type: string minItems: 1 type: array strictTLS: type: boolean timeout: minimum: 0 type: number type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer interval: type: string tcpFailures: maximum: 254 minimum: 1 type: integer timeouts: minimum: 0 type: integer type: object type: object passive: properties: healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array successes: maximum: 254 minimum: 1 type: integer type: object type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer tcpFailures: maximum: 254 minimum: 1 type: integer timeouts: minimum: 0 type: integer type: object type: object type: object loadbalancer: properties: hashOn: enum: - vars - vars_combinations - header - cookie - consumer type: string key: type: string type: enum: - roundrobin - chash - ewma - least_conn type: string required: - type type: object portLevelSettings: items: properties: healthCheck: anyOf: - required: - active - required: - active - passive properties: active: properties: concurrency: minimum: 1 type: integer healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array interval: type: string successes: maximum: 254 minimum: 1 type: integer type: object host: pattern: ^\*?[0-9a-zA-Z-._]+$ type: string httpPath: minLength: 1 type: string port: maximum: 65535 minimum: 1 type: integer requestHeaders: items: type: string minItems: 1 type: array strictTLS: type: boolean timeout: minimum: 0 type: number type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer interval: type: string tcpFailures: maximum: 254 minimum: 1 type: integer timeout: type: string type: object type: object passive: properties: healthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array successes: maximum: 254 minimum: 1 type: integer type: object type: enum: - http - https - tcp type: string unhealthy: properties: httpCodes: items: maximum: 599 minimum: 200 type: integer minItems: 1 type: array httpFailures: maximum: 254 minimum: 1 type: integer tcpFailures: maximum: 254 minimum: 1 type: integer timeout: type: string type: object type: object type: object loadbalancer: properties: hashOn: enum: - vars - vars_combinations - header - cookie - consumer type: string key: type: string type: enum: - roundrobin - chash - ewma - least_conn type: string required: - type type: object port: maximum: 65535 minimum: 1 type: integer retries: minimum: 0 type: integer scheme: enum: - http - grpc type: string timeout: properties: connect: type: string read: type: string send: type: string type: object type: object type: array retries: minimum: 0 type: integer scheme: enum: - http - grpc - https - grpcs type: string subsets: items: properties: labels: type: object x-kubernetes-preserve-unknown-fields: true name: minLength: 1 type: string required: - name - labels type: object type: array timeout: properties: connect: type: string read: type: string send: type: string type: object tlsSecret: description: ApisixSecret describes the Kubernetes Secret name and namespace. properties: name: minLength: 1 type: string namespace: minLength: 1 type: string required: - name - namespace type: object type: object type: object served: true storage: true subresources: status: {}