@@ -83,12 +83,12 @@ export EXPERIMENTAL_RELEASE_INSTALL := install-experimental.sh
8383export RELEASE_CATALOGS := default-catalogs.yaml
8484
8585# List of manifests that are checked in
86- MANIFEST_HOME := ./ manifests
87- STANDARD_MANIFEST := ./manifests /standard.yaml
88- STANDARD_E2E_MANIFEST := ./manifests /standard-e2e.yaml
89- EXPERIMENTAL_MANIFEST := ./manifests /experimental.yaml
90- EXPERIMENTAL_E2E_MANIFEST := ./manifests /experimental-e2e.yaml
91- CATALOGS_MANIFEST := ./manifests /default-catalogs.yaml
86+ MANIFEST_HOME := manifests
87+ STANDARD_MANIFEST := $( MANIFEST_HOME ) /standard.yaml
88+ STANDARD_E2E_MANIFEST := $( MANIFEST_HOME ) /standard-e2e.yaml
89+ EXPERIMENTAL_MANIFEST := $( MANIFEST_HOME ) /experimental.yaml
90+ EXPERIMENTAL_E2E_MANIFEST := $( MANIFEST_HOME ) /experimental-e2e.yaml
91+ CATALOGS_MANIFEST := $( MANIFEST_HOME ) /default-catalogs.yaml
9292
9393# Disable -j flag for make
9494.NOTPARALLEL :
@@ -139,22 +139,39 @@ k8s-pin: #EXHELP Pin k8s staging modules based on k8s.io/kubernetes version (in
139139tidy :
140140 go mod tidy
141141
142- .PHONY : manifests
143- KUSTOMIZE_CATD_RBAC_DIR := helm/olmv1/base/catalogd/rbac
144- KUSTOMIZE_CATD_WEBHOOKS_DIR := helm/olmv1/base/catalogd/webhook
145- KUSTOMIZE_OPCON_RBAC_DIR := helm/olmv1/base/operator-controller/rbac
146142# Due to https://github.com/kubernetes-sigs/controller-tools/issues/837 we can't specify individual files
147143# So we have to generate them together and then move them into place
148- manifests : $( CONTROLLER_GEN ) $( HELM ) # EXHELP Generate WebhookConfiguration, ClusterRole, and CustomResourceDefinition objects.
149- # Generate CRDs via our own generator
144+ .PHONY : update-crds
145+ update-crds :
150146 hack/tools/update-crds.sh
151- # Generate manifests stored in source-control
152- mkdir -p $(MANIFEST_HOME )
153- $(HELM ) template olmv1 helm/olmv1 --values helm/cert-manager.yaml > $(STANDARD_MANIFEST )
154- $(HELM ) template olmv1 helm/olmv1 --values helm/cert-manager.yaml --values helm/e2e.yaml > $(STANDARD_E2E_MANIFEST )
155- $(HELM ) template olmv1 helm/olmv1 --values helm/cert-manager.yaml --values helm/experimental.yaml > $(EXPERIMENTAL_MANIFEST )
156- $(HELM ) template olmv1 helm/olmv1 --values helm/cert-manager.yaml --values helm/experimental.yaml --values helm/e2e.yaml > $(EXPERIMENTAL_E2E_MANIFEST )
157- $(HELM ) template olmv1 helm/olmv1 --values helm/tilt.yaml > /dev/null
147+
148+ # The filename variables can be overridden on the command line if you want to change the set of values files:
149+ # e.g. make "manifests/standard.yaml=helm/cert-manager.yaml my-values-file.yaml" manifests
150+ #
151+ # The set of MANIFESTS to be generated can be changed; you can generate your own custom manifest
152+ # e.g. make MANIFESTS=test.yaml "test.yaml=helm/e2e.yaml" manifests
153+ #
154+ # Override HELM_SETTINGS on the command line to include additional Helm settings
155+ # e.g. make HELM_SETTINGS="options.openshift.enabled=true" manifests
156+ # e.g. make HELM_SETTINGS="operatorControllerFeatures={WebhookProviderCertManager}" manifests
157+ #
158+ MANIFESTS ?= $(STANDARD_MANIFEST ) $(STANDARD_E2E_MANIFEST ) $(EXPERIMENTAL_MANIFEST ) $(EXPERIMENTAL_E2E_MANIFEST )
159+ $(STANDARD_MANIFEST) ?= helm/cert-manager.yaml
160+ $(STANDARD_E2E_MANIFEST) ?= helm/cert-manager.yaml helm/e2e.yaml
161+ $(EXPERIMENTAL_MANIFEST) ?= helm/cert-manager.yaml helm/experimental.yaml
162+ $(EXPERIMENTAL_E2E_MANIFEST) ?= helm/cert-manager.yaml helm/experimental.yaml helm/e2e.yaml
163+ HELM_SETTINGS ?=
164+ .PHONY : $(MANIFESTS )
165+ $(MANIFESTS ) : $(HELM )
166+ @mkdir -p $(MANIFEST_HOME )
167+ $(HELM ) template olmv1 helm/olmv1 $(addprefix --values ,$($@ ) ) $(addprefix --set ,$(HELM_SETTINGS ) ) > $@
168+
169+ # Generate manifests stored in source-control
170+ .PHONY : manifests
171+ manifests : update-crds $(MANIFESTS ) $(HELM ) # EXHELP Generate OLMv1 manifests
172+ # These are testing existing manifest options without saving the results
173+ $(HELM ) template olmv1 helm/olmv1 --values helm/tilt.yaml $(addprefix --set ,$(HELM_SETTINGS ) ) > /dev/null
174+ $(HELM ) template olmv1 helm/olmv1 --set " options.openshift.enabled=true" > /dev/null
158175
159176.PHONY : generate
160177generate : $(CONTROLLER_GEN ) # EXHELP Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
0 commit comments