dynamic_forward_proxyv3

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: May 28, 2023 License: Apache-2.0 Imports: 23 Imported by: 16

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ClusterConfig

type ClusterConfig struct {

	// Types that are assignable to ClusterImplementationSpecifier:
	//	*ClusterConfig_DnsCacheConfig
	//	*ClusterConfig_SubClustersConfig
	ClusterImplementationSpecifier isClusterConfig_ClusterImplementationSpecifier `protobuf_oneof:"cluster_implementation_specifier"`
	// If true allow the cluster configuration to disable the auto_sni and auto_san_validation options
	// in the :ref:`cluster's upstream_http_protocol_options
	// <envoy_v3_api_field_config.cluster.v3.Cluster.upstream_http_protocol_options>`
	AllowInsecureClusterOptions bool `` /* 147-byte string literal not displayed */
	// If true allow HTTP/2 and HTTP/3 connections to be reused for requests to different
	// origins than the connection was initially created for. This will only happen when the
	// resolved address for the new connection matches the peer address of the connection and
	// the TLS certificate is also valid for the new hostname. For example, if a connection
	// has previously been established to foo.example.com at IP 1.2.3.4 with a certificate
	// that is valid for `*.example.com`, then this connection could be used for requests to
	// bar.example.com if that also resolved to 1.2.3.4.
	//
	// .. note::
	//   By design, this feature will maximize reuse of connections. This means that instead
	//   opening a new connection when an existing connection reaches the maximum number of
	//   concurrent streams, requests will instead be sent to the existing connection.
	//
	// .. note::
	//   The coalesced connections might be to upstreams that would not be otherwise
	//   selected by Envoy. See the section `Connection Reuse in RFC 7540
	//   <https://datatracker.ietf.org/doc/html/rfc7540#section-9.1.1>`_
	//
	AllowCoalescedConnections bool `` /* 139-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for the dynamic forward proxy cluster. See the :ref:`architecture overview <arch_overview_http_dynamic_forward_proxy>` for more information. [#extension: envoy.clusters.dynamic_forward_proxy]

func (*ClusterConfig) Descriptor deprecated

func (*ClusterConfig) Descriptor() ([]byte, []int)

Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead.

func (*ClusterConfig) GetAllowCoalescedConnections added in v0.10.0

func (x *ClusterConfig) GetAllowCoalescedConnections() bool

func (*ClusterConfig) GetAllowInsecureClusterOptions added in v0.9.6

func (x *ClusterConfig) GetAllowInsecureClusterOptions() bool

func (*ClusterConfig) GetClusterImplementationSpecifier added in v0.11.1

func (m *ClusterConfig) GetClusterImplementationSpecifier() isClusterConfig_ClusterImplementationSpecifier

func (*ClusterConfig) GetDnsCacheConfig

func (x *ClusterConfig) GetDnsCacheConfig() *v3.DnsCacheConfig

func (*ClusterConfig) GetSubClustersConfig added in v0.11.1

func (x *ClusterConfig) GetSubClustersConfig() *SubClustersConfig

func (*ClusterConfig) ProtoMessage

func (*ClusterConfig) ProtoMessage()

func (*ClusterConfig) ProtoReflect added in v0.9.6

func (x *ClusterConfig) ProtoReflect() protoreflect.Message

func (*ClusterConfig) Reset

func (x *ClusterConfig) Reset()

func (*ClusterConfig) String

func (x *ClusterConfig) String() string

func (*ClusterConfig) Validate

func (m *ClusterConfig) Validate() error

Validate checks the field values on ClusterConfig with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*ClusterConfig) ValidateAll added in v0.10.0

func (m *ClusterConfig) ValidateAll() error

ValidateAll checks the field values on ClusterConfig with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in ClusterConfigMultiError, or nil if none found.

type ClusterConfigMultiError added in v0.10.0

type ClusterConfigMultiError []error

ClusterConfigMultiError is an error wrapping multiple validation errors returned by ClusterConfig.ValidateAll() if the designated constraints aren't met.

func (ClusterConfigMultiError) AllErrors added in v0.10.0

func (m ClusterConfigMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (ClusterConfigMultiError) Error added in v0.10.0

func (m ClusterConfigMultiError) Error() string

Error returns a concatenation of all the error messages it wraps.

type ClusterConfigValidationError

type ClusterConfigValidationError struct {
	// contains filtered or unexported fields
}

ClusterConfigValidationError is the validation error returned by ClusterConfig.Validate if the designated constraints aren't met.

func (ClusterConfigValidationError) Cause

Cause function returns cause value.

func (ClusterConfigValidationError) Error

Error satisfies the builtin error interface

func (ClusterConfigValidationError) ErrorName

func (e ClusterConfigValidationError) ErrorName() string

ErrorName returns error name.

func (ClusterConfigValidationError) Field

Field function returns field value.

func (ClusterConfigValidationError) Key

Key function returns key value.

func (ClusterConfigValidationError) Reason

Reason function returns reason value.

type ClusterConfig_DnsCacheConfig added in v0.11.1

type ClusterConfig_DnsCacheConfig struct {
	// The DNS cache configuration that the cluster will attach to. Note this configuration must
	// match that of associated :ref:`dynamic forward proxy HTTP filter configuration
	// <envoy_v3_api_field_extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig.dns_cache_config>`.
	DnsCacheConfig *v3.DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3,oneof"`
}

type ClusterConfig_SubClustersConfig added in v0.11.1

type ClusterConfig_SubClustersConfig struct {
	// Configuration for sub clusters, when this configuration is enabled,
	// Envoy will create an independent sub cluster dynamically for each host:port.
	// Most of the configuration of a sub cluster is inherited from the current cluster,
	// i.e. health_checks, dns_resolvers and etc.
	// And the load_assignment will be set to the only one endpoint, host:port.
	//
	// Compared to the dns_cache_config, it has the following advantages:
	//
	// 1. sub clusters will be created with the STRICT_DNS DiscoveryType,
	//    so that Envoy will use all of the IPs resolved from the host.
	//
	// 2. each sub cluster is full featured cluster, with lb_policy and health check and etc enabled.
	//
	SubClustersConfig *SubClustersConfig `protobuf:"bytes,4,opt,name=sub_clusters_config,json=subClustersConfig,proto3,oneof"`
}

type SubClustersConfig added in v0.11.1

type SubClustersConfig struct {

	// The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
	// when picking a host in a sub cluster. Note that CLUSTER_PROVIDED is not allowed here.
	LbPolicy v31.Cluster_LbPolicy `` /* 132-byte string literal not displayed */
	// The maximum number of sub clusters that the DFP cluster will hold. If not specified defaults to 1024.
	MaxSubClusters *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_sub_clusters,json=maxSubClusters,proto3" json:"max_sub_clusters,omitempty"`
	// The TTL for sub clusters that are unused. Sub clusters that have not been used in the configured time
	// interval will be purged. If not specified defaults to 5m.
	SubClusterTtl *duration.Duration `protobuf:"bytes,3,opt,name=sub_cluster_ttl,json=subClusterTtl,proto3" json:"sub_cluster_ttl,omitempty"`
	// Sub clusters that should be created & warmed upon creation. This might provide a
	// performance improvement, in the form of cache hits, for sub clusters that are going to be
	// warmed during steady state and are known at config load time.
	PreresolveClusters []*v32.SocketAddress `protobuf:"bytes,4,rep,name=preresolve_clusters,json=preresolveClusters,proto3" json:"preresolve_clusters,omitempty"`
	// contains filtered or unexported fields
}

Configuration for sub clusters. Hard code STRICT_DNS cluster type now.

func (*SubClustersConfig) Descriptor deprecated added in v0.11.1

func (*SubClustersConfig) Descriptor() ([]byte, []int)

Deprecated: Use SubClustersConfig.ProtoReflect.Descriptor instead.

func (*SubClustersConfig) GetLbPolicy added in v0.11.1

func (x *SubClustersConfig) GetLbPolicy() v31.Cluster_LbPolicy

func (*SubClustersConfig) GetMaxSubClusters added in v0.11.1

func (x *SubClustersConfig) GetMaxSubClusters() *wrappers.UInt32Value

func (*SubClustersConfig) GetPreresolveClusters added in v0.11.1

func (x *SubClustersConfig) GetPreresolveClusters() []*v32.SocketAddress

func (*SubClustersConfig) GetSubClusterTtl added in v0.11.1

func (x *SubClustersConfig) GetSubClusterTtl() *duration.Duration

func (*SubClustersConfig) ProtoMessage added in v0.11.1

func (*SubClustersConfig) ProtoMessage()

func (*SubClustersConfig) ProtoReflect added in v0.11.1

func (x *SubClustersConfig) ProtoReflect() protoreflect.Message

func (*SubClustersConfig) Reset added in v0.11.1

func (x *SubClustersConfig) Reset()

func (*SubClustersConfig) String added in v0.11.1

func (x *SubClustersConfig) String() string

func (*SubClustersConfig) Validate added in v0.11.1

func (m *SubClustersConfig) Validate() error

Validate checks the field values on SubClustersConfig with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*SubClustersConfig) ValidateAll added in v0.11.1

func (m *SubClustersConfig) ValidateAll() error

ValidateAll checks the field values on SubClustersConfig with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in SubClustersConfigMultiError, or nil if none found.

type SubClustersConfigMultiError added in v0.11.1

type SubClustersConfigMultiError []error

SubClustersConfigMultiError is an error wrapping multiple validation errors returned by SubClustersConfig.ValidateAll() if the designated constraints aren't met.

func (SubClustersConfigMultiError) AllErrors added in v0.11.1

func (m SubClustersConfigMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (SubClustersConfigMultiError) Error added in v0.11.1

Error returns a concatenation of all the error messages it wraps.

type SubClustersConfigValidationError added in v0.11.1

type SubClustersConfigValidationError struct {
	// contains filtered or unexported fields
}

SubClustersConfigValidationError is the validation error returned by SubClustersConfig.Validate if the designated constraints aren't met.

func (SubClustersConfigValidationError) Cause added in v0.11.1

Cause function returns cause value.

func (SubClustersConfigValidationError) Error added in v0.11.1

Error satisfies the builtin error interface

func (SubClustersConfigValidationError) ErrorName added in v0.11.1

ErrorName returns error name.

func (SubClustersConfigValidationError) Field added in v0.11.1

Field function returns field value.

func (SubClustersConfigValidationError) Key added in v0.11.1

Key function returns key value.

func (SubClustersConfigValidationError) Reason added in v0.11.1

Reason function returns reason value.

Jump to

Keyboard shortcuts

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