Skip to content

Commit 5f5b6ba

Browse files
committed
Add variable settings to Makefile to control Helm charts
Signed-off-by: Todd Short <tshort@redhat.com>
1 parent 41ab398 commit 5f5b6ba

File tree

1 file changed

+36
-19
lines changed

1 file changed

+36
-19
lines changed

Makefile

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ export EXPERIMENTAL_RELEASE_INSTALL := install-experimental.sh
8383
export 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
139139
tidy:
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
160177
generate: $(CONTROLLER_GEN) #EXHELP Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.

0 commit comments

Comments
 (0)