Documentation ¶
Index ¶
- Constants
- Variables
- func GetResponseFlags(resp *ResponseFlags) (primary string, secondary string)
- type Address
- type Address_EnvoyInternalAddress
- type Address_Pipe
- type Address_SocketAddress
- type BuildVersion
- type CombinedEntry
- type CommonProperties
- type Common_Traffic
- type ConnectionProperties
- type ContextParams
- type EnvoyIdentifier
- type EnvoyInternalAddress
- type EnvoyInternalAddress_ServerListenerName
- type Extension
- type HTTPAccessLogEntry
- type HTTPAccessLogEntry_HTTPVersion
- type HTTPRequestProperties
- type HTTPResponseProperties
- type Locality
- type Message
- type Node
- type Node_UserAgentBuildVersion
- type Node_UserAgentVersion
- type Pipe
- type Provenance
- type RequestMethod
- type ResponseFlags
- type ResponseFlags_Encoded
- type ResponseFlags_Unauthorized
- type ResponseFlags_Unauthorized_Reason
- type SemanticVersion
- type SocketAddress
- type SocketAddress_NamedPort
- type SocketAddress_PortValue
- type SocketAddress_Protocol
- type TCPAccessLogEntry
- type TLSProperties
- type TLSProperties_CertificateProperties
- type TLSProperties_CertificateProperties_SubjectAltName
- type TLSProperties_TLSVersion
Constants ¶
const ( NONE = "-" DOWNSTREAM_CONNECTION_TERMINATION = "DC" FAILED_LOCAL_HEALTH_CHECK = "LH" NO_HEALTHY_UPSTREAM = "UH" UPSTREAM_REQUEST_TIMEOUT = "UT" LOCAL_RESET = "LR" UPSTREAM_REMOTE_RESET = "UR" UPSTREAM_CONNECTION_FAILURE = "UF" UPSTREAM_CONNECTION_TERMINATION = "UC" UPSTREAM_OVERFLOW = "UO" UPSTREAM_RETRY_LIMIT_EXCEEDED = "URX" NO_ROUTE_FOUND = "NR" DELAY_INJECTED = "DI" FAULT_INJECTED = "FI" RATE_LIMITED = "RL" UNAUTHORIZED_EXTERNAL_SERVICE = "UAEX" RATELIMIT_SERVICE_ERROR = "RLSE" STREAM_IDLE_TIMEOUT = "SI" INVALID_ENVOY_REQUEST_HEADERS = "IH" DOWNSTREAM_PROTOCOL_ERROR = "DPE" UPSTREAM_MAX_STREAM_DURATION_REACHED = "UMSDR" RESPONSE_FROM_CACHE_FILTER = "RFCF" NO_FILTER_CONFIG_FOUND = "NFCF" DURATION_TIMEOUT = "DT" UPSTREAM_PROTOCOL_ERROR = "UPE" NO_CLUSTER_FOUND = "NC" OVERLOAD_MANAGER = "OM" DNS_FAIL = "DF" )
const ( // Local server healthcheck failed. FailedLocalHealthCheck = ResponseFlags_Encoded(0x1) // No healthy upstream. NoHealthyUpstream = ResponseFlags_Encoded(0x2) // Request timeout on upstream. UpstreamRequestTimeout = ResponseFlags_Encoded(0x4) // Local codec level reset was sent on the stream. LocalReset = ResponseFlags_Encoded(0x8) // Remote codec level reset was received on the stream. UpstreamRemoteReset = ResponseFlags_Encoded(0x10) // Local reset by a connection pool due to an initial connection failure. UpstreamConnectionFailure = ResponseFlags_Encoded(0x20) // If the stream was locally reset due to connection termination. UpstreamConnectionTermination = ResponseFlags_Encoded(0x40) // The stream was reset because of a resource overflow. UpstreamOverflow = ResponseFlags_Encoded(0x80) // No route found for a given request. NoRouteFound = ResponseFlags_Encoded(0x100) // Request was delayed before proxying. DelayInjected = ResponseFlags_Encoded(0x200) // Abort with error code was injected. FaultInjected = ResponseFlags_Encoded(0x400) // Request was ratelimited locally by rate limit filter. RateLimited = ResponseFlags_Encoded(0x800) UnauthorizedExternalService = ResponseFlags_Encoded(0x1000) // Unable to call Ratelimit service. RateLimitServiceError = ResponseFlags_Encoded(0x2000) // If the stream was reset due to a downstream connection termination. DownstreamConnectionTermination = ResponseFlags_Encoded(0x4000) // Exceeded upstream retry limit. UpstreamRetryLimitExceeded = ResponseFlags_Encoded(0x8000) // Request hit the stream idle timeout, triggering a 408. StreamIdleTimeout = ResponseFlags_Encoded(0x10000) // Request specified x-envoy-* header values that failed strict header checks. InvalidEnvoyRequestHeaders = ResponseFlags_Encoded(0x20000) // Downstream request had an HTTP protocol error DownstreamProtocolError = ResponseFlags_Encoded(0x40000) // Upstream request reached to user defined max stream duration. UpstreamMaxStreamDurationReached = ResponseFlags_Encoded(0x80000) // True if the response was served from an Envoy cache filter. ResponseFromCacheFilter = ResponseFlags_Encoded(0x100000) // Filter config was not received within the permitted warming deadline. NoFilterConfigFound = ResponseFlags_Encoded(0x200000) // Request or connection exceeded the downstream connection duration. DurationTimeout = ResponseFlags_Encoded(0x400000) // Upstream response had an HTTP protocol error UpstreamProtocolError = ResponseFlags_Encoded(0x800000) // No cluster found for a given request. NoClusterFound = ResponseFlags_Encoded(0x1000000) // Overload Manager terminated the stream. OverloadManager = ResponseFlags_Encoded(0x2000000) // DNS resolution failed. DnsResolutionFailed = ResponseFlags_Encoded(0x4000000) // ATTENTION: MAKE SURE THIS REMAINS EQUAL TO THE LAST FLAG. LastFlag = DnsResolutionFailed )
Variables ¶
var ( SocketAddress_Protocol_name = map[int32]string{ 0: "TCP", 1: "UDP", } SocketAddress_Protocol_value = map[string]int32{ "TCP": 0, "UDP": 1, } )
Enum value maps for SocketAddress_Protocol.
var ( Common_Traffic_name = map[int32]string{ 0: "UNSPECIFIED", 1: "ingress", 2: "egress", 3: "ping", } Commmon_Traffic_value = map[string]int32{ "UNSPECIFIED": 0, "ingress": 1, "egress": 2, "ping": 3, } )
Enum value maps for Common_Traffic
var ( HTTPAccessLogEntry_HTTPVersion_name = map[int32]string{ 0: "PROTOCOL_UNSPECIFIED", 1: "HTTP10", 2: "HTTP11", 3: "HTTP2", 4: "HTTP3", } HTTPAccessLogEntry_HTTPVersion_value = map[string]int32{ "PROTOCOL_UNSPECIFIED": 0, "HTTP10": 1, "HTTP11": 2, "HTTP2": 3, "HTTP3": 4, } )
Enum value maps for HTTPAccessLogEntry_HTTPVersion.
var ( RequestMethod_name = map[int32]string{ 0: "METHOD_UNSPECIFIED", 1: "GET", 2: "HEAD", 3: "POST", 4: "PUT", 5: "DELETE", 6: "CONNECT", 7: "OPTIONS", 8: "TRACE", 9: "PATCH", } RequestMethod_value = map[string]int32{ "METHOD_UNSPECIFIED": 0, "GET": 1, "HEAD": 2, "POST": 3, "PUT": 4, "DELETE": 5, "CONNECT": 6, "OPTIONS": 7, "TRACE": 8, "PATCH": 9, } )
Enum value maps for RequestMethod.
var (0: "REASON_UNSPECIFIED", 1: "EXTERNAL_SERVICE", } "REASON_UNSPECIFIED": 0, "EXTERNAL_SERVICE": 1, } )
Enum value maps for ResponseFlags_Unauthorized_Reason.
var ( TLSProperties_TLSVersion_name = map[int32]string{ 0: "VERSION_UNSPECIFIED", 1: "TLSv1", 2: "TLSv1_1", 3: "TLSv1_2", 4: "TLSv1_3", } TLSProperties_TLSVersion_value = map[string]int32{ "VERSION_UNSPECIFIED": 0, "TLSv1": 1, "TLSv1_1": 2, "TLSv1_2": 3, "TLSv1_3": 4, } )
Enum value maps for TLSProperties_TLSVersion.
Functions ¶
func GetResponseFlags ¶
func GetResponseFlags(resp *ResponseFlags) (primary string, secondary string)
Types ¶
type Address ¶
type Address struct { // Types that are assignable to Address: // *Address_SocketAddress // *Address_Pipe // *Address_EnvoyInternalAddress Address isAddress_Address `protobuf_oneof:"address"` // contains filtered or unexported fields }
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.
type Address_EnvoyInternalAddress ¶
type Address_EnvoyInternalAddress struct { // Specifies a user-space address handled by :ref:`internal listeners // <envoy_v3_api_field_config.listener.v3.Listener.internal_listener>`. EnvoyInternalAddress *EnvoyInternalAddress `protobuf:"bytes,3,opt,name=envoy_internal_address,json=envoyInternalAddress,proto3,oneof"` }
type Address_Pipe ¶
type Address_Pipe struct {
Pipe *Pipe `protobuf:"bytes,2,opt,name=pipe,proto3,oneof"`
}
type Address_SocketAddress ¶
type Address_SocketAddress struct {
SocketAddress *SocketAddress `protobuf:"bytes,1,opt,name=socket_address,json=socketAddress,proto3,oneof"`
}
type BuildVersion ¶
type BuildVersion struct { // SemVer version of extension. // Note..: Had to remove the v3. prefix Version *SemanticVersion `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Free-form build information. // Envoy defines several well known keys in the source/common/version/version.h file Metadata *_struct.Struct `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` // contains filtered or unexported fields }
BuildVersion combines SemVer version of extension with free-form build information (i.e. 'alpha', 'private-build') as a set of strings.
type CombinedEntry ¶
type CombinedEntry struct { Common *CommonProperties Http *HTTPAccessLogEntry Tcp *TCPAccessLogEntry }
type CommonProperties ¶
type CommonProperties struct { Traffic Common_Traffic SampleRate float64 // Rate limiting DownstreamRemoteAddress *Address DownstreamLocalAddress *Address TlsProperties *TLSProperties StartTime *time.Time RequestDuration *time.Duration // = TimeToLastRxByte ResponseDuration *time.Duration // = TimeToLastUpstreamRxByte TimeToLastRxByte *time.Duration TimeToFirstUpstreamTxByte *time.Duration TimeToLastUpstreamTxByte *time.Duration TimeToFirstUpstreamRxByte *time.Duration TimeToLastUpstreamRxByte *time.Duration TimeToFirstDownstreamTxByte *time.Duration TimeToLastDownstreamTxByte *time.Duration UpstreamRemoteAddress *Address UpstreamLocalAddress *Address //UpstreamCluster string UpstreamCluster util.DictionaryValue ResponseFlags *ResponseFlags UpstreamTransportFailureReason string //RouteName string RouteName util.DictionaryValue DownstreamDirectRemoteAddress *Address CustomTags map[string]string Duration *time.Duration UpstreamRequestAttemptCount uint32 ConnectionTerminationDetails string }
type Common_Traffic ¶
type Common_Traffic int32
const ( Common_Traffic_UNSPECIFIED Common_Traffic = 0 Common_Traffic_Ingress Common_Traffic = 1 Common_Traffic_Egress Common_Traffic = 2 Common_Traffic_Ping Common_Traffic = 3 )
type ConnectionProperties ¶
type ConnectionProperties struct { // Number of bytes received from downstream. ReceivedBytes uint64 `protobuf:"varint,1,opt,name=received_bytes,json=receivedBytes,proto3" json:"received_bytes,omitempty"` // Number of bytes sent to downstream. SentBytes uint64 `protobuf:"varint,2,opt,name=sent_bytes,json=sentBytes,proto3" json:"sent_bytes,omitempty"` }
type ContextParams ¶
type EnvoyIdentifier ¶
type EnvoyInternalAddress ¶
type EnvoyInternalAddress struct { // Types that are assignable to AddressNameSpecifier: // *EnvoyInternalAddress_ServerListenerName AddressNameSpecifier isEnvoyInternalAddress_AddressNameSpecifier `protobuf_oneof:"address_name_specifier"` // Specifies an endpoint identifier to distinguish between multiple endpoints for the same internal listener in a // single upstream pool. Only used in the upstream addresses for tracking changes to individual endpoints. This, for // example, may be set to the final destination IP for the target internal listener. EndpointId string `protobuf:"bytes,2,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"` // contains filtered or unexported fields }
The address represents an envoy internal listener. [#comment: TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.]
type EnvoyInternalAddress_ServerListenerName ¶
type EnvoyInternalAddress_ServerListenerName struct { // Specifies the :ref:`name <envoy_v3_api_field_config.listener.v3.Listener.name>` of the // internal listener. ServerListenerName string `protobuf:"bytes,1,opt,name=server_listener_name,json=serverListenerName,proto3,oneof"` }
type Extension ¶
type Extension struct { // This is the name of the Envoy filter as specified in the Envoy // configuration, e.g. envoy.filters.http.router, com.acme.widget. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Category of the extension. // Extension category names use reverse DNS notation. For instance "envoy.filters.listener" // for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from // acme.com vendor. // [#comment:TODO(yanavlasov): Link to the doc with existing envoy category names.] Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // [#not-implemented-hide:] Type descriptor of extension configuration proto. // [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.] // [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.] // // Deprecated: Do not use. TypeDescriptor string `protobuf:"bytes,3,opt,name=type_descriptor,json=typeDescriptor,proto3" json:"type_descriptor,omitempty"` // The version is a property of the extension and maintained independently // of other extensions and the Envoy API. // This field is not set when extension did not provide version information. Version *BuildVersion `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // Indicates that the extension is present but was disabled via dynamic configuration. Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` // Type URLs of extension configuration protos. TypeUrls []string `protobuf:"bytes,6,rep,name=type_urls,json=typeUrls,proto3" json:"type_urls,omitempty"` // contains filtered or unexported fields }
Version and identification for an Envoy extension. [#next-free-field: 7]
type HTTPAccessLogEntry ¶
type HTTPAccessLogEntry struct { // Common properties shared by all Envoy access logs. //CommonProperties *Common ProtocolVersion HTTPAccessLogEntry_HTTPVersion // Description of the incoming HTTP request. Request *HTTPRequestProperties // Description of the outgoing HTTP response. Response *HTTPResponseProperties }
type HTTPAccessLogEntry_HTTPVersion ¶
type HTTPAccessLogEntry_HTTPVersion int32
const ( HTTPAccessLogEntry_PROTOCOL_UNSPECIFIED HTTPAccessLogEntry_HTTPVersion = 0 HTTPAccessLogEntry_HTTP10 HTTPAccessLogEntry_HTTPVersion = 1 HTTPAccessLogEntry_HTTP11 HTTPAccessLogEntry_HTTPVersion = 2 HTTPAccessLogEntry_HTTP2 HTTPAccessLogEntry_HTTPVersion = 3 HTTPAccessLogEntry_HTTP3 HTTPAccessLogEntry_HTTPVersion = 4 )
type HTTPRequestProperties ¶
type HTTPRequestProperties struct { // The request method (RFC 7231/2616). RequestMethod RequestMethod // The scheme portion of the incoming request URI. //Scheme string Scheme util.DictionaryValue // HTTP/2 “:authority“ or HTTP/1.1 “Host“ header value. //Authority string Authority util.DictionaryValue // The port of the incoming request URI // (unused currently, as port is composed onto authority). Port uint32 // The path portion from the incoming request URI. //Path string Path util.DictionaryValue // Value of the “User-Agent“ request header. //UserAgent string UserAgent util.DictionaryValue // Value of the “Referer“ request header. //Referer string Referer util.DictionaryValue // Value of the “X-Forwarded-For“ request header. //ForwardedFor string ForwardedFor util.DictionaryValue // Value of the “X-Request-Id“ request header // // This header is used by Envoy to uniquely identify a request. // It will be generated for all external requests and internal requests that // do not already have a request ID. RequestId string // Value of the “X-Envoy-Original-Path“ request header. //OriginalPath string OriginalPath util.DictionaryValue // Size of the HTTP request headers in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. RequestHeadersBytes uint64 // Size of the HTTP request body in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. RequestBodyBytes uint64 // Map of additional headers that have been configured to be logged. RequestHeaders map[string]string }
type HTTPResponseProperties ¶
type HTTPResponseProperties struct { // The HTTP response code returned by Envoy. ResponseCode uint32 // Size of the HTTP response headers in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. ResponseHeadersBytes uint64 // Size of the HTTP response body in bytes. // // This value is captured from the OSI layer 7 perspective, i.e. it does not // include overhead from framing or encoding at other networking layers. ResponseBodyBytes uint64 // Map of additional headers configured to be logged. ResponseHeaders map[string]string // Map of trailers configured to be logged. ResponseTrailers map[string]string // The HTTP response code details. //ResponseCodeDetails string ResponseCodeDetails util.DictionaryValue }
[#next-free-field: 7]
type Locality ¶
type Locality struct { // Region this :ref:`zone <envoy_v3_api_field_config.core.v3.Locality.zone>` belongs to. Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` // Defines the local service zone where Envoy is running. Though optional, it // should be set if discovery service routing is used and the discovery // service exposes :ref:`zone data <envoy_v3_api_field_config.endpoint.v3.LocalityLbEndpoints.locality>`, // either in this message or via :option:`--service-zone`. The meaning of zone // is context dependent, e.g. `Availability Zone (AZ) // <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_ // on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on // GCP, etc. Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"` // When used for locality of upstream hosts, this field further splits zone // into smaller chunks of sub-zones so they can be load balanced // independently. SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"` // contains filtered or unexported fields }
Identifies location of where either Envoy runs or where upstream hosts run.
type Message ¶
type Message struct { Identifier *Provenance Dictionary *util.InvertedDictionary LogEntries []*CombinedEntry }
type Node ¶
type Node struct { // An opaque node identifier for the Envoy node. This also provides the local // service node name. It should be set if any of the following features are // used: :ref:`statsd <arch_overview_statistics>`, :ref:`CDS // <config_cluster_manager_cds>`, and :ref:`HTTP tracing // <arch_overview_tracing>`, either in this message or via // :option:`--service-node`. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Defines the local service cluster name where Envoy is running. Though // optional, it should be set if any of the following features are used: // :ref:`statsd <arch_overview_statistics>`, :ref:`health check cluster // verification // <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher>`, // :ref:`runtime override directory <envoy_v3_api_msg_config.bootstrap.v3.Runtime>`, // :ref:`user agent addition // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent>`, // :ref:`HTTP global rate limiting <config_http_filters_rate_limit>`, // :ref:`CDS <config_cluster_manager_cds>`, and :ref:`HTTP tracing // <arch_overview_tracing>`, either in this message or via // :option:`--service-cluster`. Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // Opaque metadata extending the node identifier. Envoy will pass this // directly to the management server. Metadata *_struct.Struct `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // Map from xDS resource type URL to dynamic context parameters. These may vary at runtime (unlike // other fields in this message). For example, the xDS client may have a shard identifier that // changes during the lifetime of the xDS client. In Envoy, this would be achieved by updating the // dynamic context on the Server::Instance's LocalInfo context provider. The shard ID dynamic // parameter then appears in this field during future discovery requests. DynamicParameters map[string]*ContextParams `` /* 201-byte string literal not displayed */ // Locality specifying where the Envoy instance is running. Locality *Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"` // Free-form string that identifies the entity requesting config. // E.g. "envoy" or "grpc" UserAgentName string `protobuf:"bytes,6,opt,name=user_agent_name,json=userAgentName,proto3" json:"user_agent_name,omitempty"` // Types that are assignable to UserAgentVersionType: // *Node_UserAgentVersion // *Node_UserAgentBuildVersion UserAgentVersionType isNode_UserAgentVersionType `protobuf_oneof:"user_agent_version_type"` // List of extensions and their versions supported by the node. Extensions []*Extension `protobuf:"bytes,9,rep,name=extensions,proto3" json:"extensions,omitempty"` // Client feature support list. These are well known features described // in the Envoy API repository for a given major version of an API. Client features // use reverse DNS naming scheme, for example “com.acme.feature“. // See :ref:`the list of features <client_features>` that xDS client may // support. ClientFeatures []string `protobuf:"bytes,10,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"` // Known listening ports on the node as a generic hint to the management server // for filtering :ref:`listeners <config_listeners>` to be returned. For example, // if there is a listener bound to port 80, the list can optionally contain the // SocketAddress “(0.0.0.0,80)“. The field is optional and just a hint. // // Deprecated: Do not use. ListeningAddresses []*Address `protobuf:"bytes,11,rep,name=listening_addresses,json=listeningAddresses,proto3" json:"listening_addresses,omitempty"` // contains filtered or unexported fields }
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]
type Node_UserAgentBuildVersion ¶
type Node_UserAgentBuildVersion struct { // Structured version of the entity requesting config. UserAgentBuildVersion *BuildVersion `protobuf:"bytes,8,opt,name=user_agent_build_version,json=userAgentBuildVersion,proto3,oneof"` }
type Node_UserAgentVersion ¶
type Node_UserAgentVersion struct { // Free-form string that identifies the version of the entity requesting config. // E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild" UserAgentVersion string `protobuf:"bytes,7,opt,name=user_agent_version,json=userAgentVersion,proto3,oneof"` }
type Pipe ¶
type Pipe struct { // Unix Domain Socket path. On Linux, paths starting with '@' will use the // abstract namespace. The starting '@' is replaced by a null byte by Envoy. // Paths starting with '@' will result in an error in environments other than // Linux. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The mode for the Pipe. Not applicable for abstract sockets. Mode uint32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` // contains filtered or unexported fields }
type Provenance ¶
type Provenance struct { Locality *Locality // Region (data center), Zone, SubZone (cluster) Application string // (service name), (container name), (uri host) InstanceId string // (pod), (node), (physical host) identifier }
Provenance contains the attributes needed to identify a log entry's place of origin, down to the instance
type RequestMethod ¶
type RequestMethod int32
HTTP request method.
const ( RequestMethod_METHOD_UNSPECIFIED RequestMethod = 0 RequestMethod_GET RequestMethod = 1 RequestMethod_HEAD RequestMethod = 2 RequestMethod_POST RequestMethod = 3 RequestMethod_PUT RequestMethod = 4 RequestMethod_DELETE RequestMethod = 5 RequestMethod_CONNECT RequestMethod = 6 RequestMethod_OPTIONS RequestMethod = 7 RequestMethod_TRACE RequestMethod = 8 RequestMethod_PATCH RequestMethod = 9 )
type ResponseFlags ¶
type ResponseFlags struct { Encoded ResponseFlags_Encoded }
Flags indicating occurrences during request/response processing.
type ResponseFlags_Encoded ¶
type ResponseFlags_Encoded uint32
type ResponseFlags_Unauthorized ¶
type ResponseFlags_Unauthorized struct {
}type ResponseFlags_Unauthorized_Reason ¶
type ResponseFlags_Unauthorized_Reason int32
Reasons why the request was unauthorized
const ( ResponseFlags_Unauthorized_Reason = 1 )ResponseFlags_Unauthorized_EXTERNAL_SERVICE
type SemanticVersion ¶
Envoy uses SemVer (https://semver.org/). Major/minor versions indicate expected behaviors and APIs, the patch version field is used only for security fixes and can be generally ignored.
type SocketAddress ¶
type SocketAddress struct { Protocol SocketAddress_Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=envoy.config.core.v3.SocketAddress_Protocol" json:"protocol,omitempty"` // The address for this socket. :ref:`Listeners <config_listeners>` will bind // to the address. An empty address is not allowed. Specify “0.0.0.0“ or “::“ // to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: // It is possible to distinguish a Listener address via the prefix/suffix matching // in :ref:`FilterChainMatch <envoy_v3_api_msg_config.listener.v3.FilterChainMatch>`.] When used // within an upstream :ref:`BindConfig <envoy_v3_api_msg_config.core.v3.BindConfig>`, the address // controls the source address of outbound connections. For :ref:`clusters // <envoy_v3_api_msg_config.cluster.v3.Cluster>`, the cluster type determines whether the // address must be an IP (“STATIC“ or “EDS“ clusters) or a hostname resolved by DNS // (“STRICT_DNS“ or “LOGICAL_DNS“ clusters). Address resolution can be customized // via :ref:`resolver_name <envoy_v3_api_field_config.core.v3.SocketAddress.resolver_name>`. Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // Types that are assignable to PortSpecifier: // *SocketAddress_PortValue // *SocketAddress_NamedPort PortSpecifier isSocketAddress_PortSpecifier `protobuf_oneof:"port_specifier"` // The name of the custom resolver. This must have been registered with Envoy. If // this is empty, a context dependent default applies. If the address is a concrete // IP address, no resolution will occur. If address is a hostname this // should be set for resolution other than DNS. Specifying a custom resolver with // “STRICT_DNS“ or “LOGICAL_DNS“ will generate an error at runtime. ResolverName string `protobuf:"bytes,5,opt,name=resolver_name,json=resolverName,proto3" json:"resolver_name,omitempty"` // When binding to an IPv6 address above, this enables `IPv4 compatibility // <https://tools.ietf.org/html/rfc3493#page-11>`_. Binding to “::“ will // allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into // IPv6 space as “::FFFF:<IPv4-address>“. Ipv4Compat bool `protobuf:"varint,6,opt,name=ipv4_compat,json=ipv4Compat,proto3" json:"ipv4_compat,omitempty"` // contains filtered or unexported fields }
type SocketAddress_NamedPort ¶
type SocketAddress_NamedPort struct { // This is only valid if :ref:`resolver_name // <envoy_v3_api_field_config.core.v3.SocketAddress.resolver_name>` is specified below and the // named resolver is capable of named port resolution. NamedPort string `protobuf:"bytes,4,opt,name=named_port,json=namedPort,proto3,oneof"` }
type SocketAddress_PortValue ¶
type SocketAddress_PortValue struct {
PortValue uint32 `protobuf:"varint,3,opt,name=port_value,json=portValue,proto3,oneof"`
}
type SocketAddress_Protocol ¶
type SocketAddress_Protocol int32
const ( SocketAddress_TCP SocketAddress_Protocol = 0 SocketAddress_UDP SocketAddress_Protocol = 1 )
type TCPAccessLogEntry ¶
type TCPAccessLogEntry struct { // Common properties shared by all Envoy access logs. //CommonProperties *Common // Properties of the TCP connection. ConnectionProperties *ConnectionProperties }
type TLSProperties ¶
type TLSProperties struct { // Version of TLS that was negotiated. TlsVersion TLSProperties_TLSVersion // TLS cipher suite negotiated during handshake. The value is a // four-digit hex code defined by the IANA TLS Cipher Suite Registry // (e.g. “009C“ for “TLS_RSA_WITH_AES_128_GCM_SHA256“). // // Here it is expressed as an integer. TlsCipherSuite uint32 // SNI hostname from handshake. TlsSniHostname string // Properties of the local certificate used to negotiate TLS. LocalCertificateProperties *TLSProperties_CertificateProperties // Properties of the peer certificate used to negotiate TLS. PeerCertificateProperties *TLSProperties_CertificateProperties // The TLS session ID. TlsSessionId string // The “JA3“ fingerprint when “JA3“ fingerprinting is enabled. Ja3Fingerprint string }
type TLSProperties_CertificateProperties ¶
type TLSProperties_CertificateProperties struct { // SANs present in the certificate. SubjectAltName []*TLSProperties_CertificateProperties_SubjectAltName // The subject field of the certificate. Subject string }
type TLSProperties_CertificateProperties_SubjectAltName ¶
type TLSProperties_CertificateProperties_SubjectAltName struct { // Types that are assignable to San: // *TLSProperties_CertificateProperties_SubjectAltName_Uri // *TLSProperties_CertificateProperties_SubjectAltName_Dns //San isTLSProperties_CertificateProperties_SubjectAltName_San `protobuf_oneof:"san"` Dns string Uri string }
type TLSProperties_TLSVersion ¶
type TLSProperties_TLSVersion int32
const ( TLSProperties_VERSION_UNSPECIFIED TLSProperties_TLSVersion = 0 TLSProperties_TLSv1 TLSProperties_TLSVersion = 1 TLSProperties_TLSv1_1 TLSProperties_TLSVersion = 2 TLSProperties_TLSv1_2 TLSProperties_TLSVersion = 3 TLSProperties_TLSv1_3 TLSProperties_TLSVersion = 4 )