@@ -83,12 +83,12 @@ export EXPERIMENTAL_RELEASE_INSTALL := install-experimental.sh
83
83
export RELEASE_CATALOGS := default-catalogs.yaml
84
84
85
85
# 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
92
92
93
93
# Disable -j flag for make
94
94
.NOTPARALLEL :
@@ -123,6 +123,10 @@ help-extended: #HELP Display extended help.
123
123
lint : lint-custom $(GOLANGCI_LINT ) # HELP Run golangci linter.
124
124
$(GOLANGCI_LINT ) run --build-tags $(GO_BUILD_TAGS ) $(GOLANGCI_LINT_ARGS )
125
125
126
+ lint-helm : $(HELM ) # HELP Run helm linter
127
+ helm lint helm/olmv1
128
+ helm lint helm/prometheus
129
+
126
130
.PHONY : custom-linter-build
127
131
custom-linter-build : # EXHELP Build custom linter
128
132
go build -tags $(GO_BUILD_TAGS ) -o ./bin/custom-linter ./hack/ci/custom-linters/cmd
@@ -139,31 +143,39 @@ k8s-pin: #EXHELP Pin k8s staging modules based on k8s.io/kubernetes version (in
139
143
tidy :
140
144
go mod tidy
141
145
142
- .PHONY : manifests
143
- KUSTOMIZE_CATD_RBAC_DIR := config/base/catalogd/rbac
144
- KUSTOMIZE_CATD_WEBHOOKS_DIR := config/base/catalogd/webhook
145
- KUSTOMIZE_OPCON_RBAC_DIR := config/base/operator-controller/rbac
146
146
# Due to https://github.com/kubernetes-sigs/controller-tools/issues/837 we can't specify individual files
147
147
# So we have to generate them together and then move them into place
148
- manifests : $( CONTROLLER_GEN ) $( KUSTOMIZE ) # EXHELP Generate WebhookConfiguration, ClusterRole, and CustomResourceDefinition objects.
149
- # Generate CRDs via our own generator
148
+ .PHONY : update-crds
149
+ update-crds :
150
150
hack/tools/update-crds.sh
151
- # Generate the remaining operator-controller standard manifests
152
- $(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) ,standard rbac:roleName=manager-role paths=" ./internal/operator-controller/..." output:rbac:artifacts:config=$(KUSTOMIZE_OPCON_RBAC_DIR ) /standard
153
- # Generate the remaining operator-controller experimental manifests
154
- $(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) rbac:roleName=manager-role paths=" ./internal/operator-controller/..." output:rbac:artifacts:config=$(KUSTOMIZE_OPCON_RBAC_DIR ) /experimental
155
- # Generate the remaining catalogd standard manifests
156
- $(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) ,standard rbac:roleName=manager-role paths=" ./internal/catalogd/..." output:rbac:artifacts:config=$(KUSTOMIZE_CATD_RBAC_DIR ) /standard
157
- $(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) ,standard webhook paths=" ./internal/catalogd/..." output:webhook:artifacts:config=$(KUSTOMIZE_CATD_WEBHOOKS_DIR ) /standard
158
- # Generate the remaining catalogd experimental manifests
159
- $(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) rbac:roleName=manager-role paths=" ./internal/catalogd/..." output:rbac:artifacts:config=$(KUSTOMIZE_CATD_RBAC_DIR ) /experimental
160
- $(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) webhook paths=" ./internal/catalogd/..." output:webhook:artifacts:config=$(KUSTOMIZE_CATD_WEBHOOKS_DIR ) /experimental
161
- # Generate manifests stored in source-control
162
- mkdir -p $(MANIFEST_HOME )
163
- $(KUSTOMIZE ) build $(KUSTOMIZE_STANDARD_OVERLAY ) > $(STANDARD_MANIFEST )
164
- $(KUSTOMIZE ) build $(KUSTOMIZE_STANDARD_E2E_OVERLAY ) > $(STANDARD_E2E_MANIFEST )
165
- $(KUSTOMIZE ) build $(KUSTOMIZE_EXPERIMENTAL_OVERLAY ) > $(EXPERIMENTAL_MANIFEST )
166
- $(KUSTOMIZE ) build $(KUSTOMIZE_EXPERIMENTAL_E2E_OVERLAY ) > $(EXPERIMENTAL_E2E_MANIFEST )
151
+
152
+ # The filename variables can be overridden on the command line if you want to change the set of values files:
153
+ # e.g. make "manifests/standard.yaml=helm/cert-manager.yaml my-values-file.yaml" manifests
154
+ #
155
+ # The set of MANIFESTS to be generated can be changed; you can generate your own custom manifest
156
+ # e.g. make MANIFESTS=test.yaml "test.yaml=helm/e2e.yaml" manifests
157
+ #
158
+ # Override HELM_SETTINGS on the command line to include additional Helm settings
159
+ # e.g. make HELM_SETTINGS="options.openshift.enabled=true" manifests
160
+ # e.g. make HELM_SETTINGS="operatorControllerFeatures={WebhookProviderCertManager}" manifests
161
+ #
162
+ MANIFESTS ?= $(STANDARD_MANIFEST ) $(STANDARD_E2E_MANIFEST ) $(EXPERIMENTAL_MANIFEST ) $(EXPERIMENTAL_E2E_MANIFEST )
163
+ $(STANDARD_MANIFEST) ?= helm/cert-manager.yaml
164
+ $(STANDARD_E2E_MANIFEST) ?= helm/cert-manager.yaml helm/e2e.yaml
165
+ $(EXPERIMENTAL_MANIFEST) ?= helm/cert-manager.yaml helm/experimental.yaml
166
+ $(EXPERIMENTAL_E2E_MANIFEST) ?= helm/cert-manager.yaml helm/experimental.yaml helm/e2e.yaml
167
+ HELM_SETTINGS ?=
168
+ .PHONY : $(MANIFESTS )
169
+ $(MANIFESTS ) : $(HELM )
170
+ @mkdir -p $(MANIFEST_HOME )
171
+ $(HELM ) template olmv1 helm/olmv1 $(addprefix --values ,$($@ ) ) $(addprefix --set ,$(HELM_SETTINGS ) ) > $@
172
+
173
+ # Generate manifests stored in source-control
174
+ .PHONY : manifests
175
+ manifests : update-crds $(MANIFESTS ) $(HELM ) # EXHELP Generate OLMv1 manifests
176
+ # These are testing existing manifest options without saving the results
177
+ $(HELM ) template olmv1 helm/olmv1 --values helm/tilt.yaml $(addprefix --set ,$(HELM_SETTINGS ) ) > /dev/null
178
+ $(HELM ) template olmv1 helm/olmv1 --set " options.openshift.enabled=true" > /dev/null
167
179
168
180
.PHONY : generate
169
181
generate : $(CONTROLLER_GEN ) # EXHELP Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
@@ -288,8 +300,8 @@ test-experimental-e2e: run-internal image-registry prometheus experimental-e2e e
288
300
.PHONY : prometheus
289
301
prometheus : PROMETHEUS_NAMESPACE := olmv1-system
290
302
prometheus : PROMETHEUS_VERSION := v0.83.0
291
- prometheus : # EXHELP Deploy Prometheus into specified namespace
292
- ./hack/test/install-prometheus.sh $(PROMETHEUS_NAMESPACE ) $(PROMETHEUS_VERSION ) $(KUSTOMIZE ) $( VERSION )
303
+ prometheus : $( KUSTOMIZE ) # EXHELP Deploy Prometheus into specified namespace
304
+ ./hack/test/install-prometheus.sh $(PROMETHEUS_NAMESPACE ) $(PROMETHEUS_VERSION ) $(VERSION )
293
305
294
306
.PHONY : test-extension-developer-e2e
295
307
test-extension-developer-e2e : SOURCE_MANIFEST := $(STANDARD_E2E_MANIFEST )
0 commit comments