From 019a148e69cc11a52844ba54cd57259d7371809b Mon Sep 17 00:00:00 2001 From: Angel Misevski Date: Fri, 9 Jul 2021 15:27:03 -0400 Subject: [PATCH] Get TLS certs for controller deployment when running locally Fix make run and make debug by grabbing the tls certs used by the controller deployment and storing them in the expected path (k8s-webhook-server/serving-certs/) on the local machine. Since conversion webhooks are handled by the controller, they will not work when running/debugging locally. Signed-off-by: Angel Misevski --- build/make/deploy.mk | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/build/make/deploy.mk b/build/make/deploy.mk index 0167f80a1..ab880f275 100644 --- a/build/make/deploy.mk +++ b/build/make/deploy.mk @@ -37,6 +37,11 @@ _gen_configuration_env: echo "export WEBHOOK_SECRET_NAME=devworkspace-operator-webhook-cert" >> $(CONTROLLER_ENV_FILE) cat $(CONTROLLER_ENV_FILE) +_store_tls_cert: + mkdir -p /tmp/k8s-webhook-server/serving-certs/ + $(K8S_CLI) get secret devworkspace-webhooks-tls -n $(NAMESPACE) -o json | jq -r '.data["tls.crt"]' | base64 -d > /tmp/k8s-webhook-server/serving-certs/tls.crt + $(K8S_CLI) get secret devworkspace-webhooks-tls -n $(NAMESPACE) -o json | jq -r '.data["tls.key"]' | base64 -d > /tmp/k8s-webhook-server/serving-certs/tls.key + ### install: Install controller in the configured Kubernetes cluster in ~/.kube/config install: _check_cert_manager _print_vars _init_devworkspace_crds _create_namespace generate_deployment ifeq ($(PLATFORM),kubernetes) @@ -108,7 +113,7 @@ endif cp $(CONFIG_FILE) $(BUMPED_KUBECONFIG) ### run: Runs against the configured Kubernetes cluster in ~/.kube/config -run: _print_vars _gen_configuration_env _bump_kubeconfig _login_with_devworkspace_sa +run: _print_vars _gen_configuration_env _bump_kubeconfig _login_with_devworkspace_sa _store_tls_cert source $(CONTROLLER_ENV_FILE) export KUBECONFIG=$(BUMPED_KUBECONFIG) CONTROLLER_SERVICE_ACCOUNT_NAME=$(DEVWORKSPACE_CTRL_SA) \ @@ -116,7 +121,7 @@ run: _print_vars _gen_configuration_env _bump_kubeconfig _login_with_devworkspac go run ./main.go ### debug: Runs the controller locally with debugging enabled, watching cluster defined in ~/.kube/config -debug: _print_vars _gen_configuration_env _bump_kubeconfig _login_with_devworkspace_sa +debug: _print_vars _gen_configuration_env _bump_kubeconfig _login_with_devworkspace_sa _store_tls_cert source $(CONTROLLER_ENV_FILE) export KUBECONFIG=$(BUMPED_KUBECONFIG) CONTROLLER_SERVICE_ACCOUNT_NAME=$(DEVWORKSPACE_CTRL_SA) \