Skip to content

Commit 2f41e5e

Browse files
committed
Build ubi image
Signed-off-by: Tamal Saha <tamal@appscode.com>
1 parent 55d598f commit 2f41e5e

File tree

2 files changed

+50
-5
lines changed

2 files changed

+50
-5
lines changed

Dockerfile.ubi

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Copyright AppsCode Inc. and Contributors.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
FROM {ARG_FROM}
16+
17+
LABEL org.opencontainers.image.source="https://github.com/kubeops/falco-ui-server" \
18+
name="Falco UI Server" \
19+
maintainer=AppsCode \
20+
vendor=AppsCode \
21+
version={ARG_TAG} \
22+
release={ARG_TAG} \
23+
summary="Reports Falco events as a Kubernetes native resource" \
24+
description="Reports Falco events as a Kubernetes native resource"
25+
26+
RUN mkdir -p /licenses
27+
COPY LICENSE /licenses/
28+
29+
RUN set -x \
30+
&& microdnf update -y \
31+
&& microdnf install -y ca-certificates tzdata \
32+
&& microdnf clean all
33+
34+
ENV TZ=Etc/UTC
35+
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
36+
37+
ADD bin/{ARG_BIN}-{ARG_OS}-{ARG_ARCH} /{ARG_BIN}
38+
39+
USER 65534
40+
41+
ENTRYPOINT ["/{ARG_BIN}"]

Makefile

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,16 @@ ARCH := $(if $(GOARCH),$(GOARCH),$(shell go env GOARCH))
6969
# BASEIMAGE_PROD ?= gcr.io/distroless/static-debian12
7070
BASEIMAGE_PROD ?= alpine
7171
BASEIMAGE_DBG ?= debian:12
72+
BASEIMAGE_UBI ?= registry.access.redhat.com/ubi10/ubi-minimal
7273

7374
IMAGE := $(REGISTRY)/$(BIN)
7475
VERSION_PROD := $(VERSION)
7576
VERSION_DBG := $(VERSION)-dbg
77+
VERSION_UBI := $(VERSION)-ubi
7678
TAG := $(VERSION)_$(OS)_$(ARCH)
7779
TAG_PROD := $(TAG)
7880
TAG_DBG := $(VERSION)-dbg_$(OS)_$(ARCH)
81+
TAG_UBI := $(VERSION)-ubi_$(OS)_$(ARCH)
7982

8083
GO_VERSION ?= 1.25
8184
BUILD_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION)
@@ -98,6 +101,7 @@ BUILD_DIRS := bin/$(OS)_$(ARCH) \
98101

99102
DOCKERFILE_PROD = Dockerfile.in
100103
DOCKERFILE_DBG = Dockerfile.dbg
104+
DOCKERFILE_UBI = Dockerfile.ubi
101105

102106
DOCKER_REPO_ROOT := /go/src/$(GO_PKG)/$(REPO)
103107

@@ -313,7 +317,7 @@ endif
313317
# Used to track state in hidden files.
314318
DOTFILE_IMAGE = $(subst /,_,$(IMAGE))-$(TAG)
315319

316-
container: bin/.container-$(DOTFILE_IMAGE)-PROD bin/.container-$(DOTFILE_IMAGE)-DBG
320+
container: bin/.container-$(DOTFILE_IMAGE)-PROD bin/.container-$(DOTFILE_IMAGE)-DBG bin/.container-$(DOTFILE_IMAGE)-UBI
317321
ifeq (,$(SRC_REG))
318322
bin/.container-$(DOTFILE_IMAGE)-%: bin/$(BIN)-$(OS)-$(ARCH) $(DOCKERFILE_%)
319323
@echo "container: $(IMAGE):$(TAG_$*)"
@@ -333,17 +337,17 @@ bin/.container-$(DOTFILE_IMAGE)-%:
333337
@echo
334338
endif
335339

336-
push: bin/.push-$(DOTFILE_IMAGE)-PROD bin/.push-$(DOTFILE_IMAGE)-DBG
340+
push: bin/.push-$(DOTFILE_IMAGE)-PROD bin/.push-$(DOTFILE_IMAGE)-DBG bin/.push-$(DOTFILE_IMAGE)-UBI
337341
bin/.push-$(DOTFILE_IMAGE)-%: bin/.container-$(DOTFILE_IMAGE)-%
338342
@docker push $(IMAGE):$(TAG_$*)
339343
@echo "pushed: $(IMAGE):$(TAG_$*)"
340344
@echo
341345

342346
.PHONY: docker-manifest
343-
docker-manifest: docker-manifest-PROD docker-manifest-DBG
347+
docker-manifest: docker-manifest-PROD docker-manifest-DBG docker-manifest-UBI
344348
docker-manifest-%:
345-
docker manifest create -a $(IMAGE):$(VERSION_$*) $(foreach PLATFORM,$(DOCKER_PLATFORMS),$(IMAGE):$(VERSION_$*)_$(subst /,_,$(PLATFORM)))
346-
docker manifest push $(IMAGE):$(VERSION_$*)
349+
@docker manifest create -a $(IMAGE):$(VERSION_$*) $(foreach PLATFORM,$(DOCKER_PLATFORMS),$(IMAGE):$(VERSION_$*)_$(subst /,_,$(PLATFORM)))
350+
@docker manifest push $(IMAGE):$(VERSION_$*)
347351

348352
.PHONY: test
349353
test: unit-tests e2e-tests

0 commit comments

Comments
 (0)