07414fd91c
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>
19 lines
323 B
Docker
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"]
|