You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by zh...@apache.org on 2021/10/20 09:44:06 UTC
[apisix-helm-chart] branch master updated: chore:
apisix-ingress-controller v1.3 released (#158)
This is an automated email from the ASF dual-hosted git repository.
zhangjintao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-helm-chart.git
The following commit(s) were added to refs/heads/master by this push:
new 52c47c7 chore: apisix-ingress-controller v1.3 released (#158)
52c47c7 is described below
commit 52c47c7d547f7794547c25c87267f92debafb622
Author: Jintao Zhang <zh...@gmail.com>
AuthorDate: Wed Oct 20 17:44:02 2021 +0800
chore: apisix-ingress-controller v1.3 released (#158)
---
.github/workflows/ci.yaml | 2 +-
charts/apisix-ingress-controller/Chart.yaml | 4 +-
.../crds/customresourcedefinitions.yaml | 2697 +++++++++++++-------
charts/apisix-ingress-controller/values.yaml | 2 +-
4 files changed, 1847 insertions(+), 858 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 702068c..2e0f6ad 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- k8s: [v1.14.10, v1.15.12, v1.16.15, v1.17.17, v1.18.19, v1.19.11, v1.20.7, v1.21.1]
+ k8s: [v1.16.15, v1.17.17, v1.18.19, v1.19.11, v1.20.7, v1.21.1, v1.22.2]
steps:
diff --git a/charts/apisix-ingress-controller/Chart.yaml b/charts/apisix-ingress-controller/Chart.yaml
index b6da433..595e6ee 100644
--- a/charts/apisix-ingress-controller/Chart.yaml
+++ b/charts/apisix-ingress-controller/Chart.yaml
@@ -24,8 +24,8 @@ keywords:
- nginx
- crd
type: application
-version: 0.7.0
-appVersion: 1.2.0
+version: 0.8.0
+appVersion: 1.3.0
maintainers:
- name: tao12345666333
diff --git a/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml b/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
index 2e6374e..bde3e89 100644
--- a/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
+++ b/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
@@ -14,132 +14,966 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ 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: v2alpha1
+ 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:
+ 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: v2alpha1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ authParameter:
+ oneOf:
+ - required:
+ - basicAuth
+ - required:
+ - keyAuth
+ 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
+ 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
+ type: object
+ required:
+ - authParameter
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: apisixroutes.apisix.apache.org
spec:
- additionalPrinterColumns:
- - JSONPath: .spec.http[].match.hosts
+ group: apisix.apache.org
+ names:
+ kind: ApisixRoute
+ plural: apisixroutes
+ shortNames:
+ - ar
+ singular: apisixroute
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .spec.http[].match.hosts
name: Hosts
- type: string
priority: 0
- - JSONPath: .spec.http[].match.paths
- name: URIs
type: string
+ - jsonPath: .spec.http[].match.paths
+ name: URIs
priority: 0
- - JSONPath: .spec.http[].backend.serviceName
- name: Target Service(HTTP)
type: string
+ - jsonPath: .spec.http[].backend.serviceName
+ name: Target Service(HTTP)
priority: 1
- - JSONPath: .spec.tcp[].match.ingressPort
+ type: string
+ - jsonPath: .spec.tcp[].match.ingressPort
name: Ingress Server Port(TCP)
- type: integer
priority: 1
- - JSONPath: .spec.tcp[].match.backend.serviceName
+ type: integer
+ - jsonPath: .spec.tcp[].match.backend.serviceName
name: Target Service(TCP)
- type: string
priority: 1
- - JSONPath: .metadata.creationTimestamp
+ type: string
+ - jsonPath: .metadata.creationTimestamp
name: Age
- type: date
priority: 0
- group: apisix.apache.org
- versions:
- - name: v1
- served: true
- storage: false
- deprecated: true
- - name: v2alpha1
- served: true
- storage: false
- - name: v2beta1
- served: true
- storage: true
- scope: Namespaced
- names:
- plural: apisixroutes
- singular: apisixroute
- kind: ApisixRoute
- shortNames:
- - ar
- preserveUnknownFields: true # we have to enable it since plugin config
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- type: object
- properties:
- spec:
- type: object
- anyOf:
- - required: ["http"]
- - required: ["tcp"]
- - required: ["stream"]
- properties:
- http:
- type: array
- minItems: 1
- items:
- type: object
- oneOf:
- - required: ["name", "match", "backend"]
- - required: ["name", "match", "backends"]
- properties:
- name:
- type: string
- minLength: 1
- priority:
- type: integer
- match:
- type: object
- required:
- - paths
- properties:
- paths:
- type: array
- minItems: 1
- items:
+ type: date
+ deprecated: true
+ name: v1
+ 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
- pattern: "^/[a-zA-Z0-9\\-._~%!$&'()+,;=:@/]*\\*?$"
- hosts:
- type: array
- minItems: 1
- items:
+ required:
+ - enable
+ type: object
+ backend:
+ properties:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
type: string
- pattern: "^\\*?[0-9a-zA-Z-._]+$"
- methods:
- type: array
- minItems: 1
- items:
+ serviceName:
+ minLength: 1
type: string
- enum: ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]
- remoteAddrs:
- type: array
- minItems: 1
- items:
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ subset:
type: string
- exprs:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- subject:
- type: object
- properties:
- scope:
- type: string
- enum: ["Cookie", "Header", "Path", "Query"]
- name:
+ weight:
+ minimum: 0
+ type: integer
+ required:
+ - serviceName
+ - servicePort
+ type: object
+ backends:
+ items:
+ properties:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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
- minLength: 1
- required:
- - scope
- op:
- type: string
- enum:
+ 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:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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
+ type: object
+ served: false
+ storage: false
+ 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[].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
+ deprecated: true
+ name: v2alpha1
+ 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:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ subset:
+ type: string
+ weight:
+ minimum: 0
+ type: integer
+ required:
+ - serviceName
+ - servicePort
+ type: object
+ backends:
+ items:
+ properties:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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
+ type: object
+ served: true
+ storage: false
+ 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[].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
+ deprecated: true
+ name: v2beta1
+ 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:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ subset:
+ type: string
+ weight:
+ minimum: 0
+ type: integer
+ required:
+ - serviceName
+ - servicePort
+ type: object
+ backends:
+ items:
+ properties:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
+ type: string
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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
@@ -150,846 +984,1001 @@ spec:
- RegexNotMatch
- RegexMatchCaseInsensitive
- RegexNotMatchCaseInsensitive
- value:
- type: string
- set:
- type: array
- items:
type: string
- oneOf:
- - required: ["subject", "op", "value"]
- - required: ["subject", "op", "set"]
- websocket:
- type: boolean
- backend:
- type: object
- properties:
- serviceName:
- type: string
- minLength: 1
- servicePort:
- type: integer
- minimum: 1
- maximum: 65535
- resolveGranualrity:
- type: string
- enum: ["endpoint", "service"]
- weight:
- type: integer
- minimum: 0
- subset:
- type: string
- required:
- - serviceName
- - servicePort
- backends:
- type: array
- minItems: 1
- items:
+ 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:
- serviceName:
+ resolveGranualrity:
+ enum:
+ - endpoint
+ - service
type: string
+ serviceName:
minLength: 1
+ type: string
servicePort:
- type: integer
+ maximum: 65535
minimum: 1
+ type: integer
+ 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:
resolveGranualrity:
+ enum:
+ - endpoint
+ - service
type: string
- enum: ["endpoint", "service"]
- weight:
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
type: integer
- minimum: 0
subset:
type: string
- required:
+ required:
- serviceName
- servicePort
- plugins:
- type: array
- items:
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
+ type: object
+ served: true
+ storage: false
+ 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: v2beta2
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ anyOf:
+ - required:
+ - http
+ - required:
+ - stream
+ properties:
+ http:
+ items:
+ properties:
+ authentication:
properties:
- name:
- type: string
- minLength: 1
enable:
type: boolean
- config:
+ keyAuth:
+ properties:
+ header:
+ type: string
type: object
- required:
- - name
+ type:
+ enum:
+ - basicAuth
+ - keyAuth
+ type: string
+ required:
- enable
- authentication:
- type: object
- properties:
- enable:
- type: boolean
- type:
- type: string
- enum: ["basicAuth", "keyAuth"]
- keyAuth:
- type: object
+ type: object
+ backends:
+ items:
properties:
- header:
+ resolveGranularity:
+ enum:
+ - endpoint
+ - service
type: string
- required:
- - enable
- tcp:
- type: array
- minItems: 1
- items:
- type: object
- required: ["name", "match", "backend"]
- properties:
- name:
- type: string
- minLength: 1
- match:
- type: object
- properties:
- ingressPort:
- type: integer
- minimum: 1
- maximum: 65535
- required:
- - ingressPort
- backend:
- type: object
- properties:
- serviceName:
- type: string
- minLength: 1
- servicePort:
- type: integer
- minimum: 1
- maximum: 65535
- resolveGranualrity:
- type: string
- enum: ["endpoint", "service"]
- subset:
- type: string
- required:
+ serviceName:
+ minLength: 1
+ type: string
+ servicePort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ 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:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ subset:
+ type: string
+ required:
- serviceName
- servicePort
- stream:
- type: array
- minItems: 1
- items:
- type: object
- required: [ "name", "match", "backend", "protocol" ]
- properties:
- "protocol":
- type: string
- enum: [ "TCP", "UDP" ]
- name:
- type: string
- minLength: 1
- match:
- type: object
- properties:
- ingressPort:
- type: integer
- minimum: 1
- maximum: 65535
- required:
+ type: object
+ match:
+ properties:
+ ingressPort:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ required:
- ingressPort
- backend:
- type: object
- properties:
- serviceName:
- type: string
- minLength: 1
- servicePort:
- type: integer
- minimum: 1
- maximum: 65535
- resolveGranualrity:
- type: string
- enum: [ "endpoint", "service" ]
- subset:
- type: string
- required:
- - serviceName
- - servicePort
-
+ 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
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: apisixtlses.apisix.apache.org
spec:
- 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
group: apisix.apache.org
- versions:
- - name: v1
- served: true
- storage: true
- scope: Namespaced
names:
- plural: apisixtlses
- singular: apisixtls
kind: ApisixTls
+ plural: apisixtlses
shortNames:
- atls
+ singular: apisixtls
preserveUnknownFields: false
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- description: ApisixTls defines SSL resource in APISIX.
- type: object
- 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.
- type: object
- required:
- - hosts
- - secret
- properties:
- client:
- description: ApisixMutualTlsClientConfig describes the mutual TLS CA
- and verify depth
- type: object
- properties:
- caSecret:
- description: ApisixSecret describes the Kubernetes Secret name and
- namespace.
- type: object
- required:
- - name
- - namespace
- properties:
- name:
- type: string
- minLength: 1
- namespace:
- type: string
- minLength: 1
- depth:
- type: integer
- hosts:
- type: array
- minItems: 1
- items:
- type: string
- pattern: ^\*?[0-9a-zA-Z-.]+$
- secret:
- description: ApisixSecret describes the Kubernetes Secret name and namespace.
- type: object
- required:
- - name
- - namespace
- properties:
- name:
- type: string
- minLength: 1
- namespace:
- type: string
- minLength: 1
- status:
- description: ApisixStatus is the status report for Apisix ingress Resources
- type: object
- properties:
- conditions:
- type: array
- 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 }"
- type: object
- required:
- - lastTransitionTime
- - message
- - reason
- - status
- - type
+ 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: v1
+ 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:
- 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.
- type: string
- format: date-time
- message:
- description: message is a human readable message indicating details
- about the transition. This may be an empty string.
- type: string
- maxLength: 32768
- 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.
+ 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
- format: int64
- minimum: 0
- 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.
- type: string
- maxLength: 1024
+ 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
- pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
- status:
- description: status of the condition, one of True, False, Unknown.
type: string
- enum:
- - "True"
- - "False"
- - Unknown
- 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)
+ namespace:
+ minLength: 1
type: string
- 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])$
+ 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/v1beta1
+apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: apisixupstreams.apisix.apache.org
spec:
group: apisix.apache.org
- versions:
- - name: v1
- served: true
- storage: true
- scope: Namespaced
names:
- plural: apisixupstreams
- singular: apisixupstream
kind: ApisixUpstream
+ plural: apisixupstreams
shortNames:
- - au
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- type: object
- properties:
- spec:
- type: object
- properties:
- subsets:
- type: array
- items:
- type: object
- properties:
- name:
- type: string
- minLength: 1
- labels:
- type: object
- required: ["name", "labels"]
- loadbalancer:
- type: object
- properties:
- type:
- type: string
- enum:
- - roundrobin
- - chash
- - ewma
- - least_conn
- hashOn:
- type: string
- enum:
- - vars
- - vars_combinations
- - header
- - cookie
- - consumer
- key:
- type: string
- required:
- - type
- scheme:
- type: string
- enum:
- - http
- - grpc
- retries:
- type: integer
- minimum: 0
- timeout:
- type: object
- properties:
- connect:
- type: string
- read:
- type: string
- send:
- type: string
- healthCheck:
- type: object
- anyOf:
+ - au
+ singular: apisixupstream
+ scope: Namespaced
+ versions:
+ - name: v1
+ schema:
+ openAPIV3Schema:
+ properties:
+ spec:
+ properties:
+ healthCheck:
+ anyOf:
- required:
- - active
+ - active
- required:
- - active
- - passive
- properties:
- active:
- type: object
- properties:
- type:
- type: string
- enum:
+ - 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
- timeout:
- type: number
- minimum: 0
- concurrency:
- type: integer
- minimum: 1
- host:
- type: string
- pattern: "^\\*?[0-9a-zA-Z-._]+$"
- port:
- type: integer
- minimum: 1
- maximum: 65535
- httpPath:
- type: string
- minLength: 1
- strictTLS:
- type: boolean
- requestHeaders:
- type: array
- minItems: 1
- items:
type: string
- healthy:
- type: object
- properties:
- interval:
- type: string
- httpCodes:
- type: array
- minItems: 1
- items:
+ unhealthy:
+ properties:
+ httpCodes:
+ items:
+ maximum: 599
+ minimum: 200
+ type: integer
+ minItems: 1
+ type: array
+ httpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- successes:
- type: integer
- minimum: 1
- maximum: 254
- unhealthy:
- type: object
- properties:
- interval:
- type: string
- httpCodes:
- type: array
- minItems: 1
- items:
+ 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
- minimum: 200
- maximum: 599
- httpFailures:
- type: integer
- minimum: 1
- maximum: 254
- tcpFailures:
- type: integer
- minimum: 1
- maximum: 254
- timeout:
- type: string
- passive:
- type: object
- properties:
- type:
- type: string
- enum:
+ type: object
+ type:
+ enum:
- http
- https
- tcp
- healthy:
- type: object
- properties:
- httpCodes:
- type: array
- minItems: 1
- items:
+ type: string
+ unhealthy:
+ properties:
+ httpCodes:
+ items:
+ maximum: 599
+ minimum: 200
+ type: integer
+ minItems: 1
+ type: array
+ httpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- successes:
- type: integer
- minimum: 1
- maximum: 254
- unhealthy:
- type: object
- properties:
- httpCodes:
- type: array
- minItems: 1
- items:
+ tcpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- httpFailures:
- type: integer
- minimum: 1
- maximum: 254
- tcpFailures:
- type: integer
- minimum: 1
- maximum: 254
- timeout:
- type: string
- portLevelSettings:
- type: array
- items:
+ timeouts:
+ minimum: 0
+ type: integer
+ type: object
+ type: object
type: object
+ loadbalancer:
properties:
- port:
- type: integer
- minimum: 1
- maximum: 65535
- loadbalancer:
- type: object
- properties:
- type:
- type: string
- enum:
- - roundrobin
- - chash
- - ewma
- - least_conn
- hashOn:
- type: string
- enum:
- - vars
- - vars_combinations
- - header
- - cookie
- - consumer
- key:
- type: string
- required:
- - type
- scheme:
+ hashOn:
+ enum:
+ - vars
+ - vars_combinations
+ - header
+ - cookie
+ - consumer
type: string
+ key:
+ type: string
+ type:
enum:
- - http
- - grpc
- retries:
- type: integer
- minimum: 0
- timeout:
- type: object
- properties:
- connect:
- type: string
- read:
- type: string
- send:
- type: string
- healthCheck:
- type: object
- anyOf:
+ - roundrobin
+ - chash
+ - ewma
+ - least_conn
+ type: string
+ required:
+ - type
+ type: object
+ portLevelSettings:
+ items:
+ properties:
+ healthCheck:
+ anyOf:
- required:
- - active
+ - active
- required:
- - active
- - passive
- properties:
- active:
- type: object
- properties:
- type:
- type: string
- enum:
+ - 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
- timeout:
- type: number
- minimum: 0
- concurrency:
- type: integer
- minimum: 1
- host:
- type: string
- pattern: "^\\*?[0-9a-zA-Z-._]+$"
- port:
- type: integer
- minimum: 1
- maximum: 65535
- httpPath:
- type: string
- minLength: 1
- strictTLS:
- type: boolean
- requestHeaders:
- type: array
- minItems: 1
- items:
type: string
- healthy:
- type: object
- properties:
- interval:
- type: string
- httpCodes:
- type: array
- minItems: 1
- items:
+ unhealthy:
+ properties:
+ httpCodes:
+ items:
+ maximum: 599
+ minimum: 200
+ type: integer
+ minItems: 1
+ type: array
+ httpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- successes:
- type: integer
- minimum: 1
- maximum: 254
- unhealthy:
- type: object
- properties:
- interval:
- type: string
- httpCodes:
- type: array
- minItems: 1
- items:
+ interval:
+ type: string
+ tcpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- httpFailures:
- type: integer
- minimum: 1
- maximum: 254
- tcpFailures:
- type: integer
- minimum: 1
- maximum: 254
- timeout:
- type: string
- passive:
- type: object
- properties:
- type:
- type: string
- enum:
+ 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
- healthy:
- type: object
- properties:
- httpCodes:
- type: array
- minItems: 1
- items:
+ type: string
+ unhealthy:
+ properties:
+ httpCodes:
+ items:
+ maximum: 599
+ minimum: 200
+ type: integer
+ minItems: 1
+ type: array
+ httpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- successes:
- type: integer
- minimum: 1
- maximum: 254
- unhealthy:
- type: object
- properties:
- httpCodes:
- type: array
- minItems: 1
- items:
+ tcpFailures:
+ maximum: 254
+ minimum: 1
type: integer
- minimum: 200
- maximum: 599
- httpFailures:
- type: integer
- minimum: 1
- maximum: 254
- tcpFailures:
- type: integer
- minimum: 1
- maximum: 254
- timeout:
- type: string
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
- name: apisixconsumers.apisix.apache.org
-spec:
- group: apisix.apache.org
- versions:
- - name: v2alpha1
- served: true
- storage: true
- scope: Namespaced
- names:
- plural: apisixconsumers
- singular: apisixconsumer
- kind: ApisixConsumer
- shortNames:
- - ac
- preserveUnknownFields: false
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- type: object
- properties:
- spec:
- type: object
- required:
- - authParameter
- properties:
- authParameter:
- type: object
- oneOf:
- - required: ["basicAuth"]
- - required: ["keyAuth"]
- properties:
- basicAuth:
- type: object
- oneOf:
- - required: ["value"]
- - required: ["secretRef"]
- properties:
- value:
+ timeout:
+ type: string
+ type: object
+ type: object
type: object
+ loadbalancer:
properties:
- username:
+ hashOn:
+ enum:
+ - vars
+ - vars_combinations
+ - header
+ - cookie
+ - consumer
type: string
- minLength: 1
- password:
+ key:
type: string
- minLength: 1
- required:
- - username
- - password
- secretRef:
- type: object
- properties:
- name:
+ type:
+ enum:
+ - roundrobin
+ - chash
+ - ewma
+ - least_conn
type: string
- minLength: 1
required:
- - name
- keyAuth:
- type: object
- oneOf:
- - required: ["value"]
- - required: ["secretRef"]
- properties:
- value:
+ - type
type: object
+ port:
+ maximum: 65535
+ minimum: 1
+ type: integer
+ retries:
+ minimum: 0
+ type: integer
+ scheme:
+ enum:
+ - http
+ - grpc
+ type: string
+ timeout:
properties:
- key:
+ connect:
type: string
- minLength: 1
- required:
- - key
- secretRef:
- type: object
- properties:
- name:
+ read:
type: string
- minLength: 1
- required:
- - name
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
- name: apisixclusterconfigs.apisix.apache.org
-spec:
- group: apisix.apache.org
- versions:
- - name: v2alpha1
- served: true
- storage: true
- scope: Cluster
- names:
- plural: apisixclusterconfigs
- singular: apisixclusterconfig
- kind: ApisixClusterConfig
- shortNames:
- - acc
- preserveUnknownFields: false
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- type: object
- properties:
- spec:
- type: object
- properties:
- admin:
- type: object
- required:
- - baseURL
- properties:
- baseURL:
- type: string
- pattern: "https?://[^:]+:(\\d+)"
- adminKey:
- type: string
- monitoring:
- type: object
- properties:
- prometheus:
+ send:
+ type: string
+ type: object
type: object
+ type: array
+ retries:
+ minimum: 0
+ type: integer
+ scheme:
+ enum:
+ - http
+ - grpc
+ type: string
+ subsets:
+ items:
properties:
- enable:
- type: boolean
- skywalking:
+ labels:
+ type: object
+ x-kubernetes-preserve-unknown-fields: true
+ name:
+ minLength: 1
+ type: string
+ required:
+ - name
+ - labels
type: object
- properties:
- enable:
- type: boolean
- sampleRatio:
- type: number
- minimum: 0.00001
- maximum: 1
+ type: array
+ timeout:
+ properties:
+ connect:
+ type: string
+ read:
+ type: string
+ send:
+ type: string
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/apisix-ingress-controller/values.yaml b/charts/apisix-ingress-controller/values.yaml
index c5cc7a6..6de288b 100644
--- a/charts/apisix-ingress-controller/values.yaml
+++ b/charts/apisix-ingress-controller/values.yaml
@@ -42,7 +42,7 @@ replicaCount: 1
image:
repository: apache/apisix-ingress-controller
pullPolicy: IfNotPresent
- tag: "1.2.0"
+ tag: "1.3.0"
imagePullSecrets: []