oidc-auth-armada-app/stx-oidc-client/debian/docker/Dockerfile
Michel Thebeau 07414fd91c reduce size of stx-oidc-client image
Use Docker multi-stage build to start stx-oidc-client image from
'scratch' after using the upstream go image as builder.

Build the stx-oidc-client executable as statically linked.

This commit removes the build image and module downloads which are
approximately 500MB.  Instead of those artifacts take a snapshot of the
go version and downloaded file list.

Test plan:

PASS: build image
PASS: sanity on isolated executable
PASS: inspect image content/size
PASS: application sanity; authenticate and run kubectl command, review
      logs

Story: 2009831
Task: 46463

Change-Id: I7d911a133fa95537b957ef964916fc6e4ca5dcf1
Signed-off-by: Michel Thebeau <Michel.Thebeau@windriver.com>
2022-10-03 17:35:36 -04:00

19 lines
323 B
Docker

FROM golang:latest as builder
WORKDIR /app
ADD . /app/
RUN go mod download
ENV CGO_ENABLED=0
RUN go build --ldflags '-extldflags "-static"' -o stx-oidc-client .
RUN go version > go.version.txt
RUN find /go -type f > go.dl.txt
FROM scratch
WORKDIR /app
COPY --from=builder /app ./
EXPOSE 5555
CMD ["./stx-oidc-client"]