m/n/kubernetes: introduce feature gate infra

This introduces centralized infrastructure to control feature gates in K8s.

It includes a test to make sure that we do not keep outdated flags in there.

Change-Id: Ife251cbd5210bc8b3757bb3829e91bcdb2e6fdfb
Reviewed-on: https://review.monogon.dev/c/monogon/+/3664
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/kubernetes/apiserver.go b/metropolis/node/kubernetes/apiserver.go
index e4df4a9..476c8bf 100644
--- a/metropolis/node/kubernetes/apiserver.go
+++ b/metropolis/node/kubernetes/apiserver.go
@@ -186,6 +186,7 @@
 			pem.EncodeToMemory(&pem.Block{Type: "PRIVATE KEY", Bytes: s.serverKey})),
 		args.FileOpt("--admission-control-config-file", "admission-control.json", admissionConfigRaw),
 		"--allow-privileged=true",
+		extraFeatureGates.AsFlag(),
 	)
 	if args.Error() != nil {
 		return err