@@ -69,13 +69,16 @@ ARCH := $(if $(GOARCH),$(GOARCH),$(shell go env GOARCH))
6969# BASEIMAGE_PROD ?= gcr.io/distroless/static-debian12
7070BASEIMAGE_PROD ?= alpine
7171BASEIMAGE_DBG ?= debian:12
72+ BASEIMAGE_UBI ?= registry.access.redhat.com/ubi10/ubi-minimal
7273
7374IMAGE := $(REGISTRY ) /$(BIN )
7475VERSION_PROD := $(VERSION )
7576VERSION_DBG := $(VERSION ) -dbg
77+ VERSION_UBI := $(VERSION ) -ubi
7678TAG := $(VERSION ) _$(OS ) _$(ARCH )
7779TAG_PROD := $(TAG )
7880TAG_DBG := $(VERSION ) -dbg_$(OS ) _$(ARCH )
81+ TAG_UBI := $(VERSION ) -ubi_$(OS ) _$(ARCH )
7982
8083GO_VERSION ?= 1.25
8184BUILD_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION )
@@ -97,6 +100,7 @@ BUILD_DIRS := bin/$(OS)_$(ARCH) \
97100
98101DOCKERFILE_PROD = Dockerfile.in
99102DOCKERFILE_DBG = Dockerfile.dbg
103+ DOCKERFILE_UBI = Dockerfile.ubi
100104
101105DOCKER_REPO_ROOT := /go/src/$(GO_PKG ) /$(REPO )
102106
@@ -296,15 +300,16 @@ $(OUTBIN): .go/$(OUTBIN).stamp
296300# Used to track state in hidden files.
297301DOTFILE_IMAGE = $(subst /,_,$(IMAGE ) ) -$(TAG )
298302
299- container : bin/.container-$(DOTFILE_IMAGE ) -PROD bin/.container-$(DOTFILE_IMAGE ) -DBG
303+ container : bin/.container-$(DOTFILE_IMAGE ) -PROD bin/.container-$(DOTFILE_IMAGE ) -DBG bin/.container- $( DOTFILE_IMAGE ) -UBI
300304ifeq (,$(SRC_REG ) )
301305bin/.container-$(DOTFILE_IMAGE ) -% : bin/$(OS ) _$(ARCH ) /$(BIN ) $(DOCKERFILE_% )
302306 @echo " container: $( IMAGE) :$( TAG_$* ) "
303- @sed \
307+ @sed \
304308 -e ' s|{ARG_BIN}|$(BIN)|g' \
305309 -e ' s|{ARG_ARCH}|$(ARCH)|g' \
306310 -e ' s|{ARG_OS}|$(OS)|g' \
307311 -e ' s|{ARG_FROM}|$(BASEIMAGE_$*)|g' \
312+ -e ' s|{ARG_TAG}|$(TAG)|g' \
308313 $(DOCKERFILE_$* ) > bin/.dockerfile-$* -$(OS ) _$(ARCH )
309314 @docker buildx build --platform $(OS ) /$(ARCH ) --load --pull -t $(IMAGE ) :$(TAG_$* ) -f bin/.dockerfile-$* -$(OS ) _$(ARCH ) .
310315 @docker images -q $(IMAGE ) :$(TAG_$* ) > $@
@@ -316,14 +321,14 @@ bin/.container-$(DOTFILE_IMAGE)-%:
316321 @echo
317322endif
318323
319- push : bin/.push-$(DOTFILE_IMAGE ) -PROD bin/.push-$(DOTFILE_IMAGE ) -DBG
324+ push : bin/.push-$(DOTFILE_IMAGE ) -PROD bin/.push-$(DOTFILE_IMAGE ) -DBG bin/.push- $( DOTFILE_IMAGE ) -UBI
320325bin/.push-$(DOTFILE_IMAGE ) -% : bin/.container-$(DOTFILE_IMAGE ) -%
321326 @docker push $(IMAGE ) :$(TAG_$* )
322327 @echo " pushed: $( IMAGE) :$( TAG_$* ) "
323328 @echo
324329
325330.PHONY : docker-manifest
326- docker-manifest : docker-manifest-PROD docker-manifest-DBG
331+ docker-manifest : docker-manifest-PROD docker-manifest-DBG docker-manifest-UBI
327332docker-manifest-% :
328333 @docker manifest create -a $(IMAGE ) :$(VERSION_$* ) $(foreach PLATFORM,$(DOCKER_PLATFORMS ) ,$(IMAGE ) :$(VERSION_$* ) _$(subst /,_,$(PLATFORM ) ) )
329334 @docker manifest push $(IMAGE ) :$(VERSION_$* )
0 commit comments