-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
54 lines (45 loc) · 2.11 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
FROM --platform=${BUILDPLATFORM} golang:1.22-bookworm@sha256:ffe437c97bf9ea4c7b87c6cb03960e800d0186a1f5802563d94917994702d1c9 AS builder
WORKDIR /src/
COPY . .
ARG VERSION
RUN case ${TARGETPLATFORM} in \
"linux/amd64") GOARCH=amd64 ;; \
# arm64 and arm64v8 are equivilant in go and do not require a goarm
# https://github.com/golang/go/wiki/GoArm
"linux/arm64" | "linux/arm/v8") GOARCH=arm64 ;; \
"linux/ppc64le") GOARCH=ppc64le ;; \
"linux/arm/v6") GOARCH=arm GOARM=6 ;; \
"linux/arm/v7") GOARCH=arm GOARM=7 ;; \
esac && \
GOARCH=${GOARCH} VERSION=${VERSION} make build
FROM gcr.io/distroless/static:nonroot@sha256:6a3500b086c2856fbc189f5d11351bdbcf7c4dc5673c2b6070aac9d607da90d7
COPY --from=builder /src/version /bin/version
ARG CREATED
ARG AUTHORS="Koen van Zuijlen <[email protected]>"
ARG URL="https://github.com/version-cli/version"
ARG DOCUMENTATION="https://github.com/version-cli/version"
ARG SOURCE="https://github.com/version-cli/version"
ARG VERSION
ARG REVISION
ARG VENDOR="version-cli"
ARG LICENSES="GNU GPLv3"
ARG TITLE="version"
ARG DESCRIPTION="A simple CLI tool to deal with version numbers."
ARG BASE_IMAGE="gcr.io/distroless/static:nonroot"
ARG BASE_IMAGE_DIGEST="sha256:6a3500b086c2856fbc189f5d11351bdbcf7c4dc5673c2b6070aac9d607da90d7"
LABEL authors="kvanzuijlen" \
org.opencontainers.image.created=${CREATED} \
org.opencontainers.image.authors=${AUTHORS} \
org.opencontainers.image.url=${URL} \
org.opencontainers.image.documentation=${DOCUMENTATION} \
org.opencontainers.image.source=${SOURCE} \
org.opencontainers.image.version=${VERSION} \
org.opencontainers.image.revision=${REVISION} \
org.opencontainers.image.vendor=${VENDOR} \
org.opencontainers.image.licenses=${LICENSES} \
org.opencontainers.image.ref.name=v${VERSION} \
org.opencontainers.image.title=${TITLE} \
org.opencontainers.image.description=${DESCRIPTION} \
org.opencontainers.image.base.digest=${BASE_IMAGE_DIGEST} \
org.opencontainers.image.base.name=${BASE_IMAGE}
ENTRYPOINT ["/bin/version"]