2021-01-30 01:28:07 +05:30
|
|
|
# Multi-stage docker build
|
|
|
|
# Build stage
|
2022-04-25 21:26:00 +08:00
|
|
|
FROM golang@sha256:724abf4dd44985d060f7aa91af5211eb2052491424bd497ba3ddc31f7cee969d AS builder
|
2021-01-30 01:28:07 +05:30
|
|
|
|
|
|
|
LABEL maintainer="Kyverno"
|
|
|
|
|
|
|
|
# LD_FLAGS is passed as argument from Makefile. It will be empty, if no argument passed
|
|
|
|
ARG LD_FLAGS
|
2021-02-19 07:39:01 +05:30
|
|
|
ARG TARGETPLATFORM
|
2021-01-30 01:28:07 +05:30
|
|
|
|
|
|
|
ADD . /kyverno
|
|
|
|
WORKDIR /kyverno
|
|
|
|
|
2021-02-19 07:39:01 +05:30
|
|
|
RUN export GOOS=$(echo ${TARGETPLATFORM} | cut -d / -f1) && \
|
|
|
|
export GOARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2)
|
|
|
|
|
|
|
|
RUN go env
|
|
|
|
|
|
|
|
RUN CGO_ENABLED=0 go build -o /output/kyverno -ldflags="${LD_FLAGS}" -v ./cmd/cli/kubectl-kyverno/
|
2021-01-30 01:28:07 +05:30
|
|
|
|
|
|
|
# Packaging stage
|
2020-08-21 22:15:04 +05:30
|
|
|
FROM scratch
|
2021-01-30 01:28:07 +05:30
|
|
|
|
|
|
|
LABEL maintainer="Kyverno"
|
|
|
|
|
|
|
|
COPY --from=builder /output/kyverno /
|
|
|
|
COPY --from=builder /etc/passwd /etc/passwd
|
|
|
|
|
2021-03-10 14:47:09 -08:00
|
|
|
USER 10001
|
2021-01-30 01:28:07 +05:30
|
|
|
|
|
|
|
ENTRYPOINT ["./kyverno"]
|