@@ -170,6 +170,7 @@ RELEASE_ALLINONE := config/release/$(ENV)/allinone
170170RELEASE_CLUSTERWIDE := config/release/$(ENV ) /clusterwide
171171RELEASE_OPENSHIFT := config/release/$(ENV ) /openshift
172172RELEASE_NAMESPACED := config/release/$(ENV ) /namespaced
173+ RELEASE_AUTOGENERATED := config/generated
173174
174175# --- File Targets ---
175176ALL_IN_ONE_CONFIG := $(TARGET_DIR ) /all-in-one.yaml
@@ -179,6 +180,7 @@ NAMESPACED_CONFIG := $(NAMESPACED_DIR)/namespaced-config.yaml
179180NAMESPACED_CRDS := $(NAMESPACED_DIR ) /crds.yaml
180181OPENSHIFT_CONFIG := $(OPENSHIFT_DIR ) /openshift.yaml
181182OPENSHIFT_CRDS := $(OPENSHIFT_DIR ) /crds.yaml
183+ ALL_IN_ONE_AUTOGENERATED_CONFIG := $(TARGET_DIR ) /generated/all-in-one.yaml
182184CSV_FILE := $(BUNDLE_MANIFESTS_DIR ) /mongodb-atlas-kubernetes.clusterserviceversion.yaml
183185BUNDLE_DOCKERFILE := bundle.Dockerfile
184186
@@ -816,14 +818,28 @@ clean-bundle:
816818 @rm -f $(BUNDLE_DOCKERFILE )
817819 @echo " ✅ Cleanup complete."
818820
819- autogenerated-manifests : manifests update-manager-kustomization
821+ rbac-autogen :
822+ $(CONTROLLER_GEN ) rbac:roleName=generated-manager-role paths=" ./internal/generated/controller/..." output:rbac:artifacts:config=config/generated/rbac
823+ @$(AWK ) ' /---/{f="xx0"int(++i);} {if(NF!=0)print > f};' config/generated/rbac/role.yaml # Keeping only ClusterRole part while building only all-in-one config
824+ @rm config/generated/rbac/role.yaml
825+ @mv xx01 config/generated/rbac/role.yaml
826+
827+ $(ALL_IN_ONE_AUTOGENERATED_CONFIG ) : manifests update-manager-kustomization rbac-autogen
820828 @echo " Creating directory..."
821829 @mkdir -p $(TARGET_DIR ) /generated
822- @$(KUSTOMIZE ) build --load-restrictor LoadRestrictionsNone config/generated > $(TARGET_DIR ) /generated/allinone.yaml
823-
824- .PHONY : gen-all
825- gen-all :
826- $(MAKE ) -C tools/openapi2crd crds-force
827- $(MAKE ) -C tools/crd2go build
828- cd tools/crd2go && ./crd2go -input ../openapi2crd/crds.yaml -output ../../internal/nextapi/v1
829- $(MAKE ) -C tools/scaffolder generate-all
830+ @$(KUSTOMIZE ) build --load-restrictor LoadRestrictionsNone $(RELEASE_AUTOGENERATED ) > $@
831+ @echo " Created $@ "
832+
833+ gen-crds :
834+ BINARY_DIR=$(realpath .) /bin CRD_FILE=$(realpath .) /config/generated/crd/bases/crds.yaml $(MAKE ) -C tools/openapi2crd crds
835+
836+ gen-go-types :
837+ BINARY_DIR=$(realpath .) /bin CRD_FILE=$(realpath .) /config/generated/crd/bases/crds.yaml OUTPUT_DIR=$(realpath .) /internal/nextapi/generated/v1 $(MAKE ) -C tools/crd2go generate
838+
839+ run-scaffolder :
840+ BINARY_DIR=$(realpath .) /bin CRD_FILE=$(realpath .) /config/generated/crd/bases/crds.yaml $(MAKE ) -C tools/scaffolder generate-all
841+
842+ gen-all : gen-crds gen-go-types run-scaffolder
843+
844+ build-autogen : gen-all $(ALL_IN_ONE_AUTOGENERATED_CONFIG )
845+ EXPERIMENTAL=1 VERSION=$(shell $(JQ ) -r .next $(VERSION_FILE ) ) -EXPERIMENTAL-${GITCOMMIT} $(MAKE ) image
0 commit comments