@ -1,17 +1,17 @@
syntax = "proto3" ;
package envoy . config.cluster.v3alpha ;
import "envoy/config/cluster/v3alpha /circuit_breaker.proto" ;
import "envoy/config/cluster/v3alpha /filter.proto" ;
import "envoy/config/cluster/v3alpha /outlier_detection.proto" ;
import "envoy/config/core/v3alpha /address.proto" ;
import "envoy/config/core/v3alpha /base.proto" ;
import "envoy/config/core/v3alpha /config_source.proto" ;
import "envoy/config/core/v3alpha /health_check.proto" ;
import "envoy/config/core/v3alpha /protocol.proto" ;
import "envoy/config/endpoint/v3alpha /endpoint.proto" ;
import "envoy/type/v3alpha /percent.proto" ;
package envoy . config.cluster.v3 ;
import "envoy/config/cluster/v3/circuit_breaker.proto" ;
import "envoy/config/cluster/v3/filter.proto" ;
import "envoy/config/cluster/v3/outlier_detection.proto" ;
import "envoy/config/core/v3/address.proto" ;
import "envoy/config/core/v3/base.proto" ;
import "envoy/config/core/v3/config_source.proto" ;
import "envoy/config/core/v3/health_check.proto" ;
import "envoy/config/core/v3/protocol.proto" ;
import "envoy/config/endpoint/v3/endpoint.proto" ;
import "envoy/type/v3/percent.proto" ;
import "google/protobuf/any.proto" ;
import "google/protobuf/duration.proto" ;
@ -23,7 +23,7 @@ import "udpa/annotations/versioning.proto";
import "envoy/annotations/deprecation.proto" ;
import "validate/validate.proto" ;
option java_package = "io.envoyproxy.envoy.config.cluster.v3alpha " ;
option java_package = "io.envoyproxy.envoy.config.cluster.v3" ;
option java_outer_classname = "ClusterProto" ;
option java_multiple_files = true ;
@ -98,8 +98,8 @@ message Cluster {
CLUSTER_PROVIDED = 6 ;
/ / [ # not - implemented - hide : ] Use the new : ref : ` load_balancing_policy
/ / < envoy_api_field_config.cluster.v3alpha .Cluster.load_balancing_policy > ` field to determine
/ / the LB policy.
/ / < envoy_api_field_config.cluster.v3.Cluster.load_balancing_policy > ` field to determine the LB
/ / policy.
/ / [ # next - major - version : In the v3 API , we should consider deprecating the lb_policy field
/ / and instead using the new load_balancing_policy field as the one and only mechanism for
/ / configuring this. ]
@ -112,9 +112,8 @@ message Cluster {
/ / specified , the DNS resolver will first perform a lookup for addresses in
/ / the IPv6 family and fallback to a lookup for addresses in the IPv4 family.
/ / For cluster types other than
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.STRICT_DNS > `
/ / and
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > ` and
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / this setting is
/ / ignored.
enum DnsLookupFamily {
@ -126,8 +125,8 @@ message Cluster {
enum ClusterProtocolSelection {
/ / Cluster can only operate on one of the possible upstream protocols ( HTTP1.1 , HTTP2 ) .
/ / If : ref : ` http2_protocol_options
/ / < envoy_api_field_config.cluster.v3alpha .Cluster.http2_protocol_options > ` are present , HTTP2
/ / will be used , otherwise HTTP1.1 will be used.
/ / < envoy_api_field_config.cluster.v3.Cluster.http2_protocol_options > ` are present , HTTP2 will
/ / be used , otherwise HTTP1.1 will be used.
USE_CONFIGURED_PROTOCOL = 0 ;
/ / Use HTTP1.1 or HTTP2 , depending on which one is used on the downstream connection.
@ -151,7 +150,7 @@ message Cluster {
google.protobuf.Struct match = 2 ;
/ / The configuration of the transport socket.
core.v3alpha .TransportSocket transport_socket = 3 ;
core.v3.TransportSocket transport_socket = 3 ;
}
/ / Extended cluster type.
@ -173,7 +172,7 @@ message Cluster {
"envoy.api.v2.Cluster.EdsClusterConfig" ;
/ / Configuration for the source of EDS updates for this Cluster.
core.v3alpha .ConfigSource eds_config = 1 ;
core.v3.ConfigSource eds_config = 1 ;
/ / Optional alternative to cluster name to present to EDS. This does not
/ / have the same restrictions as cluster name , i.e. it may be arbitrary
@ -222,7 +221,7 @@ message Cluster {
/ / If KEYS_SUBSET is selected , subset selector matching is performed again with metadata
/ / keys reduced to
/ / : ref : ` fallback_keys_subset < envoy_api_field_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetSelector.fallback_keys_subset > ` .
/ / : ref : ` fallback_keys_subset < envoy_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.fallback_keys_subset > ` .
/ / It allows for a fallback to a different , less specific selector if some of the keys of
/ / the selector are considered optional .
KEYS_SUBSET = 4 ;
@ -237,31 +236,31 @@ message Cluster {
[ ( validate.rules ) . enum = { defined_only : true } ] ;
/ / Subset of
/ / : ref : ` keys < envoy_api_field_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetSelector.keys > `
/ / : ref : ` keys < envoy_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.keys > `
/ / used by
/ / : ref : ` KEYS_SUBSET < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.KEYS_SUBSET > `
/ / : ref : ` KEYS_SUBSET < envoy_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.LbSubsetSelectorFallbackPolicy.KEYS_SUBSET > `
/ / fallback policy.
/ / It has to be a non empty list if KEYS_SUBSET fallback policy is selected.
/ / For any other fallback policy the parameter is not used and should not be set.
/ / Only values also present in
/ / : ref : ` keys < envoy_api_field_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetSelector.keys > `
/ / : ref : ` keys < envoy_api_field_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetSelector.keys > `
/ / are allowed , but ` fallback_keys_subset ` cannot be equal to ` keys ` .
repeated string fallback_keys_subset = 3 ;
}
/ / The behavior used when no endpoint subset matches the selected route ' s
/ / metadata. The value defaults to
/ / : ref : ` NO_FALLBACK < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK > ` .
/ / : ref : ` NO_FALLBACK < envoy_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK > ` .
LbSubsetFallbackPolicy fallback_policy = 1 [ ( validate.rules ) . enum = { defined_only : true } ] ;
/ / Specifies the default subset of endpoints used during fallback if
/ / fallback_policy is
/ / : ref : ` DEFAULT_SUBSET < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET > ` .
/ / : ref : ` DEFAULT_SUBSET < envoy_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET > ` .
/ / Each field in default_subset is
/ / compared to the matching LbEndpoint.Metadata under the * envoy.lb *
/ / namespace. It is valid for no hosts to match , in which case the behavior
/ / is the same as a fallback_policy of
/ / : ref : ` NO_FALLBACK < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK > ` .
/ / : ref : ` NO_FALLBACK < envoy_api_enum_value_config.cluster.v3.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK > ` .
google.protobuf.Struct default_subset = 2 ;
/ / For each entry , LbEndpoint.Metadata ' s
@ -344,16 +343,16 @@ message Cluster {
/ / Minimum hash ring size. The larger the ring is ( that is , the more hashes there are for each
/ / provided host ) the better the request distribution will reflect the desired weights. Defaults
/ / to 1024 entries , and limited to 8 M entries. See also
/ / : ref : ` maximum_ring_size < envoy_api_field_config.cluster.v3alpha .Cluster.RingHashLbConfig.maximum_ring_size > ` .
/ / : ref : ` maximum_ring_size < envoy_api_field_config.cluster.v3.Cluster.RingHashLbConfig.maximum_ring_size > ` .
google.protobuf.UInt64Value minimum_ring_size = 1 [ ( validate.rules ) . uint64 = { lte : 8388608 } ] ;
/ / The hash function used to hash hosts onto the ketama ring. The value defaults to
/ / : ref : ` XX_HASH < envoy_api_enum_value_config.cluster.v3alpha .Cluster.RingHashLbConfig.HashFunction.XX_HASH > ` .
/ / : ref : ` XX_HASH < envoy_api_enum_value_config.cluster.v3.Cluster.RingHashLbConfig.HashFunction.XX_HASH > ` .
HashFunction hash_function = 3 [ ( validate.rules ) . enum = { defined_only : true } ] ;
/ / Maximum hash ring size. Defaults to 8 M entries , and limited to 8 M entries , but can be lowered
/ / to further constrain resource use. See also
/ / : ref : ` minimum_ring_size < envoy_api_field_config.cluster.v3alpha .Cluster.RingHashLbConfig.minimum_ring_size > ` .
/ / : ref : ` minimum_ring_size < envoy_api_field_config.cluster.v3.Cluster.RingHashLbConfig.minimum_ring_size > ` .
google.protobuf.UInt64Value maximum_ring_size = 4 [ ( validate.rules ) . uint64 = { lte : 8388608 } ] ;
}
@ -392,7 +391,7 @@ message Cluster {
/ / if zone aware routing is configured. If not specified , the default is 100 % .
/ / * : ref : ` runtime values < config_cluster_manager_cluster_runtime_zone_routing > ` .
/ / * : ref : ` Zone aware routing support < arch_overview_load_balancing_zone_aware_routing > ` .
type.v3alpha .Percent routing_enabled = 1 ;
type.v3.Percent routing_enabled = 1 ;
/ / Configures minimum upstream cluster size required for zone aware routing
/ / If upstream cluster size is less than specified , zone aware routing is not performed
@ -421,7 +420,7 @@ message Cluster {
/ /
/ / . . note : :
/ / The specified percent will be truncated to the nearest 1 % .
type.v3alpha .Percent healthy_panic_threshold = 1 ;
type.v3.Percent healthy_panic_threshold = 1 ;
oneof locality_config_specifier {
ZoneAwareLbConfig zone_aware_lb_config = 2 ;
@ -476,8 +475,7 @@ message Cluster {
/ / Specifies the base interval between refreshes. This parameter is required and must be greater
/ / than zero and less than
/ / : ref : ` max_interval
/ / < envoy_api_field_config.cluster.v3alpha.Cluster.RefreshRate.max_interval > ` .
/ / : ref : ` max_interval < envoy_api_field_config.cluster.v3.Cluster.RefreshRate.max_interval > ` .
google.protobuf.Duration base_interval = 1 [ ( validate.rules ) . duration = {
required : true
gt { nanos : 1000000 }
@ -485,10 +483,9 @@ message Cluster {
/ / Specifies the maximum interval between refreshes. This parameter is optional , but must be
/ / greater than or equal to the
/ / : ref : ` base_interval
/ / < envoy_api_field_config.cluster.v3alpha.Cluster.RefreshRate.base_interval > ` if set. The
/ / default is 10 times the : ref : ` base_interval
/ / < envoy_api_field_config.cluster.v3alpha.Cluster.RefreshRate.base_interval > ` .
/ / : ref : ` base_interval < envoy_api_field_config.cluster.v3.Cluster.RefreshRate.base_interval > ` if
/ / set. The default is 10 times the : ref : ` base_interval
/ / < envoy_api_field_config.cluster.v3.Cluster.RefreshRate.base_interval > ` .
google.protobuf.Duration max_interval = 2 [ ( validate.rules ) . duration = { gt { nanos : 1000000 } } ] ;
}
@ -498,9 +495,9 @@ message Cluster {
/ / Configuration to use different transport sockets for different endpoints.
/ / The entry of * envoy.transport_socket * in the
/ / : ref : ` LbEndpoint.Metadata < envoy_api_field_config.endpoint.v3alpha .LbEndpoint.metadata > `
/ / : ref : ` LbEndpoint.Metadata < envoy_api_field_config.endpoint.v3.LbEndpoint.metadata > `
/ / is used to match against the transport sockets as they appear in the list. The first
/ / : ref : ` match < envoy_api_msg_config.cluster.v3alpha .Cluster.TransportSocketMatch > ` is used.
/ / : ref : ` match < envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch > ` is used.
/ / For example , with the following match
/ /
/ / . . code - block : : yaml
@ -520,8 +517,8 @@ message Cluster {
/ / Connections to the endpoints whose metadata value under * envoy.transport_socket *
/ / having "acceptMTLS" / "true" key / value pair use the "enableMTLS" socket configuration.
/ /
/ / If a : ref : ` socket match < envoy_api_msg_config.cluster.v3alpha .Cluster.TransportSocketMatch > `
/ / with empty match criteria is provided , that always match any endpoint. For example , the
/ / If a : ref : ` socket match < envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch > ` with
/ / empty match criteria is provided , that always match any endpoint. For example , the
/ / "defaultToPlaintext" socket match in case above.
/ /
/ / If an endpoint metadata ' s value under * envoy.transport_socket * does not match any
@ -546,7 +543,7 @@ message Cluster {
/ / Supplies the name of the cluster which must be unique across all clusters.
/ / The cluster name is used when emitting
/ / : ref : ` statistics < config_cluster_manager_cluster_stats > ` if : ref : ` alt_stat_name
/ / < envoy_api_field_config.cluster.v3alpha .Cluster.alt_stat_name > ` is not provided.
/ / < envoy_api_field_config.cluster.v3.Cluster.alt_stat_name > ` is not provided.
/ / Any ` ` : ` ` in the cluster name will be converted to ` ` _ ` ` when emitting statistics.
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
@ -580,29 +577,27 @@ message Cluster {
LbPolicy lb_policy = 6 [ ( validate.rules ) . enum = { defined_only : true } ] ;
/ / Setting this is required for specifying members of
/ / : ref : ` STATIC < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.STATIC > ` ,
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.STRICT_DNS > `
/ / or
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.LOGICAL_DNS > `
/ / clusters. This field supersedes
/ / : ref : ` hosts < envoy_api_field_config.cluster.v3alpha.Cluster.hosts > ` field.
/ / : ref : ` STATIC < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STATIC > ` ,
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > `
/ / or : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > `
/ / clusters. This field supersedes : ref : ` hosts < envoy_api_field_config.cluster.v3.Cluster.hosts > `
/ / field.
/ / [ # comment : TODO ( dio ) : Deprecate the hosts field and add it to : ref : ` deprecated log < deprecated > `
/ / once load_assignment is implemented. ]
/ /
/ / . . attention : :
/ /
/ / Setting this allows non - EDS cluster types to contain embedded EDS equivalent
/ / : ref : ` endpoint assignments < envoy_api_msg_config.endpoint.v3alpha.ClusterLoadAssignment > ` .
/ / Setting this overrides : ref : ` hosts < envoy_api_field_config.cluster.v3alpha.Cluster.hosts > `
/ / values.
/ / : ref : ` endpoint assignments < envoy_api_msg_config.endpoint.v3.ClusterLoadAssignment > ` .
/ / Setting this overrides : ref : ` hosts < envoy_api_field_config.cluster.v3.Cluster.hosts > ` values.
/ /
endpoint.v3alpha .ClusterLoadAssignment load_assignment = 33 ;
endpoint.v3.ClusterLoadAssignment load_assignment = 33 ;
/ / Optional : ref : ` active health checking < arch_overview_health_checking > `
/ / configuration for the cluster. If no
/ / configuration is specified no health checking will be done and all cluster
/ / members will be considered healthy at all times.
repeated core.v3alpha .HealthCheck health_checks = 8 ;
repeated core.v3.HealthCheck health_checks = 8 ;
/ / Optional maximum requests for a single upstream connection. This parameter
/ / is respected by both the HTTP / 1.1 and HTTP / 2 connection pool
@ -615,14 +610,14 @@ message Cluster {
/ / HTTP protocol options that are applied only to upstream HTTP connections.
/ / These options apply to all HTTP versions.
core.v3alpha .UpstreamHttpProtocolOptions upstream_http_protocol_options = 46 ;
core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 46 ;
/ / Additional options when handling HTTP requests upstream. These options will be applicable to
/ / both HTTP1 and HTTP2 requests.
core.v3alpha .HttpProtocolOptions common_http_protocol_options = 29 ;
core.v3.HttpProtocolOptions common_http_protocol_options = 29 ;
/ / Additional options when handling HTTP1 requests.
core.v3alpha .Http1ProtocolOptions http_protocol_options = 13 ;
core.v3.Http1ProtocolOptions http_protocol_options = 13 ;
/ / Even if default HTTP2 protocol options are desired , this field must be
/ / set so that Envoy will assume that the upstream supports HTTP / 2 when
@ -630,7 +625,7 @@ message Cluster {
/ / supports prior knowledge for upstream connections. Even if TLS is used
/ / with ALPN , ` http2_protocol_options ` must be specified. As an aside this allows HTTP / 2
/ / connections to happen over plain text.
core.v3alpha .Http2ProtocolOptions http2_protocol_options = 14 ;
core.v3.Http2ProtocolOptions http2_protocol_options = 14 ;
/ / The extension_protocol_options field is used to provide extension - specific protocol options
/ / for upstream connections. The key should match the extension filter name , such as
@ -639,29 +634,28 @@ message Cluster {
map < string , google.protobuf.Any > typed_extension_protocol_options = 36 ;
/ / If the DNS refresh rate is specified and the cluster type is either
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.STRICT_DNS > ` ,
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > ` ,
/ / or
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / this value is used as the cluster ’ s DNS refresh
/ / rate. The value configured must be at least 1 ms. If this setting is not specified , the
/ / value defaults to 5000 ms. For cluster types other than
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.STRICT_DNS > `
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > `
/ / and
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.LOGICAL_DNS > `
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > `
/ / this setting is ignored.
google.protobuf.Duration dns_refresh_rate = 16
[ ( validate.rules ) . duration = { gt { nanos : 1000000 } } ] ;
/ / If the DNS failure refresh rate is specified and the cluster type is either
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.STRICT_DNS > ` ,
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > ` ,
/ / or
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / this is used as the cluster ’ s DNS refresh rate when requests are failing. If this setting is
/ / not specified , the failure refresh rate defaults to the DNS refresh rate. For cluster types
/ / other than
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.STRICT_DNS > `
/ / and
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha.Cluster.DiscoveryType.LOGICAL_DNS > `
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > ` and
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > `
/ / this setting is ignored.
/ /
/ / Note : Currently , DNS failures and empty DNS responses are not treated differently and this
@ -675,22 +669,22 @@ message Cluster {
/ / The DNS IP address resolution policy. If this setting is not specified , the
/ / value defaults to
/ / : ref : ` AUTO < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DnsLookupFamily.AUTO > ` .
/ / : ref : ` AUTO < envoy_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO > ` .
DnsLookupFamily dns_lookup_family = 17 [ ( validate.rules ) . enum = { defined_only : true } ] ;
/ / If DNS resolvers are specified and the cluster type is either
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.STRICT_DNS > ` ,
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > ` ,
/ / or
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > ` ,
/ / this value is used to specify the cluster ’ s dns resolvers.
/ / If this setting is not specified , the value defaults to the default
/ / resolver , which uses / etc / resolv.conf for configuration. For cluster types
/ / other than
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.STRICT_DNS > `
/ / : ref : ` STRICT_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS > `
/ / and
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.LOGICAL_DNS > `
/ / : ref : ` LOGICAL_DNS < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS > `
/ / this setting is ignored.
repeated core.v3alpha .Address dns_resolvers = 18 ;
repeated core.v3.Address dns_resolvers = 18 ;
/ / [ # next - major - version : Reconcile DNS options in a single message. ]
/ / Always use TCP queries instead of UDP queries for DNS lookups.
@ -702,7 +696,7 @@ message Cluster {
OutlierDetection outlier_detection = 19 ;
/ / The interval for removing stale hosts from a cluster type
/ / : ref : ` ORIGINAL_DST < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.ORIGINAL_DST > ` .
/ / : ref : ` ORIGINAL_DST < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST > ` .
/ / Hosts are considered stale if they have not been used
/ / as upstream destinations during this interval. New hosts are added
/ / to original destination clusters on demand as new connections are
@ -712,22 +706,22 @@ message Cluster {
/ / them remain open , saving the latency that would otherwise be spent
/ / on opening new connections. If this setting is not specified , the
/ / value defaults to 5000 ms. For cluster types other than
/ / : ref : ` ORIGINAL_DST < envoy_api_enum_value_config.cluster.v3alpha .Cluster.DiscoveryType.ORIGINAL_DST > `
/ / : ref : ` ORIGINAL_DST < envoy_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.ORIGINAL_DST > `
/ / this setting is ignored.
google.protobuf.Duration cleanup_interval = 20 [ ( validate.rules ) . duration = { gt { } } ] ;
/ / Optional configuration used to bind newly established upstream connections.
/ / This overrides any bind_config specified in the bootstrap proto.
/ / If the address and port are empty , no bind will be performed.
core.v3alpha .BindConfig upstream_bind_config = 21 ;
core.v3.BindConfig upstream_bind_config = 21 ;
/ / Configuration for load balancing subsetting.
LbSubsetConfig lb_subset_config = 22 ;
/ / Optional configuration for the load balancing algorithm selected by
/ / LbPolicy. Currently only
/ / : ref : ` RING_HASH < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbPolicy.RING_HASH > ` and
/ / : ref : ` LEAST_REQUEST < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbPolicy.LEAST_REQUEST > `
/ / : ref : ` RING_HASH < envoy_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH > ` and
/ / : ref : ` LEAST_REQUEST < envoy_api_enum_value_config.cluster.v3.Cluster.LbPolicy.LEAST_REQUEST > `
/ / has additional configuration options.
/ / Specifying ring_hash_lb_config or least_request_lb_config without setting the corresponding
/ / LbPolicy will generate an error at runtime.
@ -748,17 +742,17 @@ message Cluster {
/ / Optional custom transport socket implementation to use for upstream connections.
/ / To setup TLS , set a transport socket with name ` tls ` and
/ / : ref : ` UpstreamTlsContexts
/ / < envoy_api_msg_extensions.transport_sockets.tls.v3alpha .UpstreamTlsContext > ` in the
/ / ` typed_config ` . If no transport socket configuration is specified , new connections will be set
/ / up with plaintext.
core.v3alpha .TransportSocket transport_socket = 24 ;
/ / < envoy_api_msg_extensions.transport_sockets.tls.v3.UpstreamTlsContext > ` in the ` typed_config ` .
/ / If no transport socket configuration is specified , new connections
/ / will be set up with plaintext.
core.v3.TransportSocket transport_socket = 24 ;
/ / The Metadata field can be used to provide additional information about the
/ / cluster. It can be used for stats , logging , and varying filter behavior.
/ / Fields should use reverse DNS notation to denote which entity within Envoy
/ / will need the information. For instance , if the metadata is intended for
/ / the Router filter , the filter name should be specified as * envoy.router * .
core.v3alpha .Metadata metadata = 25 ;
core.v3.Metadata metadata = 25 ;
/ / Determines how Envoy selects the protocol used to speak to upstream hosts.
ClusterProtocolSelection protocol_selection = 26 ;
@ -792,8 +786,8 @@ message Cluster {
repeated Filter filters = 40 ;
/ / [ # not - implemented - hide : ] New mechanism for LB policy configuration. Used only if the
/ / : ref : ` lb_policy < envoy_api_field_config.cluster.v3alpha .Cluster.lb_policy > ` field has the value
/ / : ref : ` LOAD_BALANCING_POLICY_CONFIG < envoy_api_enum_value_config.cluster.v3alpha .Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG > ` .
/ / : ref : ` lb_policy < envoy_api_field_config.cluster.v3.Cluster.lb_policy > ` field has the value
/ / : ref : ` LOAD_BALANCING_POLICY_CONFIG < envoy_api_enum_value_config.cluster.v3.Cluster.LbPolicy.LOAD_BALANCING_POLICY_CONFIG > ` .
LoadBalancingPolicy load_balancing_policy = 41 ;
/ / [ # not - implemented - hide : ]
@ -810,7 +804,7 @@ message Cluster {
/ / [ # next - major - version : In the v3 API , we should consider restructuring this somehow ,
/ / maybe by allowing LRS to go on the ADS stream , or maybe by moving some of the negotiation
/ / from the LRS stream here. ]
core.v3alpha .ConfigSource lrs_server = 42 ;
core.v3.ConfigSource lrs_server = 42 ;
/ / If track_timeout_budgets is true , the : ref : ` timeout budget histograms
/ / < config_cluster_manager_cluster_stats_timeout_budgets > ` will be published for each
@ -868,7 +862,7 @@ message UpstreamBindConfig {
option ( udpa.annotations.versioning ) . previous_message_type = "envoy.api.v2.UpstreamBindConfig" ;
/ / The address Envoy should bind to when establishing upstream connections.
core.v3alpha .Address source_address = 1 ;
core.v3.Address source_address = 1 ;
}
message UpstreamConnectionOptions {
@ -876,5 +870,5 @@ message UpstreamConnectionOptions {
"envoy.api.v2.UpstreamConnectionOptions" ;
/ / If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
core.v3alpha .TcpKeepalive tcp_keepalive = 1 ;
core.v3.TcpKeepalive tcp_keepalive = 1 ;
}