Custom Resource Definitions API Reference
This document provides the API resource description the APISIX Ingress Controller custom resource definitions (CRDs).
#
Packages#
apisix.apache.org/v1alpha1Package v1alpha1 contains API Schema definitions for the apisix.apache.org v1alpha1 API group
#
BackendTrafficPolicyField | Description |
---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | BackendTrafficPolicy |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec BackendTrafficPolicySpec | BackendTrafficPolicySpec defines traffic handling policies applied to backend services, such as load balancing strategy, connection settings, and failover behavior. |
#
ConsumerField | Description |
---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | Consumer |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ConsumerSpec | ConsumerSpec defines the configuration for a consumer, including consumer name, authentication credentials, and plugin settings. |
#
GatewayProxyGatewayProxy is the Schema for the gatewayproxies API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | GatewayProxy |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec GatewayProxySpec | GatewayProxySpec defines the desired state and configuration of a GatewayProxy, including networking settings, global plugins, and plugin metadata. |
#
HTTPRoutePolicyHTTPRoutePolicy is the Schema for the httproutepolicies API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | HTTPRoutePolicy |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec HTTPRoutePolicySpec | HTTPRoutePolicySpec defines the desired state and configuration of a HTTPRoutePolicy, including route priority and request matching conditions. |
#
PluginConfigPluginConfig is the Schema for the PluginConfigs API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | PluginConfig |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec PluginConfigSpec | PluginConfigSpec defines the desired state of a PluginConfig, in which plugins and their configurations are specified. |
#
TypesIn this section you will find types that the CRDs rely on.
#
AdminKeyAuthAdminKeyAuth defines the admin key authentication configuration.
Field | Description |
---|---|
value string | Value sets the admin key value explicitly (not recommended for production). |
valueFrom AdminKeyValueFrom | ValueFrom specifies the source of the admin key. |
Appears in:
#
AdminKeyValueFromAdminKeyValueFrom defines the source of the admin key.
Field | Description |
---|---|
secretKeyRef SecretKeySelector | SecretKeyRef references a key in a Secret. |
Appears in:
#
AuthTypeBase type: string
AuthType defines the type of authentication.
Appears in:
#
BackendPolicyTargetReferenceWithSectionNameBase type: LocalPolicyTargetReferenceWithSectionName
Field | Description |
---|---|
group Group | Group is the group of the target resource. |
kind Kind | Kind is kind of the target resource. |
name ObjectName | Name is the name of the target resource. |
sectionName SectionName | SectionName is the name of a section within the target resource. When unspecified, this targetRef targets the entire resource. In the following resources, SectionName is interpreted as the following: • Gateway: Listener name • HTTPRoute: HTTPRouteRule name • Service: Port name If a SectionName is specified, but does not exist on the targeted object, the Policy must fail to attach, and the policy implementation should record a ResolvedRefs or similar Condition in the Policy's status. |
Appears in:
#
BackendTrafficPolicySpecField | Description |
---|---|
targetRefs BackendPolicyTargetReferenceWithSectionName array | TargetRef identifies an API object to apply policy to. Currently, Backends (i.e. Service, ServiceImport, or any implementation-specific backendRef) are the only valid API target references. |
loadbalancer LoadBalancer | LoadBalancer represents the load balancer configuration for Kubernetes Service. The default strategy is round robin. |
scheme string | Scheme is the protocol used to communicate with the upstream. Default is http . Can be one of http , https , grpc , or grpcs . |
retries integer | Retries specify the number of times the gateway should retry sending requests when errors such as timeouts or 502 errors occur. |
timeout Timeout | Timeout sets the read, send, and connect timeouts to the upstream. |
passHost string | PassHost configures how the host header should be determined when a request is forwarded to the upstream. Default is pass . Can be one of pass , node or rewrite . |
upstreamHost Hostname | UpstreamHost specifies the host of the Upstream request. Used only if passHost is set to rewrite . |
Appears in:
#
ConsumerSpecField | Description |
---|---|
gatewayRef GatewayRef | GatewayRef specifies the gateway details. |
credentials Credential array | Credentials specifies the credential details of a consumer. |
plugins Plugin array | Plugins define the plugins associated with a consumer. |
Appears in:
#
ControlPlaneAuthControlPlaneAuth defines the authentication configuration for control plane.
Field | Description |
---|---|
type AuthType | Type specifies the type of authentication. Can only be AdminKey . |
adminKey AdminKeyAuth | AdminKey specifies the admin key authentication configuration. |
Appears in:
#
ControlPlaneProviderControlPlaneProvider defines the configuration for control plane provider.
Field | Description |
---|---|
endpoints string array | Endpoints specifies the list of control plane endpoints. |
service ProviderService | |
tlsVerify boolean | TlsVerify specifies whether to verify the TLS certificate of the control plane. |
auth ControlPlaneAuth | Auth specifies the authentication configurations. |
Appears in:
#
CredentialField | Description |
---|---|
type string | Type specifies the type of authentication to configure credentials for. Can be one of jwt-auth , basic-auth , key-auth , or hmac-auth . |
config JSON | Config specifies the credential details for authentication. |
secretRef SecretReference | SecretRef references to the Secret that contains the credentials. |
name string | Name is the name of the credential. |
Appears in:
#
GatewayProxyPluginGatewayProxyPlugin contains plugin configurations.
Field | Description |
---|---|
name string | Name is the name of the plugin. |
enabled boolean | Enabled defines whether the plugin is enabled. |
config JSON | Config defines the plugin's configuration details. |
Appears in:
#
GatewayProxyProviderGatewayProxyProvider defines the provider configuration for GatewayProxy.
Field | Description |
---|---|
type ProviderType | Type specifies the type of provider. Can only be ControlPlane . |
controlPlane ControlPlaneProvider | ControlPlane specifies the configuration for control plane provider. |
Appears in:
#
GatewayProxySpecGatewayProxySpec defines the desired state of GatewayProxy.
Field | Description |
---|---|
publishService string | PublishService specifies the LoadBalancer-type Service whose external address the controller uses to update the status of Ingress resources. |
statusAddress string array | StatusAddress specifies the external IP addresses that the controller uses to populate the status field of GatewayProxy or Ingress resources for developers to access. |
provider GatewayProxyProvider | Provider configures the provider details. |
plugins GatewayProxyPlugin array | Plugins configure global plugins. |
pluginMetadata object (keys:string, values:JSON) | PluginMetadata configures common configurations shared by all plugin instances of the same name. |
Appears in:
#
GatewayRefField | Description |
---|---|
name string | Name is the name of the gateway. |
kind string | Kind is the type of Kubernetes object. Default is Gateway . |
group string | Group is the API group the resource belongs to. Default is gateway.networking.k8s.io . |
namespace string | Namespace is namespace of the resource. |
Appears in:
#
HTTPRoutePolicySpecHTTPRoutePolicySpec defines the desired state of HTTPRoutePolicy.
Field | Description |
---|---|
targetRefs LocalPolicyTargetReferenceWithSectionName array | TargetRef identifies an API object (i.e. HTTPRoute, Ingress) to apply HTTPRoutePolicy to. |
priority integer | Priority sets the priority for route. A higher value sets a higher priority in route matching. |
vars JSON array | Vars sets the request matching conditions. |
Appears in:
#
HostnameBase type: string
Appears in:
#
LoadBalancerLoadBalancer describes the load balancing parameters.
Field | Description |
---|---|
type string | Type specifies the load balancing algorithms. Default is roundrobin . Can be one of roundrobin , chash , ewma , or least_conn . |
hashOn string | HashOn specified the type of field used for hashing, required when Type is chash . Default is vars . Can be one of vars , header , cookie , consumer , or vars_combinations . |
key string | Key is used with HashOn, generally required when Type is chash . When HashOn is header or cookie , specifies the name of the header or cookie. When HashOn is consumer , key is not required, as the consumer name is used automatically. When HashOn is vars or vars_combinations , key refers to one or a combination of APISIX variable. |
Appears in:
#
PluginField | Description |
---|---|
name string | Name is the name of the plugin. |
config JSON | Config is plugin configuration details. |
Appears in:
#
PluginConfigSpecPluginConfigSpec defines the desired state of PluginConfig.
Field | Description |
---|---|
plugins Plugin array | Plugins are an array of plugins and their configurations to be applied. |
Appears in:
#
ProviderServiceField | Description |
---|---|
name string | |
port integer |
Appears in:
#
ProviderTypeBase type: string
ProviderType defines the type of provider.
Appears in:
#
SecretKeySelectorSecretKeySelector defines a reference to a specific key within a Secret.
Field | Description |
---|---|
name string | Name is the name of the secret. |
key string | Key is the key in the secret to retrieve the secret from. |
Appears in:
#
SecretReferenceField | Description |
---|---|
name string | Name is the name of the secret. |
namespace string | Namespace is the namespace of the secret. |
Appears in:
#
StatusField | Description |
---|---|
conditions Condition array |
Appears in:
#
TimeoutField | Description |
---|---|
connect Duration | Connection timeout. Default is 60s . |
send Duration | Send timeout. Default is 60s . |
read Duration | Read timeout. Default is 60s . |
Appears in:
#
apisix.apache.org/v2Package v2 contains API Schema definitions for the apisix.apache.org v2 API group.
#
ApisixConsumerApisixConsumer is the Schema for the apisixconsumers API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v2 |
kind string | ApisixConsumer |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ApisixConsumerSpec |
#
ApisixGlobalRuleApisixGlobalRule is the Schema for the apisixglobalrules API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v2 |
kind string | ApisixGlobalRule |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ApisixGlobalRuleSpec |
#
ApisixPluginConfigApisixPluginConfig is the Schema for the apisixpluginconfigs API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v2 |
kind string | ApisixPluginConfig |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ApisixPluginConfigSpec |
#
ApisixRouteApisixRoute is the Schema for the apisixroutes API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v2 |
kind string | ApisixRoute |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ApisixRouteSpec |
#
ApisixTlsApisixTls is the Schema for the apisixtls API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v2 |
kind string | ApisixTls |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ApisixTlsSpec |
#
ApisixUpstreamApisixUpstream is the Schema for the apisixupstreams API.
Field | Description |
---|---|
apiVersion string | apisix.apache.org/v2 |
kind string | ApisixUpstream |
metadata ObjectMeta | Please refer to the Kubernetes API documentation for details on the metadata field. |
spec ApisixUpstreamSpec |
#
TypesIn this section you will find types that the CRDs rely on.
#
ActiveHealthCheckActiveHealthCheck defines the active kind of upstream health check.
Field | Description |
---|---|
type string | |
timeout Duration | |
concurrency integer | |
host string | |
port integer | |
httpPath string | |
strictTLS boolean | |
requestHeaders string array | |
healthy ActiveHealthCheckHealthy | |
unhealthy ActiveHealthCheckUnhealthy |
Appears in:
#
ActiveHealthCheckHealthyActiveHealthCheckHealthy defines the conditions to judge whether an upstream node is healthy with the active manner.
Field | Description |
---|---|
httpCodes integer array | |
successes integer | |
interval Duration |
Appears in:
#
ActiveHealthCheckUnhealthyActiveHealthCheckUnhealthy defines the conditions to judge whether an upstream node is unhealthy with the active manager.
Field | Description |
---|---|
httpCodes integer array | |
httpFailures integer | |
tcpFailures integer | |
timeout integer | |
interval Duration |
Appears in:
#
ApisixConsumerAuthParameterField | Description |
---|---|
basicAuth ApisixConsumerBasicAuth | |
keyAuth ApisixConsumerKeyAuth | |
wolfRBAC ApisixConsumerWolfRBAC | |
jwtAuth ApisixConsumerJwtAuth | |
hmacAuth ApisixConsumerHMACAuth | |
ldapAuth ApisixConsumerLDAPAuth |
Appears in:
#
ApisixConsumerBasicAuthApisixConsumerBasicAuth defines the configuration for basic auth.
Field | Description |
---|---|
secretRef LocalObjectReference | |
value ApisixConsumerBasicAuthValue |
Appears in:
#
ApisixConsumerBasicAuthValueApisixConsumerBasicAuthValue defines the in-place username and password configuration for basic auth.
Field | Description |
---|---|
username string | |
password string |
Appears in:
#
ApisixConsumerHMACAuthApisixConsumerHMACAuth defines the configuration for the hmac auth.
Field | Description |
---|---|
secretRef LocalObjectReference | |
value ApisixConsumerHMACAuthValue |
Appears in:
#
ApisixConsumerHMACAuthValueApisixConsumerHMACAuthValue defines the in-place configuration for hmac auth.
Field | Description |
---|---|
access_key string | |
secret_key string | |
algorithm string | |
clock_skew integer | |
signed_headers string array | |
keep_headers boolean | |
encode_uri_params boolean | |
validate_request_body boolean | |
max_req_body integer |
Appears in:
#
ApisixConsumerJwtAuthApisixConsumerJwtAuth defines the configuration for the jwt auth.
Field | Description |
---|---|
secretRef LocalObjectReference | |
value ApisixConsumerJwtAuthValue |
Appears in:
#
ApisixConsumerJwtAuthValueApisixConsumerJwtAuthValue defines the in-place configuration for jwt auth.
Field | Description |
---|---|
key string | |
secret string | |
public_key string | |
private_key string | |
algorithm string | |
exp integer | |
base64_secret boolean | |
lifetime_grace_period integer |
Appears in:
#
ApisixConsumerKeyAuthApisixConsumerKeyAuth defines the configuration for the key auth.
Field | Description |
---|---|
secretRef LocalObjectReference | |
value ApisixConsumerKeyAuthValue |
Appears in:
#
ApisixConsumerKeyAuthValueApisixConsumerKeyAuthValue defines the in-place configuration for basic auth.
Field | Description |
---|---|
key string |
Appears in:
#
ApisixConsumerLDAPAuthApisixConsumerLDAPAuth defines the configuration for the ldap auth.
Field | Description |
---|---|
secretRef LocalObjectReference | |
value ApisixConsumerLDAPAuthValue |
Appears in:
#
ApisixConsumerLDAPAuthValueApisixConsumerLDAPAuthValue defines the in-place configuration for ldap auth.
Field | Description |
---|---|
user_dn string |
Appears in:
#
ApisixConsumerSpecApisixConsumerSpec defines the desired state of ApisixConsumer.
Field | Description |
---|---|
ingressClassName string | IngressClassName is the name of an IngressClass cluster resource. controller implementations use this field to know whether they should be serving this ApisixConsumer resource, by a transitive connection (controller -> IngressClass -> ApisixConsumer resource). |
authParameter ApisixConsumerAuthParameter |
Appears in:
#
ApisixConsumerWolfRBACApisixConsumerWolfRBAC defines the configuration for the wolf-rbac auth.
Field | Description |
---|---|
secretRef LocalObjectReference | |
value ApisixConsumerWolfRBACValue |
Appears in:
#
ApisixConsumerWolfRBACValueApisixConsumerWolfRBAC defines the in-place server and appid and header_prefix configuration for wolf-rbac auth.
Field | Description |
---|---|
server string | |
appid string | |
header_prefix string |
Appears in:
#
ApisixGlobalRuleSpecApisixGlobalRuleSpec defines the desired state of ApisixGlobalRule.
Field | Description |
---|---|
ingressClassName string | IngressClassName is the name of an IngressClass cluster resource. The controller uses this field to decide whether the resource should be managed or not. |
plugins ApisixRoutePlugin array | Plugins contains a list of ApisixRoutePlugin |
Appears in:
#
ApisixMutualTlsClientConfigApisixMutualTlsClientConfig describes the mutual TLS CA and verify depth
Field | Description |
---|---|
caSecret ApisixSecret | |
depth integer | |
skip_mtls_uri_regex string array |
Appears in:
#
ApisixPluginConfigSpecApisixPluginConfigSpec defines the desired state of ApisixPluginConfigSpec.
Field | Description |
---|---|
ingressClassName string | IngressClassName is the name of an IngressClass cluster resource. The controller uses this field to decide whether the resource should be managed or not. |
plugins ApisixRoutePlugin array | Plugins contain a list of ApisixRoutePlugin |
Appears in:
#
ApisixRouteAuthenticationApisixRouteAuthentication is the authentication-related configuration in ApisixRoute.
Field | Description |
---|---|
enable boolean | |
type string | |
keyAuth ApisixRouteAuthenticationKeyAuth | |
jwtAuth ApisixRouteAuthenticationJwtAuth | |
ldapAuth ApisixRouteAuthenticationLDAPAuth |
Appears in:
#
ApisixRouteAuthenticationJwtAuthApisixRouteAuthenticationJwtAuth is the jwt auth related configuration in ApisixRouteAuthentication.
Field | Description |
---|---|
header string | |
query string | |
cookie string |
Appears in:
#
ApisixRouteAuthenticationKeyAuthApisixRouteAuthenticationKeyAuth is the keyAuth-related configuration in ApisixRouteAuthentication.
Field | Description |
---|---|
header string |
Appears in:
#
ApisixRouteAuthenticationLDAPAuthApisixRouteAuthenticationLDAPAuth is the LDAP auth related configuration in ApisixRouteAuthentication.
Field | Description |
---|---|
base_dn string | |
ldap_uri string | |
use_tls boolean | |
uid string |
Appears in:
#
ApisixRouteHTTPApisixRouteHTTP represents a single route in for HTTP traffic.
Field | Description |
---|---|
name string | The rule name, cannot be empty. |
priority integer | Route priority, when multiple routes contains same URI path (for path matching), route with higher priority will take effect. |
timeout UpstreamTimeout | |
match ApisixRouteHTTPMatch | |
backends ApisixRouteHTTPBackend array | Backends represents potential backends to proxy after the route rule matched. When number of backends are more than one, traffic-split plugin in APISIX will be used to split traffic based on the backend weight. |
upstreams ApisixRouteUpstreamReference array | Upstreams refer to ApisixUpstream CRD |
websocket boolean | |
plugin_config_name string | |
plugin_config_namespace string | By default, PluginConfigNamespace will be the same as the namespace of ApisixRoute |
plugins ApisixRoutePlugin array | |
authentication ApisixRouteAuthentication |
Appears in:
#
ApisixRouteHTTPBackendApisixRouteHTTPBackend represents an HTTP backend (a Kubernetes Service).
Field | Description |
---|---|
serviceName string | The name (short) of the service, note cross namespace is forbidden, so be sure the ApisixRoute and Service are in the same namespace. |
servicePort IntOrString | The service port, could be the name or the port number. |
resolveGranularity string | The resolve granularity, can be "endpoints" or "service", when set to "endpoints", the pod ips will be used; other wise, the service ClusterIP or ExternalIP will be used, default is endpoints. |
weight integer | Weight of this backend. |
subset string | Subset specifies a subset for the target Service. The subset should be pre-defined in ApisixUpstream about this service. |
Appears in:
#
ApisixRouteHTTPMatchApisixRouteHTTPMatch represents the match condition for hitting this route.
Field | Description |
---|---|
paths string array | URI path predicates, at least one path should be configured, path could be exact or prefix, for prefix path, append "" after it, for instance, "/foo". |
methods string array | HTTP request method predicates. |
hosts string array | HTTP Host predicates, host can be a wildcard domain or an exact domain. For wildcard domain, only one generic level is allowed, for instance, ".foo.com" is valid but ".*.foo.com" is not. |
remoteAddrs string array | Remote address predicates, items can be valid IPv4 address or IPv6 address or CIDR. |
exprs ApisixRouteHTTPMatchExprs | NginxVars represents generic match predicates, it uses Nginx variable systems, so any predicate like headers, querystring and etc can be leveraged here to match the route. For instance, it can be: nginxVars: - subject: "$remote_addr" op: in value: - "127.0.0.1" - "10.0.5.11" |
filter_func string | Matches based on a user-defined filtering function. These functions can accept an input parameter vars which can be used to access the Nginx variables. |
Appears in:
#
ApisixRouteHTTPMatchExprApisixRouteHTTPMatchExpr represents a binary route match expression .
Field | Description |
---|---|
subject ApisixRouteHTTPMatchExprSubject | Subject is the expression subject, it can be any string composed by literals and nginx vars. |
op string | Op is the operator. |
set string array | Set is an array type object of the expression. It should be used when the Op is "in" or "not_in"; |
value string | Value is the normal type object for the expression, it should be used when the Op is not "in" and "not_in". Set and Value are exclusive so only of them can be set in the same time. |
Appears in:
#
ApisixRouteHTTPMatchExprSubjectApisixRouteHTTPMatchExprSubject describes the route match expression subject.
Field | Description |
---|---|
scope string | The subject scope, can be: ScopeQuery, ScopeHeader, ScopePath when subject is ScopePath, Name field will be ignored. |
name string | The name of subject. |
Appears in:
#
ApisixRouteHTTPMatchExprsBase type: [ApisixRouteHTTPMatchExpr](#apisixroutehttpmatchexpr)
Field | Description |
---|---|
subject ApisixRouteHTTPMatchExprSubject | Subject is the expression subject, it can be any string composed by literals and nginx vars. |
op string | Op is the operator. |
set string array | Set is an array type object of the expression. It should be used when the Op is "in" or "not_in"; |
value string | Value is the normal type object for the expression, it should be used when the Op is not "in" and "not_in". Set and Value are exclusive so only of them can be set in the same time. |
Appears in:
#
ApisixRoutePluginApisixRoutePlugin represents an APISIX plugin.
Field | Description |
---|---|
name string | The plugin name. |
enable boolean | Whether this plugin is in use, default is true. |
config JSON | Plugin configuration. |
secretRef string | Plugin configuration secretRef. |
Appears in:
#
ApisixRouteSpecApisixRouteSpec is the spec definition for ApisixRouteSpec.
Field | Description |
---|---|
ingressClassName string | |
http ApisixRouteHTTP array | |
stream ApisixRouteStream array |
Appears in:
#
ApisixRouteStreamApisixRouteStream is the configuration for level 4 route
Field | Description |
---|---|
name string | The rule name cannot be empty. |
protocol string | |
match ApisixRouteStreamMatch | |
backend ApisixRouteStreamBackend | |
plugins ApisixRoutePlugin array |
Appears in:
#
ApisixRouteStreamBackendApisixRouteStreamBackend represents a TCP backend (a Kubernetes Service).
Field | Description |
---|---|
serviceName string | The name (short) of the service, note cross namespace is forbidden, so be sure the ApisixRoute and Service are in the same namespace. |
servicePort IntOrString | The service port, could be the name or the port number. |
resolveGranularity string | The resolve granularity, can be "endpoints" or "service", when set to "endpoints", the pod ips will be used; other wise, the service ClusterIP or ExternalIP will be used, default is endpoints. |
subset string | Subset specifies a subset for the target Service. The subset should be pre-defined in ApisixUpstream about this service. |
Appears in:
#
ApisixRouteStreamMatchApisixRouteStreamMatch represents the match conditions of stream route.
Field | Description |
---|---|
ingressPort integer | IngressPort represents the port listening on the Ingress proxy server. It should be pre-defined as APISIX doesn't support dynamic listening. |
host string |
Appears in:
#
ApisixRouteUpstreamReferenceApisixRouteUpstreamReference contains a ApisixUpstream CRD reference
Field | Description |
---|---|
name string | |
weight integer |
Appears in:
#
ApisixSecretApisixSecret describes the Kubernetes Secret name and namespace.
Field | Description |
---|---|
name string | |
namespace string |
Appears in:
#
ApisixTlsSpecApisixTlsSpec defines the desired state of ApisixTls.
Field | Description |
---|---|
ingressClassName string | IngressClassName is the name of an IngressClass cluster resource. controller implementations use this field to know whether they should be serving this ApisixTls resource, by a transitive connection (controller -> IngressClass -> ApisixTls resource). |
hosts HostType array | |
secret ApisixSecret | |
client ApisixMutualTlsClientConfig |
Appears in:
#
ApisixUpstreamConfigApisixUpstreamConfig contains rich features on APISIX Upstream, for instance load balancer, health check, etc.
Field | Description |
---|---|
loadbalancer LoadBalancer | LoadBalancer represents the load balancer configuration for Kubernetes Service. The default strategy is round robin. |
scheme string | The scheme used to talk with the upstream. Now value can be http, grpc. |
retries integer | How many times that the proxy (Apache APISIX) should do when errors occur (error, timeout or bad http status codes like 500, 502). |
timeout UpstreamTimeout | Timeout settings for the read, send and connect to the upstream. |
healthCheck HealthCheck | Deprecated: this is no longer support on standalone mode. The health check configurations for the upstream. |
tlsSecret ApisixSecret | Set the client certificate when connecting to TLS upstream. |
subsets ApisixUpstreamSubset array | Subsets groups the service endpoints by their labels. Usually used to differentiate service versions. |
passHost string | Configures the host when the request is forwarded to the upstream. Can be one of pass, node or rewrite. |
upstreamHost string | Specifies the host of the Upstream request. This is only valid if the pass_host is set to rewrite |
discovery Discovery | Deprecated: this is no longer support on standalone mode. Discovery is used to configure service discovery for upstream. |
Appears in:
#
ApisixUpstreamExternalNodeApisixUpstreamExternalNode is the external node conf
Field | Description |
---|---|
name string | |
type ApisixUpstreamExternalType | |
weight integer | |
port integer | Port defines the port of the external node |
Appears in:
#
ApisixUpstreamExternalTypeBase type: string
ApisixUpstreamExternalType is the external service type
Appears in:
#
ApisixUpstreamSpecApisixUpstreamSpec describes the specification of ApisixUpstream.
Field | Description |
---|---|
ingressClassName string | IngressClassName is the name of an IngressClass cluster resource. controller implementations use this field to know whether they should be serving this ApisixUpstream resource, by a transitive connection (controller -> IngressClass -> ApisixUpstream resource). |
externalNodes ApisixUpstreamExternalNode array | ExternalNodes contains external nodes the Upstream should use If this field is set, the upstream will use these nodes directly without any further resolves |
loadbalancer LoadBalancer | LoadBalancer represents the load balancer configuration for Kubernetes Service. The default strategy is round robin. |
scheme string | The scheme used to talk with the upstream. Now value can be http, grpc. |
retries integer | How many times that the proxy (Apache APISIX) should do when errors occur (error, timeout or bad http status codes like 500, 502). |
timeout UpstreamTimeout | Timeout settings for the read, send and connect to the upstream. |
healthCheck HealthCheck | Deprecated: this is no longer support on standalone mode. The health check configurations for the upstream. |
tlsSecret ApisixSecret | Set the client certificate when connecting to TLS upstream. |
subsets ApisixUpstreamSubset array | Subsets groups the service endpoints by their labels. Usually used to differentiate service versions. |
passHost string | Configures the host when the request is forwarded to the upstream. Can be one of pass, node or rewrite. |
upstreamHost string | Specifies the host of the Upstream request. This is only valid if the pass_host is set to rewrite |
discovery Discovery | Deprecated: this is no longer support on standalone mode. Discovery is used to configure service discovery for upstream. |
portLevelSettings PortLevelSettings array |
Appears in:
#
ApisixUpstreamSubsetApisixUpstreamSubset defines a single endpoints group of one Service.
Field | Description |
---|---|
name string | Name is the name of subset. |
labels object (keys:string, values:string) | Labels is the label set of this subset. |
Appears in:
#
DiscoveryDiscovery defines Service discovery related configuration.
Field | Description |
---|---|
serviceName string | |
type string | |
args object (keys:string, values:string) |
Appears in:
#
HealthCheckHealthCheck describes the upstream health check parameters.
Field | Description |
---|---|
active ActiveHealthCheck | |
passive PassiveHealthCheck |
Appears in:
#
HostTypeBase type: string
Appears in:
#
LoadBalancerLoadBalancer describes the load balancing parameters.
Field | Description |
---|---|
type string | |
hashOn string | The HashOn and Key fields are required when Type is "chash". HashOn represents the key fetching scope. |
key string | Key represents the hash key. |
Appears in:
#
PassiveHealthCheckPassiveHealthCheck defines the conditions to judge whether an upstream node is healthy with the passive manager.
Field | Description |
---|---|
type string | |
healthy PassiveHealthCheckHealthy | |
unhealthy PassiveHealthCheckUnhealthy |
Appears in:
#
PassiveHealthCheckHealthyPassiveHealthCheckHealthy defines the conditions to judge whether an upstream node is healthy with the passive manner.
Field | Description |
---|---|
httpCodes integer array | |
successes integer |
Appears in:
#
PassiveHealthCheckUnhealthyPassiveHealthCheckUnhealthy defines the conditions to judge whether an upstream node is unhealthy with the passive manager.
Field | Description |
---|---|
httpCodes integer array | |
httpFailures integer | |
tcpFailures integer | |
timeout integer |
Appears in:
#
PortLevelSettingsPortLevelSettings configures the ApisixUpstreamConfig for each individual port. It inherits configurations from the outer level (the whole Kubernetes Service) and overrides some of them if they are set on the port level.
Field | Description |
---|---|
loadbalancer LoadBalancer | LoadBalancer represents the load balancer configuration for Kubernetes Service. The default strategy is round robin. |
scheme string | The scheme used to talk with the upstream. Now value can be http, grpc. |
retries integer | How many times that the proxy (Apache APISIX) should do when errors occur (error, timeout or bad http status codes like 500, 502). |
timeout UpstreamTimeout | Timeout settings for the read, send and connect to the upstream. |
healthCheck HealthCheck | Deprecated: this is no longer support on standalone mode. The health check configurations for the upstream. |
tlsSecret ApisixSecret | Set the client certificate when connecting to TLS upstream. |
subsets ApisixUpstreamSubset array | Subsets groups the service endpoints by their labels. Usually used to differentiate service versions. |
passHost string | Configures the host when the request is forwarded to the upstream. Can be one of pass, node or rewrite. |
upstreamHost string | Specifies the host of the Upstream request. This is only valid if the pass_host is set to rewrite |
discovery Discovery | Deprecated: this is no longer support on standalone mode. Discovery is used to configure service discovery for upstream. |
port integer | Port is a Kubernetes Service port, it should be already defined. |
Appears in:
#
UpstreamTimeoutUpstreamTimeout is settings for the read, send and connect to the upstream.
Field | Description |
---|---|
connect Duration | |
send Duration | |
read Duration |
Appears in: