@@ -63,13 +63,16 @@ ARCH := $(if $(GOARCH),$(GOARCH),$(shell go env GOARCH))
6363
6464BASEIMAGE_PROD ?= alpine
6565BASEIMAGE_DBG ?= debian:12
66+ BASEIMAGE_UBI ?= registry.access.redhat.com/ubi10/ubi-minimal
6667
6768IMAGE := $(REGISTRY ) /$(BIN )
6869VERSION_PROD := $(VERSION )
6970VERSION_DBG := $(VERSION ) -dbg
71+ VERSION_UBI := $(VERSION ) -ubi
7072TAG := $(VERSION ) _$(OS ) _$(ARCH )
7173TAG_PROD := $(TAG )
7274TAG_DBG := $(VERSION ) -dbg_$(OS ) _$(ARCH )
75+ TAG_UBI := $(VERSION ) -ubi_$(OS ) _$(ARCH )
7376
7477GO_VERSION ?= 1.25
7578BUILD_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION )
@@ -91,6 +94,7 @@ BUILD_DIRS := bin/$(OS)_$(ARCH) \
9194
9295DOCKERFILE_PROD = Dockerfile.in
9396DOCKERFILE_DBG = Dockerfile.dbg
97+ DOCKERFILE_UBI = Dockerfile.ubi
9498
9599DOCKER_REPO_ROOT := /go/src/$(GO_PKG ) /$(REPO )
96100
@@ -218,15 +222,16 @@ endif
218222# Used to track state in hidden files.
219223DOTFILE_IMAGE = $(subst /,_,$(IMAGE ) ) -$(TAG )
220224
221- container : bin/.container-$(DOTFILE_IMAGE ) -PROD bin/.container-$(DOTFILE_IMAGE ) -DBG
225+ container : bin/.container-$(DOTFILE_IMAGE ) -PROD bin/.container-$(DOTFILE_IMAGE ) -DBG bin/.container- $( DOTFILE_IMAGE ) -UBI
222226ifeq (,$(SRC_REG ) )
223227bin/.container-$(DOTFILE_IMAGE ) -% : bin/$(BIN ) -$(OS ) -$(ARCH ) $(DOCKERFILE_% )
224228 @echo " container: $( IMAGE) :$( TAG_$* ) "
225- @sed \
229+ @sed \
226230 -e ' s|{ARG_BIN}|$(BIN)|g' \
227231 -e ' s|{ARG_ARCH}|$(ARCH)|g' \
228232 -e ' s|{ARG_OS}|$(OS)|g' \
229233 -e ' s|{ARG_FROM}|$(BASEIMAGE_$*)|g' \
234+ -e ' s|{ARG_TAG}|$(TAG)|g' \
230235 $(DOCKERFILE_$* ) > bin/.dockerfile-$* -$(OS ) _$(ARCH )
231236 @docker buildx build --platform $(OS ) /$(ARCH ) --load --pull -t $(IMAGE ) :$(TAG_$* ) -f bin/.dockerfile-$* -$(OS ) _$(ARCH ) .
232237 @docker images -q $(IMAGE ) :$(TAG_$* ) > $@
@@ -238,17 +243,17 @@ bin/.container-$(DOTFILE_IMAGE)-%:
238243 @echo
239244endif
240245
241- push : bin/.push-$(DOTFILE_IMAGE ) -PROD bin/.push-$(DOTFILE_IMAGE ) -DBG
246+ push : bin/.push-$(DOTFILE_IMAGE ) -PROD bin/.push-$(DOTFILE_IMAGE ) -DBG bin/.push- $( DOTFILE_IMAGE ) -UBI
242247bin/.push-$(DOTFILE_IMAGE ) -% : bin/.container-$(DOTFILE_IMAGE ) -%
243248 @docker push $(IMAGE ) :$(TAG_$* )
244249 @echo " pushed: $( IMAGE) :$( TAG_$* ) "
245250 @echo
246251
247252.PHONY : docker-manifest
248- docker-manifest : docker-manifest-PROD docker-manifest-DBG
253+ docker-manifest : docker-manifest-PROD docker-manifest-DBG docker-manifest-UBI
249254docker-manifest-% :
250- docker manifest create -a $(IMAGE ) :$(VERSION_$* ) $(foreach PLATFORM,$(DOCKER_PLATFORMS ) ,$(IMAGE ) :$(VERSION_$* ) _$(subst /,_,$(PLATFORM ) ) )
251- docker manifest push $(IMAGE ) :$(VERSION_$* )
255+ @ docker manifest create -a $(IMAGE ) :$(VERSION_$* ) $(foreach PLATFORM,$(DOCKER_PLATFORMS ) ,$(IMAGE ) :$(VERSION_$* ) _$(subst /,_,$(PLATFORM ) ) )
256+ @ docker manifest push $(IMAGE ) :$(VERSION_$* )
252257
253258.PHONY : test
254259test : unit-tests
0 commit comments