FROM ubi8-minimal:8-released AS builder

ENV GOPATH=/go

COPY sriov-network-device-plugin-*.tar.gz /go/src/github.com/intel/
RUN microdnf install -y tar gzip go-compilers-golang-compiler
RUN \
    cd /go/src/github.com/intel && \
    tar -xzf sriov-network-device-plugin-*.tar.gz && \
    rm sriov-network-device-plugin-*.tar.gz && \
    mv sriov-network-device-plugin-* sriov-network-device-plugin

WORKDIR /go/src/github.com/intel/sriov-network-device-plugin/

RUN GOOS=linux GOARCH=amd64 go build -i -o /sriovdp ./cmd/sriovdp

FROM ubi8-minimal:8-released

COPY --from=builder /sriovdp /usr/bin/
COPY --from=builder /go/src/github.com/intel/sriov-network-device-plugin/images/entrypoint.sh /
ADD source-repos /.version

ENTRYPOINT ["/entrypoint.sh"]

LABEL com.redhat.component="sriov-network-device-plugin-container" \
      name="container-native-virtualization/sriov-network-device-plugin-container" \
      version="v2.0.0" \
      summary="sriov-network-device-plugin" \
      io.openshift.expose-services="" \
      io.openshift.tags="cnv,cni,sriov" \
      io.k8s.display-name="SRIOV Network Device Plugin" \
      maintainer="The KubeVirt Project <kubevirt-dev@googlegroups.com>" \
      description="sriov-network-device-plugin"
