v1

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

+groupName=apisix.apache.org

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.

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.

Index

Constants

This section is empty.

Variables

View Source
var (
	SchemeGroupVersion = schema.GroupVersion{
		Group:   _groupName,
		Version: _version,
	}
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)

Functions

func Kind

func Kind(kind string) schema.GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Types

type ActiveHealthCheck added in v0.4.0

type ActiveHealthCheck struct {
	Type           string                      `json:"type,omitempty" yaml:"type,omitempty"`
	Timeout        time.Duration               `json:"timeout,omitempty" yaml:"timeout,omitempty"`
	Concurrency    int                         `json:"concurrency,omitempty" yaml:"concurrency,omitempty"`
	Host           string                      `json:"host,omitempty" yaml:"host,omitempty"`
	Port           int32                       `json:"port,omitempty" yaml:"port,omitempty"`
	HTTPPath       string                      `json:"httpPath,omitempty" yaml:"httpPath,omitempty"`
	StrictTLS      *bool                       `json:"strictTLS,omitempty" yaml:"strictTLS,omitempty"`
	RequestHeaders []string                    `json:"requestHeaders,omitempty" yaml:"requestHeaders,omitempty"`
	Healthy        *ActiveHealthCheckHealthy   `json:"healthy,omitempty" yaml:"healthy,omitempty"`
	Unhealthy      *ActiveHealthCheckUnhealthy `json:"unhealthy,omitempty" yaml:"unhealthy,omitempty"`
}

ActiveHealthCheck defines the active kind of upstream health check.

func (*ActiveHealthCheck) DeepCopy added in v0.4.0

func (in *ActiveHealthCheck) DeepCopy() *ActiveHealthCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveHealthCheck.

func (*ActiveHealthCheck) DeepCopyInto added in v0.4.0

func (in *ActiveHealthCheck) DeepCopyInto(out *ActiveHealthCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActiveHealthCheckHealthy added in v0.4.0

type ActiveHealthCheckHealthy struct {
	PassiveHealthCheckHealthy `json:",inline" yaml:",inline"`

	Interval metav1.Duration `json:"interval,omitempty" yaml:"interval,omitempty"`
}

ActiveHealthCheckHealthy defines the conditions to judge whether an upstream node is healthy with the active manner.

func (*ActiveHealthCheckHealthy) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveHealthCheckHealthy.

func (*ActiveHealthCheckHealthy) DeepCopyInto added in v0.4.0

func (in *ActiveHealthCheckHealthy) DeepCopyInto(out *ActiveHealthCheckHealthy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActiveHealthCheckUnhealthy added in v0.4.0

type ActiveHealthCheckUnhealthy struct {
	PassiveHealthCheckUnhealthy `json:",inline" yaml:",inline"`

	Interval metav1.Duration `json:"interval,omitempty" yaml:"interval,omitempty"`
}

ActiveHealthCheckUnhealthy defines the conditions to judge whether an upstream node is unhealthy with the active manager.

func (*ActiveHealthCheckUnhealthy) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveHealthCheckUnhealthy.

func (*ActiveHealthCheckUnhealthy) DeepCopyInto added in v0.4.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixMutualTlsClientConfig added in v1.0.0

type ApisixMutualTlsClientConfig struct {
	CASecret ApisixSecret `json:"caSecret,omitempty" yaml:"caSecret,omitempty"`
	Depth    int          `json:"depth,omitempty" yaml:"depth,omitempty"`
}

ApisixMutualTlsClientConfig describes the mutual TLS CA and verify depth

func (*ApisixMutualTlsClientConfig) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixMutualTlsClientConfig.

func (*ApisixMutualTlsClientConfig) DeepCopyInto added in v1.0.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixRoute

type ApisixRoute struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec              *ApisixRouteSpec `json:"spec,omitempty" yaml:"spec,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object ApisixRoute is used to define the route rules and upstreams for Apache APISIX. The definition closes the Kubernetes Ingress resource. +kubebuilder:resource:shortName=ar +kubebuilder:pruning:PreserveUnknownFields

func (*ApisixRoute) DeepCopy

func (in *ApisixRoute) DeepCopy() *ApisixRoute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixRoute.

func (*ApisixRoute) DeepCopyInto

func (in *ApisixRoute) DeepCopyInto(out *ApisixRoute)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApisixRoute) DeepCopyObject

func (in *ApisixRoute) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApisixRouteList

type ApisixRouteList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata" yaml:"metadata"`
	Items           []ApisixRoute `json:"items,omitempty" yaml:"items,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApisixRouteList) DeepCopy

func (in *ApisixRouteList) DeepCopy() *ApisixRouteList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixRouteList.

func (*ApisixRouteList) DeepCopyInto

func (in *ApisixRouteList) DeepCopyInto(out *ApisixRouteList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApisixRouteList) DeepCopyObject

func (in *ApisixRouteList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApisixRouteSpec

type ApisixRouteSpec struct {
	Rules []Rule `json:"rules,omitempty" yaml:"rules,omitempty"`
}

ApisixRouteSpec is the spec definition for ApisixRouteSpec.

func (*ApisixRouteSpec) DeepCopy

func (in *ApisixRouteSpec) DeepCopy() *ApisixRouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixRouteSpec.

func (*ApisixRouteSpec) DeepCopyInto

func (in *ApisixRouteSpec) DeepCopyInto(out *ApisixRouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixSecret

type ApisixSecret struct {
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Name string `json:"name" yaml:"name"`
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace" yaml:"namespace"`
}

ApisixSecret describes the Kubernetes Secret name and namespace.

func (*ApisixSecret) DeepCopy

func (in *ApisixSecret) DeepCopy() *ApisixSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixSecret.

func (*ApisixSecret) DeepCopyInto

func (in *ApisixSecret) DeepCopyInto(out *ApisixSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixTls

type ApisixTls struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec              *ApisixTlsSpec `json:"spec,omitempty" yaml:"spec,omitempty"`
	// +optional
	Status v2alpha1.ApisixStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:shortName=atls +kubebuilder:subresource:status ApisixTls defines SSL resource in APISIX.

func (*ApisixTls) DeepCopy

func (in *ApisixTls) DeepCopy() *ApisixTls

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixTls.

func (*ApisixTls) DeepCopyInto

func (in *ApisixTls) DeepCopyInto(out *ApisixTls)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApisixTls) DeepCopyObject

func (in *ApisixTls) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApisixTlsList

type ApisixTlsList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata" yaml:"metadata"`
	Items           []ApisixTls `json:"items,omitempty" yaml:"items,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:printcolumn:name="SNIs",type=string,JSONPath=`.spec.hosts` +kubebuilder:printcolumn:name="Secret Name",type=string,JSONPath=`.spec.secret.name` +kubebuilder:printcolumn:name="Secret Namespace",type=string,JSONPath=`.spec.secret.namespace` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Client CA Secret Name",type=string,JSONPath=`.spec.client.ca.name` +kubebuilder:printcolumn:name="Client CA Secret Namespace",type=string,JSONPath=`.spec.client.ca.namespace`

func (*ApisixTlsList) DeepCopy

func (in *ApisixTlsList) DeepCopy() *ApisixTlsList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixTlsList.

func (*ApisixTlsList) DeepCopyInto

func (in *ApisixTlsList) DeepCopyInto(out *ApisixTlsList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApisixTlsList) DeepCopyObject

func (in *ApisixTlsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApisixTlsSpec

type ApisixTlsSpec struct {
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Hosts []HostType `json:"hosts" yaml:"hosts,omitempty"`
	// +required
	// +kubebuilder:validation:Required
	Secret ApisixSecret `json:"secret" yaml:"secret"`
	// +optional
	Client *ApisixMutualTlsClientConfig `json:"client,omitempty" yaml:"client,omitempty"`
}

ApisixTlsSpec is the specification of ApisixSSL.

func (*ApisixTlsSpec) DeepCopy

func (in *ApisixTlsSpec) DeepCopy() *ApisixTlsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixTlsSpec.

func (*ApisixTlsSpec) DeepCopyInto

func (in *ApisixTlsSpec) DeepCopyInto(out *ApisixTlsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixUpstream

type ApisixUpstream struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	Spec   *ApisixUpstreamSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status v2alpha1.ApisixStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status ApisixUpstream is a decorator for Kubernetes Service, it arms the Service with rich features like health check, retry policies, load balancer and others. It's designed to have same name with the Kubernetes Service and can be customized for individual port.

func (*ApisixUpstream) DeepCopy

func (in *ApisixUpstream) DeepCopy() *ApisixUpstream

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixUpstream.

func (*ApisixUpstream) DeepCopyInto

func (in *ApisixUpstream) DeepCopyInto(out *ApisixUpstream)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApisixUpstream) DeepCopyObject

func (in *ApisixUpstream) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApisixUpstreamConfig added in v0.4.0

type ApisixUpstreamConfig struct {
	// LoadBalancer represents the load balancer configuration for Kubernetes Service.
	// The default strategy is round robin.
	// +optional
	LoadBalancer *LoadBalancer `json:"loadbalancer,omitempty" yaml:"loadbalancer,omitempty"`
	// The scheme used to talk with the upstream.
	// Now value can be http, grpc.
	// +optional
	Scheme string `json:"scheme,omitempty" yaml:"scheme,omitempty"`

	// How many times that the proxy (Apache APISIX) should do when
	// errors occur (error, timeout or bad http status codes like 500, 502).
	// +optional
	Retries *int `json:"retries,omitempty" yaml:"retries,omitempty"`

	// Timeout settings for the read, send and connect to the upstream.
	// +optional
	Timeout *UpstreamTimeout `json:"timeout,omitempty" yaml:"timeout,omitempty"`

	// The health check configurations for the upstream.
	// +optional
	HealthCheck *HealthCheck `json:"healthCheck,omitempty" yaml:"healthCheck,omitempty"`
	// Subsets groups the service endpoints by their labels. Usually used to differentiate
	// service versions.
	// +optional
	Subsets []ApisixUpstreamSubset `json:"subsets,omitempty" yaml:"subsets,omitempty"`
}

ApisixUpstreamConfig contains rich features on APISIX Upstream, for instance load balancer, health check and etc.

func (*ApisixUpstreamConfig) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixUpstreamConfig.

func (*ApisixUpstreamConfig) DeepCopyInto added in v0.4.0

func (in *ApisixUpstreamConfig) DeepCopyInto(out *ApisixUpstreamConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixUpstreamList

type ApisixUpstreamList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata" yaml:"metadata"`
	Items           []ApisixUpstream `json:"items,omitempty" yaml:"items,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApisixUpstreamList) DeepCopy

func (in *ApisixUpstreamList) DeepCopy() *ApisixUpstreamList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixUpstreamList.

func (*ApisixUpstreamList) DeepCopyInto

func (in *ApisixUpstreamList) DeepCopyInto(out *ApisixUpstreamList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ApisixUpstreamList) DeepCopyObject

func (in *ApisixUpstreamList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ApisixUpstreamSpec

type ApisixUpstreamSpec struct {
	ApisixUpstreamConfig `json:",inline" yaml:",inline"`

	PortLevelSettings []PortLevelSettings `json:"portLevelSettings,omitempty" yaml:"portLevelSettings,omitempty"`
}

ApisixUpstreamSpec describes the specification of ApisixUpstream.

func (*ApisixUpstreamSpec) DeepCopy

func (in *ApisixUpstreamSpec) DeepCopy() *ApisixUpstreamSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixUpstreamSpec.

func (*ApisixUpstreamSpec) DeepCopyInto

func (in *ApisixUpstreamSpec) DeepCopyInto(out *ApisixUpstreamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ApisixUpstreamSubset added in v1.0.0

type ApisixUpstreamSubset struct {
	// Name is the name of subset.
	Name string `json:"name" yaml:"name"`
	// Labels is the label set of this subset.
	Labels map[string]string `json:"labels" yaml:"labels"`
}

ApisixUpstreamSubset defines a single endpoints group of one Service.

func (*ApisixUpstreamSubset) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApisixUpstreamSubset.

func (*ApisixUpstreamSubset) DeepCopyInto added in v1.0.0

func (in *ApisixUpstreamSubset) DeepCopyInto(out *ApisixUpstreamSubset)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Backend

type Backend struct {
	ServiceName string `json:"serviceName,omitempty" yaml:"serviceName,omitempty"`
	ServicePort int    `json:"servicePort,omitempty" yaml:"servicePort,omitempty"`
}

Backend defines an upstream, it should be an existing Kubernetes Service. Note the Service should be in the same namespace with ApisixRoute resource, i.e. cross namespacing is not allowed.

func (*Backend) DeepCopy

func (in *Backend) DeepCopy() *Backend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.

func (*Backend) DeepCopyInto

func (in *Backend) DeepCopyInto(out *Backend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Config

type Config map[string]interface{}

func (*Config) DeepCopy

func (p *Config) DeepCopy() *Config

func (Config) DeepCopyInto

func (p Config) DeepCopyInto(out *Config)

type ConfigSet

type ConfigSet []interface{}

func (*ConfigSet) DeepCopy

func (p *ConfigSet) DeepCopy() *ConfigSet

func (ConfigSet) DeepCopyInto

func (p ConfigSet) DeepCopyInto(out *ConfigSet)

type HealthCheck added in v0.4.0

type HealthCheck struct {
	Active  *ActiveHealthCheck  `json:"active" yaml:"active"`
	Passive *PassiveHealthCheck `json:"passive,omitempty" yaml:"passive,omitempty"`
}

HealthCheck describes the upstream health check parameters.

func (*HealthCheck) DeepCopy added in v0.4.0

func (in *HealthCheck) DeepCopy() *HealthCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.

func (*HealthCheck) DeepCopyInto added in v0.4.0

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HostType added in v1.0.0

type HostType string

+kubebuilder:validation:Pattern="^\\*?[0-9a-zA-Z-.]+$"

type Http

type Http struct {
	Paths []Path `json:"paths,omitempty" yaml:"paths,omitempty"`
}

Http represents all route rules in HTTP scope.

func (*Http) DeepCopy

func (in *Http) DeepCopy() *Http

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Http.

func (*Http) DeepCopyInto

func (in *Http) DeepCopyInto(out *Http)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LoadBalancer

type LoadBalancer struct {
	Type string `json:"type" yaml:"type"`
	// The HashOn and Key fields are required when Type is "chash".
	// HashOn represents the key fetching scope.
	HashOn string `json:"hashOn,omitempty" yaml:"hashOn,omitempty"`
	// Key represents the hash key.
	Key string `json:"key,omitempty" yaml:"key,omitempty"`
}

LoadBalancer describes the load balancing parameters.

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PassiveHealthCheck added in v0.4.0

type PassiveHealthCheck struct {
	Type      string                       `json:"type,omitempty" yaml:"type,omitempty"`
	Healthy   *PassiveHealthCheckHealthy   `json:"healthy,omitempty" yaml:"healthy,omitempty"`
	Unhealthy *PassiveHealthCheckUnhealthy `json:"unhealthy,omitempty" yaml:"unhealthy,omitempty"`
}

PassiveHealthCheck defines the conditions to judge whether an upstream node is healthy with the passive manager.

func (*PassiveHealthCheck) DeepCopy added in v0.4.0

func (in *PassiveHealthCheck) DeepCopy() *PassiveHealthCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassiveHealthCheck.

func (*PassiveHealthCheck) DeepCopyInto added in v0.4.0

func (in *PassiveHealthCheck) DeepCopyInto(out *PassiveHealthCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PassiveHealthCheckHealthy added in v0.4.0

type PassiveHealthCheckHealthy struct {
	HTTPCodes []int `json:"httpCodes,omitempty" yaml:"httpCodes,omitempty"`
	Successes int   `json:"successes,omitempty" yaml:"successes,omitempty"`
}

PassiveHealthCheckHealthy defines the conditions to judge whether an upstream node is healthy with the passive manner.

func (*PassiveHealthCheckHealthy) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassiveHealthCheckHealthy.

func (*PassiveHealthCheckHealthy) DeepCopyInto added in v0.4.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PassiveHealthCheckUnhealthy added in v0.4.0

type PassiveHealthCheckUnhealthy struct {
	HTTPCodes    []int `json:"httpCodes,omitempty" yaml:"httpCodes,omitempty"`
	HTTPFailures int   `json:"httpFailures,omitempty" yaml:"http_failures,omitempty"`
	TCPFailures  int   `json:"tcpFailures,omitempty" yaml:"tcpFailures,omitempty"`
	Timeouts     int   `json:"timeout,omitempty" yaml:"timeout,omitempty"`
}

PassiveHealthCheckUnhealthy defines the conditions to judge whether an upstream node is unhealthy with the passive manager.

func (*PassiveHealthCheckUnhealthy) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassiveHealthCheckUnhealthy.

func (*PassiveHealthCheckUnhealthy) DeepCopyInto added in v0.4.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Path

type Path struct {
	Path    string           `json:"path,omitempty" yaml:"path,omitempty"`
	Backend Backend          `json:"backend,omitempty" yaml:"backend,omitempty"`
	Timeout *UpstreamTimeout `json:"timeout,omitempty" yaml:"timeout,omitempty"`
	Plugins []Plugin         `json:"plugins,omitempty" yaml:"plugins,omitempty"`
}

Path defines an URI based route rule.

func (*Path) DeepCopy

func (in *Path) DeepCopy() *Path

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Path.

func (*Path) DeepCopyInto

func (in *Path) DeepCopyInto(out *Path)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Plugin

type Plugin struct {
	Name      string    `json:"name,omitempty" yaml:"name,omitempty"`
	Enable    bool      `json:"enable,omitempty" yaml:"enable,omitempty"`
	Config    Config    `json:"config,omitempty" yaml:"config,omitempty"`
	ConfigSet ConfigSet `json:"config_set,omitempty" yaml:"config_set,omitempty"`
}

func (*Plugin) DeepCopy

func (in *Plugin) DeepCopy() *Plugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.

func (*Plugin) DeepCopyInto

func (in *Plugin) DeepCopyInto(out *Plugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PortLevelSettings added in v0.4.0

type PortLevelSettings struct {
	ApisixUpstreamConfig `json:",inline" yaml:",inline"`

	// Port is a Kubernetes Service port, it should be already defined.
	Port int32 `json:"port" yaml:"port"`
}

PortLevelSettings 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.

func (*PortLevelSettings) DeepCopy added in v0.4.0

func (in *PortLevelSettings) DeepCopy() *PortLevelSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortLevelSettings.

func (*PortLevelSettings) DeepCopyInto added in v0.4.0

func (in *PortLevelSettings) DeepCopyInto(out *PortLevelSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Rule

type Rule struct {
	Host string `json:"host,omitempty" yaml:"host,omitempty"`
	Http Http   `json:"http,omitempty" yaml:"http,omitempty"`
}

Rule represents a single route rule in ApisixRoute.

func (*Rule) DeepCopy

func (in *Rule) DeepCopy() *Rule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.

func (*Rule) DeepCopyInto

func (in *Rule) DeepCopyInto(out *Rule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpstreamTimeout added in v0.4.0

type UpstreamTimeout struct {
	Connect metav1.Duration `json:"connect,omitempty" yaml:"connect,omitempty"`
	Send    metav1.Duration `json:"send,omitempty" yaml:"send,omitempty"`
	Read    metav1.Duration `json:"read,omitempty" yaml:"read,omitempty"`
}

UpstreamTimeout is settings for the read, send and connect to the upstream.

func (*UpstreamTimeout) DeepCopy added in v0.4.0

func (in *UpstreamTimeout) DeepCopy() *UpstreamTimeout

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamTimeout.

func (*UpstreamTimeout) DeepCopyInto added in v0.4.0

func (in *UpstreamTimeout) DeepCopyInto(out *UpstreamTimeout)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL