package envoy.config.core.v3

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Address

address.proto:180

Addresses specify either a logical or physical address and port, which are used to tell Envoy where to bind/listen, connect to upstream and find management servers.

Used in: admin.v3.HostStatus, admin.v3.ListenerStatus, bootstrap.v3.Admin, cluster.v3.Cluster, DnsResolutionConfig, Node, endpoint.v3.Endpoint, endpoint.v3.Endpoint.AdditionalAddress, endpoint.v3.Endpoint.HealthCheckConfig, endpoint.v3.UpstreamEndpointStats, listener.v3.AdditionalAddress, listener.v3.Listener, metrics.v3.DogStatsdSink, metrics.v3.StatsdSink, data.accesslog.v3.AccessLogCommon, data.core.v3.HealthCheckEvent, data.tap.v3.Connection, extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig, extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig, extensions.stat_sinks.graphite_statsd.v3.GraphiteStatsdSink, service.auth.v3.AttributeContext.Peer

message AggregatedConfigSource

config_source.proto:126

Aggregated Discovery Service (ADS) options. This is currently empty, but when set in :ref:`ConfigSource <envoy_v3_api_msg_config.core.v3.ConfigSource>` can be used to specify that ADS is to be used.

Used in: ConfigSource

(message has no fields)

message AlternateProtocolsCacheOptions

protocol.proto:159

Configures the alternate protocols cache which tracks alternate protocols that can be used to make an HTTP connection to an origin server. See https://tools.ietf.org/html/rfc7838 for HTTP Alternative Services and https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-04 for the "HTTPS" DNS resource record. [#next-free-field: 6]

Used in: extensions.filters.http.alternate_protocols_cache.v3.FilterConfig, extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig

message AlternateProtocolsCacheOptions.AlternateProtocolsCacheEntry

protocol.proto:169

Allows pre-populating the cache with HTTP/3 alternate protocols entries with a 7 day lifetime. This will cause Envoy to attempt HTTP/3 to those upstreams, even if the upstreams have not advertised HTTP/3 support. These entries will be overwritten by alt-svc response headers or cached values. As with regular cached entries, if the origin response would result in clearing an existing alternate protocol cache entry, pre-populated entries will also be cleared. Adding a cache entry with hostname=foo.com port=123 is the equivalent of getting response headers alt-svc: h3=:"123"; ma=86400" in a response to a request to foo.com:123

Used in: AlternateProtocolsCacheOptions

message ApiConfigSource

config_source.proto:44

API configuration source. This identifies the API type and cluster that Envoy will use to fetch an xDS API. [#next-free-field: 10]

Used in: bootstrap.v3.Bootstrap, bootstrap.v3.Bootstrap.DynamicResources, bootstrap.v3.ClusterManager, ConfigSource

enum ApiConfigSource.ApiType

config_source.proto:48

APIs may be fetched via either REST or gRPC.

Used in: ApiConfigSource

enum ApiVersion

config_source.proto:30

xDS API and non-xDS services version. This is used to describe both resource and transport protocol versions (in distinct configuration fields).

Used in: ApiConfigSource, ConfigSource, SelfConfigSource, metrics.v3.MetricsServiceConfig, ratelimit.v3.RateLimitServiceConfig, extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig, extensions.filters.http.ext_authz.v3.ExtAuthz, extensions.filters.network.ext_authz.v3.ExtAuthz

message AsyncDataSource

base.proto:597

Async data source which support async data fetch.

Used in: extensions.wasm.v3.VmConfig

message BackoffStrategy

backoff.proto:20

Configuration defining a jittered exponential back off strategy.

Used in: RetryPolicy, extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig.RetryOptions, extensions.filters.network.tcp_proxy.v3.TcpProxy, extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions, extensions.wasm.v3.ReloadConfig

message BindConfig

address.proto:140

[#next-free-field: 7]

Used in: bootstrap.v3.ClusterManager, cluster.v3.Cluster, service.health.v3.ClusterHealthCheck

message BuildVersion

base.proto:94

BuildVersion combines SemVer version of extension with free-form build information (i.e. 'alpha', 'private-build') as a set of strings.

Used in: Extension, Node

message CidrRange

address.proto:198

CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.

Used in: listener.v3.FilterChainMatch, rbac.v3.Permission, rbac.v3.Principal, extensions.filters.http.ip_tagging.v3.IPTagging.IPTag, extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.InternalAddressConfig, extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs, extensions.matching.input_matchers.ip.v3.Ip, extensions.rbac.matchers.upstream_ip_port.v3.UpstreamIpPortMatcher, extensions.transport_sockets.tls.v3.TlsKeyLog

message ConfigSource

config_source.proto:201

Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters <config_cluster_manager>`, :ref:`routes <envoy_v3_api_msg_config.route.v3.RouteConfiguration>`, :ref:`endpoints <arch_overview_service_discovery>` etc. may either be sourced from the filesystem or from an xDS API source. Filesystem configs are watched with inotify for updates. [#next-free-field: 9]

Used in: bootstrap.v3.Bootstrap, bootstrap.v3.Bootstrap.DynamicResources, bootstrap.v3.RuntimeLayer.RtdsLayer, cluster.v3.Cluster, cluster.v3.Cluster.EdsClusterConfig, ExtensionConfigSource, endpoint.v3.LedsClusterLocalityConfig, route.v3.Vhds, extensions.filters.http.on_demand.v3.OnDemandCds, extensions.filters.network.dubbo_proxy.v3.Drds, extensions.filters.network.generic_proxy.v3.GenericRds, extensions.filters.network.http_connection_manager.v3.Rds, extensions.filters.network.http_connection_manager.v3.ScopedRds, extensions.filters.network.http_connection_manager.v3.ScopedRoutes, extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand, extensions.filters.network.thrift_proxy.v3.Trds, extensions.transport_sockets.tls.v3.SdsSecretConfig

message ControlPlane

base.proto:655

Identifies a specific ControlPlane instance that Envoy is connected to.

Used in: service.discovery.v3.DeltaDiscoveryResponse, service.discovery.v3.DiscoveryResponse

message DataSource

base.proto:500

Data source consisting of a file, an inline value, or an environment variable. [#next-free-field: 6]

Used in: AsyncDataSource, GrpcService.GoogleGrpc.SslCredentials, SubstitutionFormatString, grpc_credential.v3.FileBasedMetadataConfig, route.v3.DirectResponseAction, trace.v3.LightstepConfig, trace.v3.XRayConfig, extensions.common.aws.v3.AssumeRoleWithWebIdentityCredentialProvider, extensions.common.aws.v3.CredentialsFileCredentialProvider, extensions.compression.zstd.compressor.v3.Zstd, extensions.compression.zstd.decompressor.v3.Zstd, extensions.filters.http.basic_auth.v3.BasicAuth, extensions.filters.http.basic_auth.v3.BasicAuthPerRoute, extensions.filters.http.grpc_field_extraction.v3.GrpcFieldExtractionConfig, extensions.filters.http.jwt_authn.v3.JwtProvider, extensions.filters.http.lua.v3.Lua, extensions.filters.http.lua.v3.LuaPerRoute, extensions.filters.http.proto_message_extraction.v3.ProtoMessageExtractionConfig, extensions.filters.network.direct_response.v3.Config, extensions.filters.network.http_connection_manager.v3.ResponseMapper, extensions.filters.network.redis_proxy.v3.RedisProtocolOptions, extensions.filters.network.redis_proxy.v3.RedisProxy, extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ServerContextConfig, extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy, extensions.quic.connection_id_generator.quic_lb.v3.Config, extensions.quic.server_preferred_address.v3.DataSourceServerPreferredAddressConfig.AddressFamilyConfig, extensions.router.cluster_specifiers.lua.v3.LuaConfig, extensions.string_matcher.lua.v3.Lua, extensions.transport_sockets.tls.v3.CertificateValidationContext, extensions.transport_sockets.tls.v3.GenericSecret, extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig, extensions.transport_sockets.tls.v3.SPIFFECertValidatorConfig.TrustDomain, extensions.transport_sockets.tls.v3.TlsCertificate, extensions.transport_sockets.tls.v3.TlsSessionTicketKeys

message DnsResolutionConfig

resolver.proto:28

DNS resolution configuration which includes the underlying dns resolver addresses and options.

Used in: bootstrap.v3.Bootstrap, cluster.v3.Cluster, extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig, extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig

message DnsResolverOptions

resolver.proto:19

Configuration of DNS resolver option flags which control the behavior of the DNS resolver.

Used in: DnsResolutionConfig, extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig

message EnvoyInternalAddress

address.proto:38

The address represents an envoy internal listener. [#comment: TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.]

Used in: Address

message EventServiceConfig

event_service_config.proto:19

[#not-implemented-hide:] Configuration of the event reporting service endpoint.

Used in: bootstrap.v3.ClusterManager.OutlierDetection, HealthCheck

message Extension

base.proto:107

Version and identification for an Envoy extension. [#next-free-field: 7]

Used in: Node

message ExtensionConfigSource

config_source.proto:266

Configuration source specifier for a late-bound extension configuration. The parent resource is warmed until all the initial extension configurations are received, unless the flag to apply the default configuration is set. Subsequent extension updates are atomic on a per-worker basis. Once an extension configuration is applied to a request or a connection, it remains constant for the duration of processing. If the initial delivery of the extension configuration fails, due to a timeout for example, the optional default configuration is applied. Without a default configuration, the extension is disabled, until an extension configuration is received. The behavior of a disabled extension depends on the context. For example, a filter chain with a disabled extension filter rejects all incoming streams.

Used in: cluster.v3.Filter, listener.v3.Filter, listener.v3.ListenerFilter, extensions.filters.http.composite.v3.DynamicConfig, extensions.filters.network.http_connection_manager.v3.HttpFilter, extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.SessionFilter

message ExtraSourceAddress

address.proto:125

Used in: BindConfig

message GrpcMethodList

grpc_method_list.proto:18

A list of gRPC methods which can be used as an allowlist, for example.

Used in: extensions.filters.http.grpc_stats.v3.FilterConfig

message GrpcMethodList.Service

grpc_method_list.proto:21

Used in: GrpcMethodList

message GrpcProtocolOptions

protocol.proto:651

[#not-implemented-hide:]

message GrpcService

grpc_service.proto:29

gRPC service configuration. This is used by :ref:`ApiConfigSource <envoy_v3_api_msg_config.core.v3.ApiConfigSource>` and filter configurations. [#next-free-field: 7]

Used in: ApiConfigSource, EventServiceConfig, metrics.v3.MetricsServiceConfig, ratelimit.v3.RateLimitServiceConfig, tap.v3.StreamingGrpcSink, trace.v3.OpenTelemetryConfig, trace.v3.SkyWalkingConfig, trace.v3.TraceServiceConfig, extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig, extensions.filters.http.ext_authz.v3.ExtAuthz, extensions.filters.http.ext_proc.v3.ExtProcOverrides, extensions.filters.http.ext_proc.v3.ExternalProcessor, extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig, extensions.filters.network.ext_authz.v3.ExtAuthz, extensions.filters.network.ext_proc.v3.NetworkExternalProcessor, extensions.filters.network.redis_proxy.v3.RedisExternalAuthProvider, extensions.stat_sinks.open_telemetry.v3.SinkConfig

message GrpcService.EnvoyGrpc

grpc_service.proto:33

[#next-free-field: 6]

Used in: GrpcService

message GrpcService.GoogleGrpc

grpc_service.proto:68

[#next-free-field: 9]

Used in: GrpcService

message GrpcService.GoogleGrpc.CallCredentials

grpc_service.proto:113

[#next-free-field: 8]

Used in: GoogleGrpc

message GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials

grpc_service.proto:127

Used in: CallCredentials

message GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin

grpc_service.proto:136

Used in: CallCredentials

message GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials

grpc_service.proto:117

Used in: CallCredentials

message GrpcService.GoogleGrpc.CallCredentials.StsService

grpc_service.proto:158

Security token service configuration that allows Google gRPC to fetch security token from an OAuth 2.0 authorization server. See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16 and https://github.com/grpc/grpc/pull/19587. [#next-free-field: 10]

Used in: CallCredentials

message GrpcService.GoogleGrpc.ChannelArgs

grpc_service.proto:234

Channel arguments.

Used in: GoogleGrpc

message GrpcService.GoogleGrpc.ChannelArgs.Value

grpc_service.proto:235

Used in: ChannelArgs

message GrpcService.GoogleGrpc.ChannelCredentials

grpc_service.proto:96

See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call credential types.

Used in: GoogleGrpc

message GrpcService.GoogleGrpc.GoogleLocalCredentials

grpc_service.proto:89

Local channel credentials. Only UDS is supported for now. See https://github.com/grpc/grpc/pull/15909.

Used in: ChannelCredentials

(message has no fields)

message GrpcService.GoogleGrpc.SslCredentials

grpc_service.proto:73

See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.

Used in: ChannelCredentials

message HeaderMap

base.proto:484

Wrapper for a set of headers.

Used in: data.tap.v3.HttpStreamedTraceSegment, service.auth.v3.AttributeContext.HttpRequest, service.ext_proc.v3.CommonResponse, service.ext_proc.v3.HttpHeaders, service.ext_proc.v3.HttpTrailers

message HeaderValue

base.proto:400

Header name/value pair.

Used in: GrpcService, HeaderMap, HeaderValueOption, data.tap.v3.HttpBufferedTrace.Message, extensions.filters.http.ext_authz.v3.AuthorizationRequest, extensions.filters.http.ext_proc.v3.ExtProcOverrides, service.ratelimit.v3.RateLimitResponse

message HeaderValueOption

base.proto:429

Header name/value pair plus option to control append behavior.

Used in: common.mutation_rules.v3.HeaderMutation, HealthCheck.GrpcHealthCheck, HealthCheck.HttpHealthCheck, HttpService, route.v3.Route, route.v3.RouteConfiguration, route.v3.VirtualHost, route.v3.WeightedCluster.ClusterWeight, extensions.filters.http.local_ratelimit.v3.LocalRateLimit, extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings, extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig, extensions.filters.http.ratelimit.v3.RateLimit, extensions.filters.network.http_connection_manager.v3.ResponseMapper, extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig, extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig, extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy, extensions.http.custom_response.redirect_policy.v3.RedirectPolicy, service.auth.v3.DeniedHttpResponse, service.auth.v3.OkHttpResponse, service.ext_proc.v3.HeaderMutation

enum HeaderValueOption.HeaderAppendAction

base.proto:434

Describes the supported actions types for header append action.

Used in: HeaderValueOption

message HealthCheck

health_check.proto:67

[#next-free-field: 27]

Used in: cluster.v3.Cluster, service.health.v3.ClusterHealthCheck

message HealthCheck.CustomHealthCheck

health_check.proto:231

Custom health check.

Used in: HealthCheck

message HealthCheck.GrpcHealthCheck

health_check.proto:205

`grpc.health.v1.Health <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto>`_-based healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_ for details.

Used in: HealthCheck

message HealthCheck.HttpHealthCheck

health_check.proto:87

[#next-free-field: 15]

Used in: HealthCheck

message HealthCheck.Payload

health_check.proto:71

Describes the encoding of the payload bytes in the payload.

Used in: HttpHealthCheck, TcpHealthCheck

message HealthCheck.RedisHealthCheck

health_check.proto:190

message HealthCheck.TcpHealthCheck

health_check.proto:170

Used in: HealthCheck

message HealthCheck.TlsOptions

health_check.proto:254

Health checks occur over the transport socket specified for the cluster. This implies that if a cluster is using a TLS-enabled transport socket, the health check will also occur over TLS. This allows overriding the cluster TLS settings, just for health check connections.

Used in: HealthCheck

enum HealthStatus

health_check.proto:35

Endpoint health status.

Used in: admin.v3.HostHealthStatus, HealthStatusSet, endpoint.v3.LbEndpoint, service.health.v3.EndpointHealth

message HealthStatusSet

health_check.proto:60

Used in: cluster.v3.Cluster.CommonLbConfig

message Http1ProtocolOptions

protocol.proto:310

[#next-free-field: 12]

Used in: cluster.v3.Cluster, extensions.filters.network.http_connection_manager.v3.HttpConnectionManager, extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig, extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig, extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig

message Http1ProtocolOptions.HeaderKeyFormat

protocol.proto:315

[#next-free-field: 9]

Used in: Http1ProtocolOptions

message Http1ProtocolOptions.HeaderKeyFormat.ProperCaseWords

protocol.proto:319

Used in: HeaderKeyFormat

(message has no fields)

message Http2ProtocolOptions

protocol.proto:462

[#next-free-field: 18]

Used in: cluster.v3.Cluster, GrpcProtocolOptions, extensions.filters.network.http_connection_manager.v3.HttpConnectionManager, extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig, extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig, extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig

message Http2ProtocolOptions.SettingsParameter

protocol.proto:468

Defines a parameter to be sent in the SETTINGS frame. See `RFC7540, sec. 6.5.1 <https://tools.ietf.org/html/rfc7540#section-6.5.1>`_ for details.

Used in: Http2ProtocolOptions

message Http3ProtocolOptions

protocol.proto:660

A message which allows using HTTP/3. [#next-free-field: 8]

Used in: extensions.filters.network.http_connection_manager.v3.HttpConnectionManager, extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig, extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig, extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig

message HttpProtocolOptions

protocol.proto:217

[#next-free-field: 8]

Used in: cluster.v3.Cluster, extensions.filters.network.http_connection_manager.v3.HttpConnectionManager, extensions.upstreams.http.v3.HttpProtocolOptions

enum HttpProtocolOptions.HeadersWithUnderscoresAction

protocol.proto:226

Action to take when Envoy receives client request with header names containing underscore characters. Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore characters.

Used in: HttpProtocolOptions

message HttpService

http_service.proto:20

HTTP service configuration.

Used in: trace.v3.OpenTelemetryConfig, extensions.filters.http.ext_proc.v3.ExtProcHttpService, extensions.tracers.opentelemetry.samplers.v3.DynatraceSamplerConfig

message HttpUri

http_uri.proto:20

Envoy external URI descriptor

Used in: HttpService, RemoteDataSource, extensions.filters.http.ext_authz.v3.HttpService, extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig, extensions.filters.http.jwt_authn.v3.RemoteJwks, extensions.filters.http.oauth2.v3.OAuth2Config, extensions.http.injected_credentials.oauth2.v3.OAuth2

message JsonFormatOptions

substitution_format_string.proto:23

Optional configuration options to be used with json_format.

Used in: SubstitutionFormatString

message KeepaliveSettings

protocol.proto:431

Used in: Http2ProtocolOptions

message KeyValue

base.proto:308

Please use :ref:`KeyValuePair <envoy_api_msg_config.core.v3.KeyValuePair>` instead. [#not-implemented-hide:]

Used in: KeyValueAppend

message KeyValueAppend

base.proto:335

Key/value pair plus option to control append behavior. This is used to specify key/value pairs that should be appended to a set of existing key/value pairs.

Used in: KeyValueMutation

enum KeyValueAppend.KeyValueAppendAction

base.proto:337

Describes the supported actions types for key/value pair append action.

Used in: KeyValueAppend

message KeyValueMutation

base.proto:380

Key/value pair to append or remove.

Used in: extensions.filters.http.header_mutation.v3.Mutations

message KeyValuePair

base.proto:325

Used in: KeyValueAppend

message Locality

base.proto:70

Identifies location of where either Envoy runs or where upstream hosts run.

Used in: admin.v3.HostStatus, Node, endpoint.v3.LocalityLbEndpoints, endpoint.v3.UpstreamLocalityStats, data.core.v3.HealthCheckEvent, service.health.v3.LocalityEndpoints, service.health.v3.LocalityEndpointsHealth

message Metadata

base.proto:239

Metadata provides additional inputs to filters based on matched listeners, filter chains, routes and endpoints. It is structured as a map, usually from filter name (in reverse DNS format) to metadata specific to the filter. Metadata key-values for a filter are merged as connection and request handling occurs, with later values for the same key overriding earlier values. An example use of metadata is providing additional values to http_connection_manager in the envoy.http_connection_manager.access_log namespace. Another example use of metadata is to per service config info in cluster metadata, which may get consumed by multiple filters. For load balancing, Metadata provides a means to subset cluster endpoints. Endpoints have a Metadata object associated and routes contain a Metadata object to match against. There are some well defined metadata used today for this purpose: * ``{"envoy.lb": {"canary": <bool> }}`` This indicates the canary status of an endpoint and is also used during header processing (x-envoy-upstream-canary) and for stats purposes. [#next-major-version: move to type/metadata/v2]

Used in: cluster.v3.Cluster, endpoint.v3.LbEndpoint, endpoint.v3.LocalityLbEndpoints, listener.v3.FilterChain, listener.v3.Listener, route.v3.Route, route.v3.RouteAction, route.v3.RouteConfiguration, route.v3.VirtualHost, route.v3.WeightedCluster.ClusterWeight, data.accesslog.v3.AccessLogCommon, data.core.v3.HealthCheckEvent, extensions.filters.network.dubbo_proxy.v3.RouteAction, extensions.filters.network.generic_proxy.action.v3.RouteAction, extensions.filters.network.tcp_proxy.v3.TcpProxy, extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeight, extensions.filters.network.thrift_proxy.v3.RouteAction, extensions.filters.network.thrift_proxy.v3.WeightedCluster.ClusterWeight, extensions.retry.host.omit_host_metadata.v3.OmitHostMetadataConfig, service.auth.v3.AttributeContext, service.discovery.v3.Resource, service.ext_proc.v3.ProcessingRequest, service.network_ext_proc.v3.ProcessingRequest

message Node

base.proto:143

Identifies a specific Envoy instance. The node identifier is presented to the management server, which may use this identifier to distinguish per Envoy configuration for serving. [#next-free-field: 13]

Used in: admin.v3.ServerInfo, bootstrap.v3.Bootstrap, service.accesslog.v3.StreamAccessLogsMessage.Identifier, service.discovery.v3.DeltaDiscoveryRequest, service.discovery.v3.DiscoveryRequest, service.event_reporting.v3.StreamEventsRequest.Identifier, service.health.v3.HealthCheckRequest, service.load_stats.v3.LoadStatsRequest, service.metrics.v3.StreamMetricsMessage.Identifier, service.status.v3.ClientConfig, service.status.v3.ClientStatusRequest, service.tap.v3.StreamTapsRequest.Identifier

message PathConfigSource

config_source.proto:159

Local filesystem path configuration source.

Used in: ConfigSource

message PerHostConfig

proxy_protocol.proto:87

message Pipe

address.proto:23

Used in: Address

message ProxyProtocolConfig

proxy_protocol.proto:44

Used in: HealthCheck.TcpHealthCheck, route.v3.RouteAction.UpgradeConfig.ConnectConfig, extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport

enum ProxyProtocolConfig.Version

proxy_protocol.proto:45

Used in: ProxyProtocolConfig, extensions.filters.listener.proxy_protocol.v3.ProxyProtocol

message ProxyProtocolPassThroughTLVs

proxy_protocol.proto:16

Used in: ProxyProtocolConfig, extensions.filters.listener.proxy_protocol.v3.ProxyProtocol

enum ProxyProtocolPassThroughTLVs.PassTLVsMatchType

proxy_protocol.proto:17

Used in: ProxyProtocolPassThroughTLVs

message QueryParameter

base.proto:391

Query parameter name/value pair.

Used in: service.auth.v3.OkHttpResponse

message QuicKeepAliveSettings

protocol.proto:36

Config for keepalive probes in a QUIC connection. Note that QUIC keep-alive probing packets work differently from HTTP/2 keep-alive PINGs in a sense that the probing packet itself doesn't timeout waiting for a probing response. Quic has a shorter idle timeout than TCP, so it doesn't rely on such probing to discover dead connections. If the peer fails to respond, the connection will idle timeout eventually. Thus, they are configured differently from :ref:`connection_keepalive <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.connection_keepalive>`.

Used in: QuicProtocolOptions

message QuicProtocolOptions

protocol.proto:58

QUIC protocol options which apply to both downstream and upstream connections. [#next-free-field: 10]

Used in: Http3ProtocolOptions, listener.v3.QuicProtocolOptions

message RateLimitSettings

config_source.proto:144

Rate Limit settings to be applied for discovery requests made by Envoy.

Used in: ApiConfigSource

message RemoteDataSource

base.proto:583

The message specifies how to fetch data from remote and how to verify it.

Used in: AsyncDataSource

enum RequestMethod

base.proto:44

HTTP request method.

Used in: HealthCheck.HttpHealthCheck, data.accesslog.v3.HTTPRequestProperties

message RetryPolicy

base.proto:538

The message specifies the retry policy of remote data source when fetching fails. [#next-free-field: 7]

Used in: GrpcService, GrpcService.EnvoyGrpc, RemoteDataSource, extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig, extensions.filters.http.gcp_authn.v3.GcpAuthnFilterConfig, extensions.filters.http.jwt_authn.v3.RemoteJwks, extensions.filters.http.oauth2.v3.OAuth2Config, extensions.filters.network.generic_proxy.action.v3.RouteAction, extensions.tracers.fluentd.v3.FluentdConfig

message RetryPolicy.RetryHostPredicate

base.proto:551

See :ref:`RetryHostPredicate <envoy_v3_api_field_config.route.v3.RetryPolicy.retry_host_predicate>`.

Used in: RetryPolicy

message RetryPolicy.RetryPriority

base.proto:542

See :ref:`RetryPriority <envoy_v3_api_field_config.route.v3.RetryPolicy.retry_priority>`.

Used in: RetryPolicy

enum RoutingPriority

base.proto:38

Envoy supports :ref:`upstream priority routing <arch_overview_http_routing_priority>` both at the route and the virtual cluster level. The current priority implementation uses different connection pool and circuit breaking settings for each priority level. This means that even for HTTP/2 requests, two physical connections will be used to an upstream host. In the future Envoy will likely support true HTTP/2 priority over a single upstream connection.

Used in: cluster.v3.CircuitBreakers.Thresholds, route.v3.RouteAction

message RuntimeDouble

base.proto:282

Runtime derived double with a default when not specified.

Used in: cluster.v3.Cluster.LeastRequestLbConfig, cluster.v3.Cluster.SlowStartConfig, extensions.filters.http.admission_control.v3.AdmissionControl, extensions.load_balancing_policies.common.v3.SlowStartConfig, extensions.load_balancing_policies.least_request.v3.LeastRequest

message RuntimeFeatureFlag

base.proto:293

Runtime derived bool with a default when not specified.

Used in: listener.v3.QuicProtocolOptions, extensions.filters.http.adaptive_concurrency.v3.AdaptiveConcurrency, extensions.filters.http.admission_control.v3.AdmissionControl, extensions.filters.http.bandwidth_limit.v3.BandwidthLimit, extensions.filters.http.compressor.v3.Compressor, extensions.filters.http.compressor.v3.Compressor.CommonDirectionConfig, extensions.filters.http.decompressor.v3.Decompressor.CommonDirectionConfig, extensions.filters.http.ext_authz.v3.ExtAuthz, extensions.filters.listener.local_ratelimit.v3.LocalRateLimit, extensions.filters.network.connection_limit.v3.ConnectionLimit, extensions.filters.network.local_ratelimit.v3.LocalRateLimit

message RuntimeFractionalPercent

base.proto:643

Runtime derived FractionalPercent with defaults for when the numerator or denominator is not specified via a runtime key. .. note:: Parsing of the runtime key's data is implemented such that it may be represented as a :ref:`FractionalPercent <envoy_v3_api_msg_type.v3.FractionalPercent>` proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a ``FractionalPercent`` whose numerator is 42 and denominator is HUNDRED.

Used in: route.v3.CorsPolicy, route.v3.RouteAction.RequestMirrorPolicy, route.v3.RouteMatch, tap.v3.TapConfig, extensions.filters.http.composite.v3.ExecuteFilterAction, extensions.filters.http.cors.v3.CorsPolicy, extensions.filters.http.csrf.v3.CsrfPolicy, extensions.filters.http.ext_authz.v3.ExtAuthz, extensions.filters.http.local_ratelimit.v3.LocalRateLimit, extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig, extensions.filters.http.ratelimit.v3.RateLimit, extensions.filters.network.redis_proxy.v3.RedisProxy.PrefixRoutes.Route.RequestMirrorPolicy, extensions.filters.network.redis_proxy.v3.RedisProxy.RedisFault, extensions.filters.network.thrift_proxy.v3.RouteAction.RequestMirrorPolicy, extensions.matching.input_matchers.runtime_fraction.v3.RuntimeFraction

message RuntimePercent

base.proto:273

Runtime derived percentage with a default when not specified.

Used in: extensions.filters.http.admission_control.v3.AdmissionControl

message RuntimeUInt32

base.proto:262

Runtime derived uint32 with a default when not specified.

Used in: accesslog.v3.ComparisonFilter, extensions.filters.http.admission_control.v3.AdmissionControl

message SchemeHeaderTransformation

protocol.proto:697

A message to control transformations to the :scheme header

Used in: extensions.filters.network.http_connection_manager.v3.HttpConnectionManager

message SelfConfigSource

config_source.proto:135

[#not-implemented-hide:] Self-referencing config source options. This is currently empty, but when set in :ref:`ConfigSource <envoy_v3_api_msg_config.core.v3.ConfigSource>` can be used to specify that other data can be obtained from the same server.

Used in: ConfigSource

message SocketAddress

address.proto:54

[#next-free-field: 8]

Used in: Address, BindConfig, ExtraSourceAddress, trace.v3.XRayConfig, extensions.clusters.dynamic_forward_proxy.v3.SubClustersConfig, extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig, extensions.quic.server_preferred_address.v3.FixedServerPreferredAddressConfig.AddressFamilyConfig

enum SocketAddress.Protocol

address.proto:57

Used in: SocketAddress

message SocketCmsgHeaders

socket_cmsg_headers.proto:19

Configuration for socket cmsg headers. See `:ref:CMSG <https://man7.org/linux/man-pages/man3/cmsg.3.html>`_ for further information.

Used in: listener.v3.QuicProtocolOptions

message SocketOption

socket_option.proto:40

Generic socket option message. This would be used to set socket options that might not exist in upstream kernels or precompiled Envoy binaries. For example: .. code-block:: json { "description": "support tcp keep alive", "state": 0, "level": 1, "name": 9, "int_value": 1, } 1 means SOL_SOCKET and 9 means SO_KEEPALIVE on Linux. With the above configuration, `TCP Keep-Alives <https://www.freesoft.org/CIE/RFC/1122/114.htm>`_ can be enabled in socket with Linux, which can be used in :ref:`listener's<envoy_v3_api_field_config.listener.v3.Listener.socket_options>` or :ref:`admin's <envoy_v3_api_field_config.bootstrap.v3.Admin.socket_options>` socket_options etc. It should be noted that the name or level may have different values on different platforms. [#next-free-field: 8]

Used in: bootstrap.v3.Admin, BindConfig, SocketOptionsOverride, listener.v3.Listener

enum SocketOption.SocketState

socket_option.proto:43

Used in: SocketOption

message SocketOption.SocketType

socket_option.proto:61

The `socket type <https://linux.die.net/man/2/socket>`_ to apply the socket option to. Only one field should be set. If multiple fields are set, the precedence order will determine the selected one. If none of the fields is set, the socket option will be applied to all socket types. For example: If :ref:`stream <envoy_v3_api_field_config.core.v3.SocketOption.SocketType.stream>` is set, it takes precedence over :ref:`datagram <envoy_v3_api_field_config.core.v3.SocketOption.SocketType.datagram>`.

Used in: SocketOption

message SocketOption.SocketType.Datagram

socket_option.proto:67

The datagram socket type.

Used in: SocketType

(message has no fields)

message SocketOption.SocketType.Stream

socket_option.proto:63

The stream socket type.

Used in: SocketType

(message has no fields)

message SocketOptionsOverride

socket_option.proto:106

Used in: ExtraSourceAddress, listener.v3.AdditionalAddress

message SubstitutionFormatString

substitution_format_string.proto:36

Configuration to use multiple :ref:`command operators <config_access_log_command_operators>` to generate a new string in either plain text or JSON format. [#next-free-field: 8]

Used in: extensions.access_loggers.file.v3.FileAccessLog, extensions.access_loggers.stream.v3.StderrAccessLog, extensions.access_loggers.stream.v3.StdoutAccessLog, extensions.filters.common.set_filter_state.v3.FilterStateValue, extensions.filters.network.http_connection_manager.v3.LocalReplyConfig, extensions.filters.network.http_connection_manager.v3.ResponseMapper, extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy

message TcpKeepalive

address.proto:107

Used in: cluster.v3.UpstreamConnectionOptions

message TcpProtocolOptions

protocol.proto:28

[#not-implemented-hide:]

(message has no fields)

message TlvEntry

proxy_protocol.proto:36

Represents a single Type-Length-Value (TLV) entry.

Used in: PerHostConfig, ProxyProtocolConfig, extensions.filters.network.tcp_proxy.v3.TcpProxy

enum TrafficDirection

base.proto:58

Identifies the direction of the traffic relative to the local Envoy.

Used in: listener.v3.Listener

message TransportSocket

base.proto:615

Configuration for transport socket in :ref:`listeners <config_listeners>` and :ref:`clusters <envoy_v3_api_msg_config.cluster.v3.Cluster>`. If the configuration is empty, a default transport socket implementation and configuration will be chosen based on the platform and existence of tls_context.

Used in: cluster.v3.Cluster, cluster.v3.Cluster.TransportSocketMatch, listener.v3.FilterChain, extensions.transport_sockets.http_11_proxy.v3.Http11ProxyUpstreamTransport, extensions.transport_sockets.internal_upstream.v3.InternalUpstreamTransport, extensions.transport_sockets.proxy_protocol.v3.ProxyProtocolUpstreamTransport, extensions.transport_sockets.tap.v3.Tap, extensions.transport_sockets.tcp_stats.v3.Config

message TypedExtensionConfig

extension.proto:20

Message type for extension configuration. [#next-major-version: revisit all existing typed_config that doesn't use this wrapper.].

Used in: bootstrap.v3.Bootstrap, bootstrap.v3.FatalAction, bootstrap.v3.Watchdog.WatchdogAction, cluster.v3.Cluster, cluster.v3.LoadBalancingPolicy.Policy, cluster.v3.OutlierDetection, common.key_value.v3.KeyValueStoreConfig, common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate, common.matcher.v3.Matcher.MatcherTree, common.matcher.v3.Matcher.OnMatch, AlternateProtocolsCacheOptions, ApiConfigSource, BindConfig, HealthCheck, Http1ProtocolOptions.HeaderKeyFormat, SubstitutionFormatString, listener.v3.Listener.ConnectionBalanceConfig, listener.v3.QuicProtocolOptions, listener.v3.UdpListenerConfig, rbac.v3.Permission, rbac.v3.Principal, rbac.v3.RBAC.AuditLoggingOptions.AuditLoggerConfig, route.v3.ClusterSpecifierPlugin, route.v3.InternalRedirectPolicy, route.v3.RateLimit.Action, route.v3.RetryPolicy, route.v3.RouteAction, route.v3.RouteMatch, tap.v3.OutputSink, trace.v3.OpenTelemetryConfig, extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig, extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig, extensions.clusters.dns.v3.DnsCluster, extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig, extensions.common.matching.v3.ExtensionWithMatcher, extensions.filters.http.composite.v3.ExecuteFilterAction, extensions.filters.http.compressor.v3.Compressor, extensions.filters.http.credential_injector.v3.CredentialInjector, extensions.filters.http.decompressor.v3.Decompressor, extensions.filters.http.ext_proc.v3.ExternalProcessor, extensions.filters.http.geoip.v3.Geoip, extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.ValueBuilder, extensions.filters.http.stateful_session.v3.StatefulSession, extensions.filters.network.generic_proxy.v3.GenericProxy, extensions.filters.network.http_connection_manager.v3.HttpConnectionManager, extensions.filters.udp.dns_filter.v3.DnsFilterConfig.ClientContextConfig, extensions.http.custom_response.redirect_policy.v3.RedirectPolicy, extensions.transport_sockets.tls.v3.CertificateValidationContext, extensions.transport_sockets.tls.v3.CommonTlsContext, extensions.transport_sockets.tls.v3.CommonTlsContext.CertificateProvider, extensions.upstreams.http.v3.HttpProtocolOptions

message UdpSocketConfig

udp_socket_config.proto:19

Generic UDP socket configuration.

Used in: listener.v3.UdpListenerConfig, extensions.filters.udp.udp_proxy.v3.UdpProxyConfig

message UpstreamHttpProtocolOptions

protocol.proto:118

Used in: cluster.v3.Cluster, extensions.upstreams.http.v3.HttpProtocolOptions

message WatchedDirectory

base.proto:493

A directory that is watched for changes, e.g. by inotify on Linux. Move/rename events inside this directory trigger the watch.

Used in: DataSource, PathConfigSource, extensions.transport_sockets.tls.v3.CertificateValidationContext, extensions.transport_sockets.tls.v3.TlsCertificate