ListenerOptions

Package: gloo.solo.io

Types:

Source File: github.com/solo-io/gloo/projects/gloo/api/v1/listener_options.proto


ListenerOptions

Optional, feature-specific configuration that lives on gateways. Each ListenerOption object contains configuration for a specific feature. Note to developers: new Listener plugins must be added to this struct to be usable by Gloo. (plugins currently need to be compiled into Gloo)

"accessLoggingService": .als.options.gloo.solo.io.AccessLoggingService
"extensions": .gloo.solo.io.Extensions
"perConnectionBufferLimitBytes": .google.protobuf.UInt32Value
"socketOptions": []solo.io.envoy.api.v2.core.SocketOption
"proxyProtocol": .proxy_protocol.options.gloo.solo.io.ProxyProtocol
"connectionBalanceConfig": .gloo.solo.io.ConnectionBalanceConfig
"listenerAccessLoggingService": .als.options.gloo.solo.io.AccessLoggingService
"tcpStats": .google.protobuf.BoolValue

Field Type Description
accessLoggingService .als.options.gloo.solo.io.AccessLoggingService Configuration for access logging in a filter like the HttpConnectionManager.
extensions .gloo.solo.io.Extensions Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo’s API.
perConnectionBufferLimitBytes .google.protobuf.UInt32Value Soft limit on size of the listener’s new connection read and write buffers. If unspecified, defaults to 1MiB For more info, check out the Envoy docs.
socketOptions []solo.io.envoy.api.v2.core.SocketOption Additional socket options that may not be present in Envoy source code or precompiled binaries.
proxyProtocol .proxy_protocol.options.gloo.solo.io.ProxyProtocol Enable ProxyProtocol support for this listener.
connectionBalanceConfig .gloo.solo.io.ConnectionBalanceConfig Configuration for listener connection balancing.
listenerAccessLoggingService .als.options.gloo.solo.io.AccessLoggingService If enabled this sets up an early access logging service for the listener. Added initially to support listener level logging for HTTP listeners. For more info see https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto#envoy-v3-api-field-config-listener-v3-listener-access-log.
tcpStats .google.protobuf.BoolValue If true, will wrap all filter chains in the listener with a TCP stats transport socket, which is a passthrough listener that can report low-level Linux TCP stats, useful for diagnosis and triage.

ConnectionBalanceConfig

Configuration for listener connection balancing.

"exactBalance": .gloo.solo.io.ConnectionBalanceConfig.ExactBalance

Field Type Description
exactBalance .gloo.solo.io.ConnectionBalanceConfig.ExactBalance

ExactBalance

A connection balancer implementation that does exact balancing. This means that a lock is held during balancing so that connection counts are nearly exactly balanced between worker threads. This is “nearly” exact in the sense that a connection might close in parallel thus making the counts incorrect, but this should be rectified on the next accept. This balancer sacrifices accept throughput for accuracy and should be used when there are a small number of connections that rarely cycle (e.g., service mesh gRPC egress).


Field Type Description