apiserver/pkg/server
Monis Khan e137a3da77 kms: add wiring to support automatic encryption config reload
This change adds a flag --encryption-provider-config-automatic-reload
which will be used to drive automatic reloading of the encryption
config at runtime.  While this flag is set to true, or when KMS v2
plugins are used without KMS v1 plugins, the /healthz endpoints
associated with said plugins are collapsed into a single endpoint at
/healthz/kms-providers - in this state, it is not possible to
configure exclusions for specific KMS providers while including the
remaining ones - ex: using /readyz?exclude=kms-provider-1 to exclude
a particular KMS is not possible.  This single healthz check handles
checking  all configured KMS providers.  When reloading is enabled
but no KMS providers are configured, it is a no-op.

k8s.io/apiserver does not support dynamic addition and removal of
healthz checks at runtime.  Reloading will instead have a single
static healthz check and swap the underlying implementation at
runtime when a config change occurs.

Signed-off-by: Monis Khan <mok@microsoft.com>

Kubernetes-commit: 22e540bc48d9bf698c4f381ccb56ed57dea0dae2
2022-11-02 01:08:42 -04:00
..
dynamiccertificates fsnotify: use event.Has instead of "event.Op&h == h" 2022-10-13 13:42:11 +08:00
egressselector egress_selector.go: Add a dial starts metric. 2022-10-31 12:59:26 -07:00
filters Rename WithAuditID to WithAuditInit 2022-07-12 14:46:27 -07:00
healthz Bump log level for health check warning for missing components 2022-10-17 09:42:09 -04:00
httplog do not print status stack in case of timeout from timeout handler 2022-09-10 10:13:11 +00:00
mux Check in OWNERS modified by update-yamlfmt.sh 2021-12-09 21:31:26 -05:00
options kms: add wiring to support automatic encryption config reload 2022-11-02 01:08:42 -04:00
resourceconfig reduce API surface area of whether a resource is enabled 2022-02-21 17:23:19 -05:00
routes Switch to v3 of github.com/emicklei/go-restful 2022-06-02 10:03:29 -04:00
storage kube-apiserver: print supported media types on failure to find a serializer 2022-11-05 23:03:23 +08:00
config.go apiserver identity: use persistent identity format based on hostname 2022-10-24 11:24:26 -04:00
config_selfclient.go Move the comment to the right line 2021-04-23 00:05:15 +00:00
config_selfclient_test.go run hack/update-netparse-cve.sh 2021-08-20 01:16:14 +02:00
config_test.go add otel tracing to latency filters 2022-10-20 16:17:02 +00:00
deleted_kinds.go Enforce strict handling in alpha 2022-08-23 09:07:46 -04:00
deleted_kinds_test.go Implement Destroy() method for all registries 2022-04-05 12:26:22 +02:00
deprecated_insecure_serving.go Set idle and readheader timeouts 2021-07-27 11:58:45 -04:00
doc.go update docs.go files under staging/src/k8s.io/apiserver/pkg/server 2019-02-03 20:43:13 +00:00
genericapiserver.go Fix formatting of API server diagram 2022-11-06 16:41:11 -08:00
genericapiserver_graceful_termination_test.go apiserver: fix typo in graceful termination test 2022-10-10 10:47:27 -04:00
genericapiserver_test.go Implement Destroy() method for all registries 2022-04-05 12:26:22 +02:00
graceful_shutdown_test.go adds a unit test for checking if graceful shutdown of HTTP2 server works 2020-12-11 13:12:46 +01:00
handler.go Generate and format files 2022-07-19 20:54:13 -04:00
healthz.go Migrate to k8s.io/utils/clock in apiserver 2021-09-14 20:36:07 +02:00
healthz_test.go Migrate to k8s.io/utils/clock in apiserver 2021-09-14 20:36:07 +02:00
hooks.go Generate and format files 2022-07-19 20:54:13 -04:00
lifecycle_signals.go Generate and format files 2022-07-19 20:54:13 -04:00
plugins.go Remove alpha InitializerConfiguration types, Initializers admission plugin 2019-01-16 10:19:44 -05:00
secure_serving.go API Server Changes 2022-03-07 09:20:45 -05:00
signal.go make Kubelet bootstrap certificate signal aware 2020-07-04 12:08:04 +08:00
signal_posix.go generated: Run hack/update-gofmt.sh 2021-08-12 17:13:11 -04:00
signal_windows.go apiservers: add synchronous shutdown mechanism on SIGTERM+INT 2017-08-29 13:16:11 +00:00