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: {}