pomerium/config/envoyconfig
Kenneth Jenkins 1d6aa75f03
envoy: separate gRPC listener configuration (#4365)
Pomerium configures a gRPC listener in Envoy, for internal communication
between the various Pomerium services. Currently this listener shares
much of the same configuration as the main HTTP listener, based on the
main Pomerium configuration options.

However, some configuration options don't make sense for the gRPC
listener. Specifically, the `codec_type` option should not be applied to
the gRPC listener, as gRPC requires HTTP/2. Also, any client certificate
settings should not apply to the gRPC listener.

Separate the gRPC listener configuration from the main HTTP listener
configuration, so we can avoid applying these configuration options.
Instead set AlpnProtocols to just "h2" (HTTP/2), and do not set any
ValidationContextType on the DownstreamTlsContext (no client certificate
validation).

Specifically, inline the call to buildTLSSocket() within the body of
buildGRPCListener(). Extract a new method envoyCertificates() from
buildDownstreamTLSContextMulti(), to avoid repeating this logic.
2023-07-17 20:09:28 -07:00
..
filemgr test: use T.TempDir to create temporary test directory (#3725) 2022-11-08 09:16:32 -07:00
luascripts lua: fix rewrite response headers to handle dashes in URLs (#3980) 2023-02-16 08:51:53 -07:00
testdata Merge pull request from GHSA-pvrc-wvj2-f59p 2023-05-26 13:34:21 -07:00
acmetlsalpn.go autocert: add support for ACME TLS-ALPN (#3590) 2022-08-29 16:19:20 -06:00
acmetlsalpn_test.go autocert: add support for ACME TLS-ALPN (#3590) 2022-08-29 16:19:20 -06:00
bootstrap.go envoy: set re2 limits very high (#4187) 2023-05-23 08:36:17 -06:00
bootstrap_test.go envoy: set re2 limits very high (#4187) 2023-05-23 08:36:17 -06:00
builder.go avoid null reproxy handler (#3345) 2022-05-11 12:16:59 -04:00
clusters.go config: add additional dns lookup families, default to V4_PREFERRED (#3957) 2023-02-10 16:29:23 -07: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 config: add additional dns lookup families, default to V4_PREFERRED (#3957) 2023-02-10 16:29:23 -07:00
envoyconfig.go config: validate log levels (#4367) 2023-07-17 16:41:48 -06:00
filters.go autocert: add support for ACME TLS-ALPN (#3590) 2022-08-29 16:19:20 -06:00
http_connection_manager.go config: simplify default set response headers (#4196) 2023-05-30 17:44:06 -06:00
listeners.go envoy: separate gRPC listener configuration (#4365) 2023-07-17 20:09:28 -07: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 fix WillHaveCertificateForServerName check to be strict match for derived cert name (#4167) 2023-05-09 18:54:50 -04:00
lua.go envoyconfig: add all routes to all filter chains (#3596) 2022-09-07 09:55:03 -06:00
lua_test.go lua: fix rewrite response headers to handle dashes in URLs (#3980) 2023-02-16 08:51:53 -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 Merge pull request from GHSA-pvrc-wvj2-f59p 2023-05-26 13:34:21 -07: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 config: simplify default set response headers (#4196) 2023-05-30 17:44:06 -06:00
route_configurations_test.go config: simplify default set response headers (#4196) 2023-05-30 17:44:06 -06:00
routes.go config: add support for $pomerium.id_token and $pomerium.access_token in set_request_headers (#4219) 2023-06-01 16:00:02 -06:00
routes_test.go config: add support for $pomerium.id_token and $pomerium.access_token in set_request_headers (#4219) 2023-06-01 16:00:02 -06:00
tls.go envoy: upgrade to 1.21.1 (#3186) 2022-03-24 10:16:07 -06:00
tls_test.go cryptutil: generate certificates from deriveca (#3992) 2023-02-23 08:38:56 -07:00
tracing.go protoutil: add NewAny method for deterministic serialization (#2462) 2021-08-09 17:51:57 -06:00
tracing_test.go envoyconfig: use zipkin tracer (#2265) 2021-06-03 09:28:00 -06:00