@@ -62,15 +62,17 @@ OS := $(if $(GOOS),$(GOOS),$(shell go env GOOS))
6262ARCH := $(if $(GOARCH ) ,$(GOARCH ) ,$(shell go env GOARCH) )
6363
6464BASEIMAGE_PROD ?= gcr.io/distroless/static-debian12
65- # BASEIMAGE_PROD ?= alpine
6665BASEIMAGE_DBG ?= debian:12
66+ BASEIMAGE_UBI ?= registry.access.redhat.com/ubi10/ubi-minimal
6767
6868IMAGE := $(REGISTRY ) /$(BIN )
6969VERSION_PROD := $(VERSION )
7070VERSION_DBG := $(VERSION ) -dbg
71+ VERSION_UBI := $(VERSION ) -ubi
7172TAG := $(VERSION ) _$(OS ) _$(ARCH )
7273TAG_PROD := $(TAG )
7374TAG_DBG := $(VERSION ) -dbg_$(OS ) _$(ARCH )
75+ TAG_UBI := $(VERSION ) -ubi_$(OS ) _$(ARCH )
7476
7577GO_VERSION ?= 1.25
7678BUILD_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION )
@@ -93,6 +95,7 @@ BUILD_DIRS := bin/$(OS)_$(ARCH) \
9395
9496DOCKERFILE_PROD = Dockerfile.in
9597DOCKERFILE_DBG = Dockerfile.dbg
98+ DOCKERFILE_UBI = Dockerfile.ubi
9699
97100DOCKER_REPO_ROOT := /go/src/$(GO_PKG ) /$(REPO )
98101
@@ -221,15 +224,16 @@ endif
221224# Used to track state in hidden files.
222225DOTFILE_IMAGE = $(subst /,_,$(IMAGE ) ) -$(TAG )
223226
224- container : bin/.container-$(DOTFILE_IMAGE ) -PROD bin/.container-$(DOTFILE_IMAGE ) -DBG
227+ container : bin/.container-$(DOTFILE_IMAGE ) -PROD bin/.container-$(DOTFILE_IMAGE ) -DBG bin/.container- $( DOTFILE_IMAGE ) -UBI
225228ifeq (,$(SRC_REG ) )
226229bin/.container-$(DOTFILE_IMAGE ) -% : bin/$(BIN ) -$(OS ) -$(ARCH ) $(DOCKERFILE_% )
227230 @echo " container: $( IMAGE) :$( TAG_$* ) "
228- @sed \
231+ @sed \
229232 -e ' s|{ARG_BIN}|$(BIN)|g' \
230233 -e ' s|{ARG_ARCH}|$(ARCH)|g' \
231234 -e ' s|{ARG_OS}|$(OS)|g' \
232235 -e ' s|{ARG_FROM}|$(BASEIMAGE_$*)|g' \
236+ -e ' s|{ARG_TAG}|$(TAG)|g' \
233237 $(DOCKERFILE_$* ) > bin/.dockerfile-$* -$(OS ) _$(ARCH )
234238 @docker buildx build --platform $(OS ) /$(ARCH ) --load --pull -t $(IMAGE ) :$(TAG_$* ) -f bin/.dockerfile-$* -$(OS ) _$(ARCH ) .
235239 @docker images -q $(IMAGE ) :$(TAG_$* ) > $@
@@ -241,17 +245,17 @@ bin/.container-$(DOTFILE_IMAGE)-%:
241245 @echo
242246endif
243247
244- push : bin/.push-$(DOTFILE_IMAGE ) -PROD bin/.push-$(DOTFILE_IMAGE ) -DBG
248+ push : bin/.push-$(DOTFILE_IMAGE ) -PROD bin/.push-$(DOTFILE_IMAGE ) -DBG bin/.push- $( DOTFILE_IMAGE ) -UBI
245249bin/.push-$(DOTFILE_IMAGE ) -% : bin/.container-$(DOTFILE_IMAGE ) -%
246250 @docker push $(IMAGE ) :$(TAG_$* )
247251 @echo " pushed: $( IMAGE) :$( TAG_$* ) "
248252 @echo
249253
250254.PHONY : docker-manifest
251- docker-manifest : docker-manifest-PROD docker-manifest-DBG
255+ docker-manifest : docker-manifest-PROD docker-manifest-DBG docker-manifest-UBI
252256docker-manifest-% :
253- docker manifest create -a $(IMAGE ) :$(VERSION_$* ) $(foreach PLATFORM,$(DOCKER_PLATFORMS ) ,$(IMAGE ) :$(VERSION_$* ) _$(subst /,_,$(PLATFORM ) ) )
254- docker manifest push $(IMAGE ) :$(VERSION_$* )
257+ @ docker manifest create -a $(IMAGE ) :$(VERSION_$* ) $(foreach PLATFORM,$(DOCKER_PLATFORMS ) ,$(IMAGE ) :$(VERSION_$* ) _$(subst /,_,$(PLATFORM ) ) )
258+ @ docker manifest push $(IMAGE ) :$(VERSION_$* )
255259
256260.PHONY : test
257261test : unit-tests e2e-tests
0 commit comments