From a0e9596ae2307d92e07c7d2a83cce2f1c0dd56bd Mon Sep 17 00:00:00 2001 From: Povilas Versockas Date: Fri, 20 Mar 2020 16:30:19 +0200 Subject: [PATCH] Allow disabling webhook self registration --- .../pkg/admission-controller/main.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/vertical-pod-autoscaler/pkg/admission-controller/main.go b/vertical-pod-autoscaler/pkg/admission-controller/main.go index c9ad10dbb4af..35d504422a4e 100644 --- a/vertical-pod-autoscaler/pkg/admission-controller/main.go +++ b/vertical-pod-autoscaler/pkg/admission-controller/main.go @@ -54,13 +54,14 @@ var ( tlsPrivateKey: flag.String("tls-private-key", "/etc/tls-certs/serverKey.pem", "Path to server certificate key PEM file."), } - port = flag.Int("port", 8000, "The port to listen on.") - address = flag.String("address", ":8944", "The address to expose Prometheus metrics.") - namespace = os.Getenv("NAMESPACE") - serviceName = flag.String("webhook-service", "vpa-webhook", "Kubernetes service under which webhook is registered. Used when registerByURL is set to false.") - webhookAddress = flag.String("webhook-address", "", "Address under which webhook is registered. Used when registerByURL is set to true.") - webhookPort = flag.String("webhook-port", "", "Server Port for Webhook") - registerByURL = flag.Bool("register-by-url", false, "If set to true, admission webhook will be registered by URL (webhookAddress:webhookPort) instead of by service name") + port = flag.Int("port", 8000, "The port to listen on.") + address = flag.String("address", ":8944", "The address to expose Prometheus metrics.") + namespace = os.Getenv("NAMESPACE") + serviceName = flag.String("webhook-service", "vpa-webhook", "Kubernetes service under which webhook is registered. Used when registerByURL is set to false.") + webhookAddress = flag.String("webhook-address", "", "Address under which webhook is registered. Used when registerByURL is set to true.") + webhookPort = flag.String("webhook-port", "", "Server Port for Webhook") + webhookSelfRegistration = flag.Bool("register-webhook", true, "If set to true, admission webhook object will be created on start up to register with the API server.") + registerByURL = flag.Bool("register-by-url", false, "If set to true, admission webhook will be registered by URL (webhookAddress:webhookPort) instead of by service name") ) func main() { @@ -121,7 +122,9 @@ func main() { } url := fmt.Sprintf("%v:%v", *webhookAddress, *webhookPort) go func() { - selfRegistration(clientset, certs.caCert, namespace, *serviceName, url, *registerByURL) + if *webhookSelfRegistration { + selfRegistration(clientset, certs.caCert, namespace, *serviceName, url, *registerByURL) + } // Start status updates after the webhook is initialized. statusUpdater.Run(stopCh) }()