ARG BASE_IMAGE_GO_DISTROLESS
FROM golang:alpine as builder
COPY . /usr/src/k8s-rdma-shared-dp
ARG GOPROXY
ENV GOPROXY=$GOPROXY
ENV HTTP_PROXY $http_proxy
ENV HTTPS_PROXY $https_proxy
RUN apk add --no-cache build-base linux-headers
WORKDIR /usr/src/k8s-rdma-shared-dp
RUN make clean && \
make build
FROM alpine:3 AS pkgs
RUN apk add --no-cache hwdata-pci kmod
FROM ${BASE_IMAGE_GO_DISTROLESS:-nvcr.io/nvidia/distroless/go:v4.0.1}
USER 0:0
COPY --from=builder /usr/src/k8s-rdma-shared-dp/build/k8s-rdma-shared-dp /bin/
COPY . /src
COPY --from=pkgs /usr/share/hwdata/pci.ids /usr/share/hwdata/pci.ids
COPY --from=pkgs /sbin/lsmod /sbin/lsmod
LABEL io.k8s.display-name="RDMA Shared Device Plugin"
ENTRYPOINT ["/bin/k8s-rdma-shared-dp"]