From e59103db3014d4486df729c976772f37e41cb839 Mon Sep 17 00:00:00 2001 From: Joe Lanford Date: Tue, 11 Feb 2025 17:16:16 -0500 Subject: [PATCH] manifest generation: ensure we always fully regenerate files Signed-off-by: Joe Lanford --- Makefile | 6 ++++-- catalogd/Makefile | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index fb7cdf4a1..ec72dc6d4 100644 --- a/Makefile +++ b/Makefile @@ -117,10 +117,12 @@ tidy: #HELP Update dependencies. .PHONY: manifests +KUSTOMIZE_CRDS_DIR := config/base/crd/bases +KUSTOMIZE_RBAC_DIR := config/base/rbac manifests: $(CONTROLLER_GEN) #EXHELP Generate WebhookConfiguration, ClusterRole, and CustomResourceDefinition objects. # To generate the manifests used and do not use catalogd directory - $(CONTROLLER_GEN) rbac:roleName=manager-role paths=./internal/... output:rbac:artifacts:config=config/base/rbac - $(CONTROLLER_GEN) crd paths=./api/... output:crd:artifacts:config=config/base/crd/bases + rm -rf $(KUSTOMIZE_CRDS_DIR) && $(CONTROLLER_GEN) crd paths=./api/... output:crd:artifacts:config=$(KUSTOMIZE_CRDS_DIR) + rm -f $(KUSTOMIZE_RBAC_DIR)/role.yaml && $(CONTROLLER_GEN) rbac:roleName=manager-role paths=./internal/operator-controller/... output:rbac:artifacts:config=$(KUSTOMIZE_RBAC_DIR) # To generate the manifests for catalogd $(MAKE) -C catalogd generate diff --git a/catalogd/Makefile b/catalogd/Makefile index ffe017bf1..6f61043de 100644 --- a/catalogd/Makefile +++ b/catalogd/Makefile @@ -59,9 +59,14 @@ clean: ## Remove binaries and test artifacts rm -rf bin .PHONY: generate +KUSTOMIZE_CRDS_DIR := config/base/crd/bases +KUSTOMIZE_RBAC_DIR := config/base/rbac +KUSTOMIZE_WEBHOOKS_DIR := config/base/manager/webhook generate: $(CONTROLLER_GEN) ## Generate code and manifests. $(CONTROLLER_GEN) object:headerFile="../hack/boilerplate.go.txt" paths="./..." - $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/base/crd/bases output:rbac:artifacts:config=config/base/rbac output:webhook:artifacts:config=config/base/manager/webhook/ + rm -rf $(KUSTOMIZE_CRDS_DIR) && $(CONTROLLER_GEN) crd paths="./api/..." output:crd:artifacts:config=$(KUSTOMIZE_CRDS_DIR) + rm -f $(KUSTOMIZE_RBAC_DIR)/role.yaml && $(CONTROLLER_GEN) rbac:roleName=manager-role paths="./internal/..." output:rbac:artifacts:config=$(KUSTOMIZE_RBAC_DIR) + rm -f $(KUSTOMIZE_WEBHOOKS_DIR)/manifests.yaml && $(CONTROLLER_GEN) webhook paths="./internal/..." output:webhook:artifacts:config=$(KUSTOMIZE_WEBHOOKS_DIR) ##@ Build