Skip to content

Commit d980c85

Browse files
authored
Merge pull request #186 from che-incubator/updateDockerfileImage
Update dockerfile to use the same base images as downstream
2 parents a5b316d + c37d54a commit d980c85

File tree

5 files changed

+48
-160
lines changed

5 files changed

+48
-160
lines changed

build/dockerfiles/Dockerfile

Lines changed: 27 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
#
2-
# Copyright (c) 2012-2023 Red Hat, Inc.
1+
# Copyright (c) 2012-2025 Red Hat, Inc.
32
# This program and the accompanying materials are made
43
# available under the terms of the Eclipse Public License 2.0
54
# which is available at https://www.eclipse.org/legal/epl-2.0/
@@ -9,60 +8,37 @@
98
# Contributors:
109
# Red Hat, Inc. - initial API and implementation
1110
#
12-
# Note: if we used a UBI image we could keep this current with
13-
# https://github.com/eclipse-che/che-release/blob/main/.github/workflows/update-base-images.yml
14-
FROM docker.io/golang:1.18-alpine as builder
11+
# This container build creates configbump binary in a container
12+
# see also brew.Dockerfile
1513

16-
ARG BUILD_DATE
17-
ARG VCS_REF
18-
ARG VERSION
14+
# https://registry.access.redhat.com/ubi9/go-toolset
15+
FROM registry.access.redhat.com/ubi9/go-toolset:9.5-1745328278 as builder
16+
USER 0
17+
ENV GOPATH=/go/ \
18+
CGO_ENABLED=1
1919

20-
RUN apk --update --no-cache add \
21-
build-base \
22-
gcc \
23-
git \
24-
&& rm -rf /tmp/* /var/cache/apk/*
25-
RUN adduser -D -g '' appuser
2620
WORKDIR /app
27-
28-
ENV GO111MODULE on
29-
ENV GOPROXY https://goproxy.io
30-
# to test FIPS compliance, run https://github.com/openshift/check-payload#scan-a-container-or-operator-image against a built image
31-
ENV CGO_ENABLED=1
32-
COPY go.mod .
33-
COPY go.sum .
34-
RUN go mod download
3521
COPY . ./
3622

37-
ARG VERSION=dev
38-
RUN GOOS=linux go build -a -ldflags '-w -s' -a -installsuffix cgo -o configbump cmd/configbump/main.go
39-
40-
FROM docker.io/alpine:3.18
41-
42-
ARG BUILD_DATE
43-
ARG VCS_REF
44-
ARG VERSION
45-
46-
LABEL maintainer="Eclipse Che team" \
47-
org.opencontainers.image.created=$BUILD_DATE \
48-
org.opencontainers.image.url="https://github.com/che-incubator/configbump" \
49-
org.opencontainers.image.source="https://github.com/che-incubator/configbump" \
50-
org.opencontainers.image.version=$VERSION \
51-
org.opencontainers.image.revision=$VCS_REF \
52-
org.opencontainers.image.vendor="Eclipse Che team" \
53-
org.opencontainers.image.title="ConfigBump" \
54-
org.opencontainers.image.description="This is a simple Kubernetes controller that is able to quickly synchronize a set of configmaps (selected using labels) to files on local filesystem." \
55-
org.opencontainers.image.licenses="EPL 2.0"
56-
57-
ENV EDITION_IDS="ConfigBump"
58-
59-
RUN apk --update --no-cache add \
60-
ca-certificates \
61-
libressl \
62-
tzdata \
63-
&& rm -rf /tmp/* /var/cache/apk/*
23+
#hadolint ignore=SC3010
24+
RUN export ARCH="$(uname -m)" && if [[ ${ARCH} == "x86_64" ]]; then export ARCH="amd64"; elif [[ ${ARCH} == "aarch64" ]]; then export ARCH="arm64"; fi && \
25+
go mod download && go mod verify && \
26+
go test -v ./... && \
27+
# to test FIPS compliance, run https://github.com/openshift/check-payload#scan-a-container-or-operator-image against a built image
28+
GOOS=linux GOARCH=${ARCH} go build -a -ldflags '-w -s' -a -installsuffix cgo -o configbump cmd/configbump/main.go && \
29+
cp configbump /usr/local/bin/configbump && \
30+
chmod 755 /usr/local/bin/configbump
31+
32+
# https://registry.access.redhat.com/ubi9-minimal
33+
FROM registry.access.redhat.com/ubi9-minimal:9.5-1742914212 as runtime
34+
#hadolint ignore=DL4006
35+
RUN microdnf -y install shadow-utils && \
36+
adduser appuser && \
37+
microdnf -y remove shadow-utils && \
38+
microdnf -y update || true && \
39+
microdnf -y clean all && rm -rf /var/cache/yum && \
40+
echo "Installed Packages" && rpm -qa | sort -V && echo "End Of Installed Packages"
6441

6542
USER appuser
66-
COPY --from=builder /etc/passwd /etc/passwd
67-
COPY --from=builder /app/configbump /usr/local/bin/configbump
43+
COPY --from=builder /usr/local/bin/configbump /usr/local/bin/configbump
6844
ENTRYPOINT [ "/usr/local/bin/configbump" ]

build/dockerfiles/brew.Dockerfile

Lines changed: 0 additions & 48 deletions
This file was deleted.

build/dockerfiles/rhel.Dockerfile

Lines changed: 0 additions & 44 deletions
This file was deleted.

go.mod

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module github.com/che-incubator/configbump
22

3-
go 1.19
3+
go 1.23.0
4+
5+
toolchain go1.23.8
46

57
require (
68
github.com/alexflint/go-arg v1.3.0
@@ -22,7 +24,7 @@ require (
2224
github.com/go-logr/logr v0.1.0 // indirect
2325
github.com/gogo/protobuf v1.3.2 // indirect
2426
github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7 // indirect
25-
github.com/golang/protobuf v1.4.3 // indirect
27+
github.com/golang/protobuf v1.5.0 // indirect
2628
github.com/google/gofuzz v1.0.0 // indirect
2729
github.com/googleapis/gnostic v0.3.1 // indirect
2830
github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47 // indirect
@@ -40,16 +42,16 @@ require (
4042
github.com/spf13/pflag v1.0.2 // indirect
4143
go.uber.org/atomic v1.3.2 // indirect
4244
go.uber.org/multierr v1.1.0 // indirect
43-
golang.org/x/crypto v0.23.0 // indirect
45+
golang.org/x/crypto v0.35.0 // indirect
4446
golang.org/x/net v0.25.0 // indirect
4547
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421 // indirect
46-
golang.org/x/sys v0.20.0 // indirect
47-
golang.org/x/term v0.20.0 // indirect
48-
golang.org/x/text v0.15.0 // indirect
48+
golang.org/x/sys v0.30.0 // indirect
49+
golang.org/x/term v0.29.0 // indirect
50+
golang.org/x/text v0.22.0 // indirect
4951
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 // indirect
5052
gomodules.xyz/jsonpatch/v2 v2.0.1 // indirect
5153
google.golang.org/appengine v1.4.0 // indirect
52-
google.golang.org/protobuf v1.26.0-rc.1 // indirect
54+
google.golang.org/protobuf v1.33.0 // indirect
5355
gopkg.in/fsnotify.v1 v1.4.7 // indirect
5456
gopkg.in/inf.v0 v0.9.1 // indirect
5557
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU
4848
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
4949
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
5050
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
51-
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
5251
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
52+
github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4=
53+
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
5354
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
5455
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
5556
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
@@ -155,8 +156,8 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf
155156
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
156157
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
157158
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
158-
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
159-
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
159+
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
160+
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
160161
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
161162
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
162163
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -194,15 +195,15 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w
194195
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
195196
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
196197
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
197-
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
198-
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
199-
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
200-
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
198+
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
199+
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
200+
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
201+
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
201202
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
202203
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
203204
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
204-
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
205-
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
205+
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
206+
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
206207
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM=
207208
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
208209
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -225,8 +226,9 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ
225226
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
226227
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
227228
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
228-
google.golang.org/protobuf v1.26.0-rc.1 h1:7QnIQpGRHE5RnLKnESfDoxm2dTapTZua5a0kS0A+VXQ=
229229
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
230+
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
231+
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
230232
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
231233
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
232234
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

0 commit comments

Comments
 (0)