@@ -83,7 +83,10 @@ export RELEASE_MANIFEST := operator-controller.yaml
83
83
export RELEASE_INSTALL := install.sh
84
84
export RELEASE_CATALOGS := default-catalogs.yaml
85
85
86
- CATALOGS_MANIFEST := ./config/catalogs/clustercatalogs/default-catalogs.yaml
86
+ # List of manifests that are checked in
87
+ MANIFEST_HOME := ./manifests
88
+ STANDARD_MANIFEST := ./manifests/standard.yaml
89
+ CATALOGS_MANIFEST := ./manifests/default-catalogs.yaml
87
90
88
91
# Disable -j flag for make
89
92
.NOTPARALLEL :
@@ -143,7 +146,7 @@ KUSTOMIZE_OPCON_RBAC_DIR := config/base/operator-controller/rbac
143
146
CRD_WORKING_DIR := crd_work_dir
144
147
# Due to https://github.com/kubernetes-sigs/controller-tools/issues/837 we can't specify individual files
145
148
# So we have to generate them together and then move them into place
146
- manifests : $(CONTROLLER_GEN ) # EXHELP Generate WebhookConfiguration, ClusterRole, and CustomResourceDefinition objects.
149
+ manifests : $(CONTROLLER_GEN ) $( KUSTOMIZE ) # EXHELP Generate WebhookConfiguration, ClusterRole, and CustomResourceDefinition objects.
147
150
mkdir $(CRD_WORKING_DIR )
148
151
$(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) crd paths=" ./api/v1/..." output:crd:artifacts:config=$(CRD_WORKING_DIR )
149
152
mv $(CRD_WORKING_DIR ) /olm.operatorframework.io_clusterextensions.yaml $(KUSTOMIZE_OPCON_CRDS_DIR )
@@ -154,6 +157,9 @@ manifests: $(CONTROLLER_GEN) #EXHELP Generate WebhookConfiguration, ClusterRole,
154
157
# Generate the remaining catalogd manifests
155
158
$(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) rbac:roleName=manager-role paths=" ./internal/catalogd/..." output:rbac:artifacts:config=$(KUSTOMIZE_CATD_RBAC_DIR )
156
159
$(CONTROLLER_GEN ) --load-build-tags=$(GO_BUILD_TAGS ) webhook paths=" ./internal/catalogd/..." output:webhook:artifacts:config=$(KUSTOMIZE_CATD_WEBHOOKS_DIR )
160
+ # Generate manifests stored in source-control
161
+ mkdir -p $(MANIFEST_HOME )
162
+ $(KUSTOMIZE ) build $(KUSTOMIZE_BUILD_DIR ) > $(STANDARD_MANIFEST )
157
163
158
164
.PHONY : generate
159
165
generate : $(CONTROLLER_GEN ) # EXHELP Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
@@ -296,8 +302,8 @@ kind-load: $(KIND) #EXHELP Loads the currently constructed images into the KIND
296
302
.PHONY : kind-deploy
297
303
kind-deploy : export MANIFEST := $(RELEASE_MANIFEST )
298
304
kind-deploy : export DEFAULT_CATALOG := $(RELEASE_CATALOGS )
299
- kind-deploy : manifests $( KUSTOMIZE )
300
- $( KUSTOMIZE ) build $( KUSTOMIZE_BUILD_DIR ) | sed " s/cert-git-version/cert-$( VERSION) /g" > $(MANIFEST )
305
+ kind-deploy : manifests
306
+ sed " s/cert-git-version/cert-$( VERSION) /g" $( STANDARD_MANIFEST ) > $(MANIFEST )
301
307
cp $(CATALOGS_MANIFEST ) $(DEFAULT_CATALOG )
302
308
envsubst ' $$DEFAULT_CATALOG,$$CERT_MGR_VERSION,$$INSTALL_DEFAULT_CATALOGS,$$MANIFEST' < scripts/install.tpl.sh | bash -s
303
309
@@ -390,8 +396,9 @@ release: $(GORELEASER) #EXHELP Runs goreleaser for the operator-controller. By d
390
396
.PHONY : quickstart
391
397
quickstart : export MANIFEST := "https://github.com/operator-framework/operator-controller/releases/download/$(VERSION ) /$(notdir $(RELEASE_MANIFEST ) ) "
392
398
quickstart : export DEFAULT_CATALOG := "https://github.com/operator-framework/operator-controller/releases/download/$(VERSION ) /$(notdir $(RELEASE_CATALOGS ) ) "
393
- quickstart : $(KUSTOMIZE ) manifests # EXHELP Generate the unified installation release manifests and scripts.
394
- $(KUSTOMIZE ) build $(KUSTOMIZE_BUILD_DIR ) | sed " s/cert-git-version/cert-$( VERSION) /g" | sed " s/:devel/:$( VERSION) /g" > $(RELEASE_MANIFEST )
399
+ quickstart : manifests # EXHELP Generate the unified installation release manifests and scripts.
400
+ # Update the stored standard manifests for distribution
401
+ sed " s/:devel/:$( VERSION) /g" $(STANDARD_MANIFEST ) | sed " s/cert-git-version/cert-$( VERSION) /g" > $(RELEASE_MANIFEST )
395
402
cp $(CATALOGS_MANIFEST ) $(RELEASE_CATALOGS )
396
403
envsubst ' $$DEFAULT_CATALOG,$$CERT_MGR_VERSION,$$INSTALL_DEFAULT_CATALOGS,$$MANIFEST' < scripts/install.tpl.sh > $(RELEASE_INSTALL )
397
404
0 commit comments