@@ -42,17 +42,31 @@ STAGING_REGISTRY := gcr.io/k8s-staging-capi-cloudstack
4242STAGING_BUCKET ?= artifacts.k8s-staging-capi-cloudstack.appspot.com
4343BUCKET ?= $(STAGING_BUCKET )
4444PROD_REGISTRY ?= registry.k8s.io/capi-cloudstack
45- REGISTRY ?= $(STAGING_REGISTRY )
4645RELEASE_TAG ?= $(shell git describe --abbrev=0 2>/dev/null)
4746PULL_BASE_REF ?= $(RELEASE_TAG )
4847RELEASE_ALIAS_TAG ?= $(PULL_BASE_REF )
4948
49+ BUILDER_GOLANG_VERSION ?= 1.23
50+
51+ FIPS_ENABLE ?= ""
52+ BUILD_ARGS = --build-arg CRYPTO_LIB=${FIPS_ENABLE} --build-arg BUILDER_GOLANG_VERSION=${BUILDER_GOLANG_VERSION}
53+
54+ RELEASE_LOC := release
55+ ifeq ($(FIPS_ENABLE ) ,yes)
56+ RELEASE_LOC := release-fips
57+ endif
58+
59+ SPECTRO_VERSION ?= 4.7.0-dev
60+ TAG ?= v0.6.1-spectro-${SPECTRO_VERSION}
61+ ARCH ?= amd64
62+ ALL_ARCH = amd64 arm64
63+
64+ REGISTRY ?= us-east1-docker.pkg.dev/spectro-images/dev/$(USER ) /${RELEASE_LOC}
65+
5066# Image URL to use all building/pushing image targets
51- REGISTRY ?= $(STAGING_REGISTRY )
5267IMAGE_NAME ?= capi-cloudstack-controller
53- TAG ?= dev
5468CONTROLLER_IMG ?= $(REGISTRY ) /$(IMAGE_NAME )
55- IMG ?= $(CONTROLLER_IMG ) :$(TAG )
69+ IMG ?= $(CONTROLLER_IMG ) - $( ARCH ) :$(TAG )
5670IMG_LOCAL ?= localhost:5000/$(IMAGE_NAME ) :$(TAG )
5771MANIFEST_FILE := infrastructure-components
5872CONFIG_DIR := config
@@ -213,15 +227,28 @@ undeploy: $(KUSTOMIZE) ## Undeploy controller from the K8s cluster specified in
213227# Using a flag file here as docker build doesn't produce a target file.
214228DOCKER_BUILD_INPUTS =$(MANAGER_BIN_INPUTS ) Dockerfile
215229.PHONY : docker-build
216- docker-build : generate-deepcopy generate-conversion build-for-docker .dockerflag.mk # # Build docker image containing the controller manager.
230+ docker-build : generate-deepcopy generate-conversion .dockerflag.mk # # Build docker image containing the controller manager.
217231.dockerflag.mk : $(DOCKER_BUILD_INPUTS )
218- docker build -t ${IMG} .
232+ docker buildx build --load --platform linux/ ${ARCH} ${BUILD_ARGS} --build-arg ARCH= $( ARCH ) -t ${IMG} .
219233 @touch .dockerflag.mk
220234
235+ .PHONY : docker-build-all # # Build all the architecture docker images
236+ docker-build-all : $(addprefix docker-build-,$(ALL_ARCH ) )
237+
238+ docker-build-% :
239+ $(MAKE ) ARCH=$* docker-build
240+
221241.PHONY : docker-push
222242docker-push : .dockerflag.mk # # Push docker image with the manager.
223243 docker push ${IMG}
224244
245+ .PHONY : docker-push-all # # Push all the architecture docker images
246+ docker-push-all : $(addprefix docker-push-,$(ALL_ARCH ) )
247+ $(MAKE ) docker-push
248+
249+ docker-push-% :
250+ $(MAKE ) ARCH=$* docker-push
251+
225252# #@ Tilt
226253# # --------------------------------------
227254# # Tilt Development
@@ -358,4 +385,4 @@ release-templates: ## Generate release templates
358385
359386.PHONY : upload-staging-artifacts
360387upload-staging-artifacts : # # Upload release artifacts to the staging bucket
361- gsutil cp $(RELEASE_DIR ) /* gs://$(STAGING_BUCKET ) /components/$(RELEASE_ALIAS_TAG ) /
388+ gsutil cp $(RELEASE_DIR ) /* gs://$(STAGING_BUCKET ) /components/$(RELEASE_ALIAS_TAG ) /
0 commit comments