pomerium/config
Joe Kralicky 927f24e1ff
Envoy resource monitoring & overload manager configuration (#5106)
* Initial envoy cgroup resource monitor implementation

* Add cgroupv1 support; add metrics instrumentation

* Slight refactor for more efficient memory limit detection

Instead of reading memory.max/limit_in_bytes on every tick, we
read it once, then again only when it is modified.

To support this change, logic for computing the saturation was moved out
of the cgroup driver and into the resource monitor, and the driver
interface now has separate methods for reading memory usage and limit.

* Code cleanup/lint fixes

* Add platform build tags

* Add unit tests

* Fix lint issues

* Add runtime flag to allow disabling resource monitor

* Clamp saturation values to the range [0.0, 1.0]

* Switch to x/sys/unix; handle inotify IN_IGNORED events
2024-05-28 16:57:09 -04:00
..
envoyconfig core/envoy: exclude unauthorized access from local replies (#5108) 2024-05-09 11:09:38 -06:00
testdata
autocert.go core/ci: update linting (#4844) 2023-12-14 09:07:54 -08:00
autocert_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
codec_type.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
codec_type_test.go config: default to http2 (#3660) 2022-10-12 14:46:06 -06:00
config.go config: no longer stub out HPKE public key fetch (#4853) 2023-12-12 09:57:58 -08:00
config_source.go config: remove deprecated client_ca option (#4918) 2024-01-30 14:12:23 -08:00
config_source_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
constants.go core/config: implement direct response (#4960) 2024-02-15 14:33:56 -07:00
crypt.go
custom.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
custom_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
doc.go
from.go core/config: add support for stripping the port for matching routes (#5085) 2024-04-26 08:24:46 -06:00
from_test.go core/config: add support for stripping the port for matching routes (#5085) 2024-04-26 08:24:46 -06:00
helpers.go core/redis: remove redis (#4768) 2023-11-28 13:14:36 -07:00
helpers_test.go
http.go use tlsClientConfig instead of custom dialer (#3830) 2022-12-27 09:55:36 -07:00
http_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
identity.go core/config: add support for stripping the port for matching routes (#5085) 2024-04-26 08:24:46 -06:00
layered.go core/ci: update linting (#4844) 2023-12-14 09:07:54 -08:00
layered_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
log.go core/config: remove debug option, always use json logs (#4857) 2023-12-15 11:29:05 -07:00
log_level.go config: validate log levels (#4367) 2023-07-17 16:41:48 -06:00
metrics.go config: remove source, remove deadcode, fix linting issues (#4118) 2023-04-21 17:25:11 -06:00
metrics_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
mtls.go config: support client certificate SAN match (#4453) 2023-08-11 13:27:12 -07:00
mtls_test.go core/ci: update linting (#4844) 2023-12-14 09:07:54 -08:00
options.go core/identity: dynamic authenticator registration (#5105) 2024-05-07 16:45:39 -06:00
options_check.go config: remove deprecated client_ca option (#4918) 2024-01-30 14:12:23 -08:00
options_test.go core/identity: dynamic authenticator registration (#5105) 2024-05-07 16:45:39 -06:00
policy.go core/identity: dynamic authenticator registration (#5105) 2024-05-07 16:45:39 -06:00
policy_ppl.go authorize: omit client cert rule when not needed (#4386) 2023-07-24 15:27:57 -07:00
policy_ppl_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
policy_test.go core/config: add support for stripping the port for matching routes (#5085) 2024-04-26 08:24:46 -06:00
runtime_flags.go Envoy resource monitoring & overload manager configuration (#5106) 2024-05-28 16:57:09 -04:00
session.go core/config: remove cookie secure option (#4907) 2024-01-12 13:28:14 -07:00
session_test.go config: allow blank identity providers when loading sessions for service account support (#3709) 2022-10-27 08:32:06 -06:00
trace.go config: remove source, remove deadcode, fix linting issues (#4118) 2023-04-21 17:25:11 -06:00
trace_test.go core/lint: upgrade golangci-lint, replace interface{} with any (#5099) 2024-05-02 14:33:52 -06:00
validate.go config: add cookie_same_site option (#4148) 2023-05-03 14:36:42 -06:00