@@ -48,6 +48,12 @@ GINKGO := $(TOOL_EXEC) github.com/onsi/ginkgo/v2/ginkgo
4848
4949# Target environment and Dependencies #
5050
51+ # Cert-manager version - update this for new releases
52+ CERT_MANAGER_VERSION ?= v1.18.2
53+
54+ # Cert-manager deployment timeout
55+ CERT_MANAGER_TIMEOUT ?= 120s
56+
5157# Minor Kubernetes version to build against derived from the client-go dependency version
5258KUBE_MINOR ?= $(shell go list -m k8s.io/client-go | cut -d" " -f2 | sed 's/^v0\.\([[:digit:]]\{1,\}\) \.[[:digit:]]\{1,\}$$/1.\1/')
5359
@@ -157,7 +163,29 @@ local-build: IMAGE_TAG = local
157163local-build : image
158164
159165.PHONY : run-local
160- run-local : local-build kind-create deploy
166+ run-local : local-build kind-create cert-manager-install deploy
167+
168+ .PHONY : cert-manager-install
169+ cert-manager-install : # HELP Install cert-manager $(CERT_MANAGER_VERSION)
170+ @echo " Installing cert-manager $( CERT_MANAGER_VERSION) "
171+ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/$(CERT_MANAGER_VERSION ) /cert-manager.yaml
172+ @echo " Waiting for cert-manager to be ready..."
173+ kubectl wait --for=condition=Available --namespace=cert-manager deployment/cert-manager --timeout=$(CERT_MANAGER_TIMEOUT )
174+ kubectl wait --for=condition=Available --namespace=cert-manager deployment/cert-manager-cainjector --timeout=$(CERT_MANAGER_TIMEOUT )
175+ kubectl wait --for=condition=Available --namespace=cert-manager deployment/cert-manager-webhook --timeout=$(CERT_MANAGER_TIMEOUT )
176+ @echo " Waiting for cert-manager webhook to be ready..."
177+ kubectl wait --for=condition=Ready --namespace=cert-manager pod -l app=webhook --timeout=$(CERT_MANAGER_TIMEOUT )
178+ @echo " Waiting for cert-manager CRDs to be available..."
179+ kubectl wait --for condition=established --timeout=$(CERT_MANAGER_TIMEOUT ) crd/certificates.cert-manager.io
180+ kubectl wait --for condition=established --timeout=$(CERT_MANAGER_TIMEOUT ) crd/issuers.cert-manager.io
181+ @echo " cert-manager $( CERT_MANAGER_VERSION) installed successfully"
182+
183+ .PHONY : cert-manager-uninstall
184+ cert-manager-uninstall : # HELP Uninstall cert-manager
185+ @echo " Uninstalling cert-manager..."
186+ kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/$(CERT_MANAGER_VERSION ) /cert-manager.yaml --ignore-not-found=true
187+ @echo " cert-manager uninstalled"
188+
161189
162190.PHONY : clean
163191clean : # HELP Clean up build artifacts
@@ -231,6 +259,7 @@ deploy: $(KIND) $(HELM) #HELP Deploy OLM to kind cluster $KIND_CLUSTER_NAME (def
231259 $(KIND ) load docker-image $(OLM_IMAGE ) --name $(KIND_CLUSTER_NAME ) ; \
232260 $(HELM ) upgrade --install olm deploy/chart \
233261 --set debug=true \
262+ --set certManager.enabled=true \
234263 --set olm.image.ref=$(OLM_IMAGE ) \
235264 --set olm.image.pullPolicy=IfNotPresent \
236265 --set catalog.image.ref=$(OLM_IMAGE ) \
@@ -254,6 +283,9 @@ undeploy: $(KIND) $(HELM) #HELP Uninstall OLM from kind cluster $KIND_CLUSTER_NA
254283 $(HELM) uninstall olm
255284 kubectl delete -f deploy/chart/crds
256285
286+ # Uninstall cert-manager
287+ $(MAKE) cert-manager-uninstall
288+
257289# SECTION e2e
258290
259291# E2E test configuration
@@ -269,7 +301,24 @@ e2e: #HELP Run e2e tests against a cluster running OLM (params: $E2E_TEST_NS (op
269301 $(GO_TEST_ENV ) $(GINKGO ) -timeout $(E2E_TIMEOUT ) $(GINKGO_OPTS ) $(E2E_GINKGO_OPTS ) ./test/e2e -- -namespace=$(E2E_TEST_NS ) -olmNamespace=$(E2E_INSTALL_NS ) -catalogNamespace=$(E2E_CATALOG_NS ) $(E2E_OPTS )
270302
271303.PHONY : e2e-local
272- e2e-local : e2e-build kind-create deploy e2e
304+ e2e-local : e2e-build kind-create e2e-local-deploy e2e
305+
306+ .PHONY : e2e-local-deploy
307+ e2e-local-deploy : $(KIND ) $(HELM ) # HELP Deploy OLM for e2e testing (without cert-manager)
308+ $(KIND ) load docker-image $(OLM_IMAGE ) --name $(KIND_CLUSTER_NAME ) ; \
309+ $(HELM ) upgrade --install olm deploy/chart \
310+ --set debug=true \
311+ --set certManager.enabled=false \
312+ --set olm.image.ref=$(OLM_IMAGE ) \
313+ --set olm.image.pullPolicy=IfNotPresent \
314+ --set catalog.image.ref=$(OLM_IMAGE ) \
315+ --set catalog.image.pullPolicy=IfNotPresent \
316+ --set catalog.commandArgs=--configmapServerImage=$(CONFIGMAP_SERVER_IMAGE ) \
317+ --set catalog.opmImageArgs=--opmImage=$(OPERATOR_REGISTRY_IMAGE ) \
318+ --set package.image.ref=$(OLM_IMAGE ) \
319+ --set package.image.pullPolicy=IfNotPresent \
320+ $(HELM_INSTALL_OPTS ) \
321+ --wait;
273322
274323# SECTION Code Generation
275324
0 commit comments