pomerium/config/envoyconfig
Kenneth Jenkins c7c2087483
envoy: enable TCP keepalive for internal clusters (#4902)
In split service mode, and during periods of inactivity, the gRPC
connections to the databroker may fall idle. Some network firewalls may
eventually time out an idle TCP connection and even start dropping
subsequent packets once connection traffic resumes. Combined with Linux
default TCP retransmission settings, this could cause a broken
connection to persist for over 15 minutes.

In an attempt to avoid this scenario, enable TCP keepalive for outbound
gRPC connections, matching the Go standard library default settings for
time & interval: 15 seconds for both. (The probe count does not appear
to be set, so it will remain at the OS default.)

Add a test case exercising the BuildClusters() method with the default
configuration options, comparing the results with a reference "golden"
file in the testdata directory. Also add an '-update' flag to make it
easier to update the reference golden when needed:

  go test ./config/envoyconfig -update
2024-01-11 09:12:45 -08:00
..
filemgr core/filemgr: use xxhash instead of sha512 for filenames (#4697) 2023-11-01 13:52:32 -06:00
luascripts core/envoy: fix remove cookie lua script (#4641) 2023-11-09 10:49:56 -07:00
testdata envoy: enable TCP keepalive for internal clusters (#4902) 2024-01-11 09:12:45 -08:00
acmetlsalpn.go autocert: add support for ACME TLS-ALPN (#3590) 2022-08-29 16:19:20 -06:00
acmetlsalpn_test.go core/ci: update linting (#4844) 2023-12-14 09:07:54 -08:00
bootstrap.go core/config: add config version, additional telemetry (#4645) 2023-10-27 15:16:40 -06:00
bootstrap_test.go envoy: set re2 limits very high (#4187) 2023-05-23 08:36:17 -06:00
builder.go
clusters.go envoy: enable TCP keepalive for internal clusters (#4902) 2024-01-11 09:12:45 -08:00
clusters_envoy_admin.go config: remove source, remove deadcode, fix linting issues (#4118) 2023-04-21 17:25:11 -06:00
clusters_test.go envoy: enable TCP keepalive for internal clusters (#4902) 2024-01-11 09:12:45 -08:00
envoyconfig.go core/grpc: fix deprecated protobuf package, remove tools (#4643) 2023-10-26 11:38:54 -06:00
filters.go authorize: incorporate mTLS validation from Envoy (#4374) 2023-07-21 12:17:01 -07:00
http_connection_manager.go config: simplify default set response headers (#4196) 2023-05-30 17:44:06 -06:00
listeners.go core/config: add config version, additional telemetry (#4645) 2023-10-27 15:16:40 -06:00
listeners_envoy_admin.go config: remove source, remove deadcode, fix linting issues (#4118) 2023-04-21 17:25:11 -06:00
listeners_test.go core/config: remove unnecessary authenticate route (#4719) 2023-11-08 09:12:44 -07:00
lua.go envoy: add a filter to store client cert info (#4372) 2023-07-19 13:02:13 -07:00
lua_test.go core/envoy: fix remove cookie lua script (#4641) 2023-11-09 10:49:56 -07:00
outbound.go explicitly list gRPC services accessible via the gRPC listener (#3879) 2023-01-11 12:38:34 -05:00
outbound_test.go explicitly list gRPC services accessible via the gRPC listener (#3879) 2023-01-11 12:38:34 -05:00
per_filter_config.go core/grpc: fix deprecated protobuf package, remove tools (#4643) 2023-10-26 11:38:54 -06:00
protocols.go config: remove source, remove deadcode, fix linting issues (#4118) 2023-04-21 17:25:11 -06:00
protocols_test.go envoyconfig: preserve case of HTTP headers when using HTTP/1 (#3956) 2023-02-10 16:29:10 -07:00
route_configurations.go core/config: add config version, additional telemetry (#4645) 2023-10-27 15:16:40 -06:00
route_configurations_test.go config: simplify default set response headers (#4196) 2023-05-30 17:44:06 -06:00
routes.go core/config: add pass_identity_headers option (#4720) 2023-11-08 13:07:37 -07:00
routes_test.go core/config: add pass_identity_headers option (#4720) 2023-11-08 13:07:37 -07:00
tls.go envoy: configure upstream IP SAN match as needed (#4380) 2023-07-21 12:02:51 -07:00
tls_test.go envoy: configure upstream IP SAN match as needed (#4380) 2023-07-21 12:02:51 -07:00
tracing.go
tracing_test.go