dynamic_forward_proxyv3

package
v0.0.0-...-cae1a60 Latest Latest
Warning

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

Go to latest
Published: May 13, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

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

func (x *ClusterConfig) GetAllowCoalescedConnections() bool

func (*ClusterConfig) GetAllowInsecureClusterOptions

func (x *ClusterConfig) GetAllowInsecureClusterOptions() bool

func (*ClusterConfig) GetClusterImplementationSpecifier

func (m *ClusterConfig) GetClusterImplementationSpecifier() isClusterConfig_ClusterImplementationSpecifier

func (*ClusterConfig) GetDnsCacheConfig

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

func (*ClusterConfig) GetSubClustersConfig

func (x *ClusterConfig) GetSubClustersConfig() *SubClustersConfig

func (*ClusterConfig) ProtoMessage

func (*ClusterConfig) ProtoMessage()

func (*ClusterConfig) ProtoReflect

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

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

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

func (m ClusterConfigMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (ClusterConfigMultiError) Error

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

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

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

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 *wrapperspb.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 *durationpb.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

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

Deprecated: Use SubClustersConfig.ProtoReflect.Descriptor instead.

func (*SubClustersConfig) GetLbPolicy

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

func (*SubClustersConfig) GetMaxSubClusters

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

func (*SubClustersConfig) GetPreresolveClusters

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

func (*SubClustersConfig) GetSubClusterTtl

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

func (*SubClustersConfig) ProtoMessage

func (*SubClustersConfig) ProtoMessage()

func (*SubClustersConfig) ProtoReflect

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

func (*SubClustersConfig) Reset

func (x *SubClustersConfig) Reset()

func (*SubClustersConfig) String

func (x *SubClustersConfig) String() string

func (*SubClustersConfig) Validate

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

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

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

func (m SubClustersConfigMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (SubClustersConfigMultiError) Error

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

type SubClustersConfigValidationError

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

Cause function returns cause value.

func (SubClustersConfigValidationError) Error

Error satisfies the builtin error interface

func (SubClustersConfigValidationError) ErrorName

ErrorName returns error name.

func (SubClustersConfigValidationError) Field

Field function returns field value.

func (SubClustersConfigValidationError) Key

Key function returns key value.

func (SubClustersConfigValidationError) Reason

Reason function returns reason value.

Jump to

Keyboard shortcuts

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