FROM ubi8-minimal:8-released AS builder

ENV GOPATH=/go

COPY sriov-cni-*.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-cni-*.tar.gz && \
    rm sriov-cni-*.tar.gz && \
    mv sriov-cni-* sriov-cni

WORKDIR /go/src/github.com/intel/sriov-cni/

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

FROM ubi8-minimal:8-released

RUN mkdir -p /usr/src/sriov-cni/bin/ && \
    mkdir /usr/src/sriov-cni/images/

COPY --from=builder /sriov /usr/src/sriov-cni/bin/sriov
COPY --from=builder /go/src/github.com/intel/sriov-cni/images/* /usr/src/sriov-cni/images/

RUN cp -p /usr/src/sriov-cni/images/entrypoint.sh /

ENTRYPOINT ["/entrypoint.sh"]

LABEL com.redhat.component="sriov-cni-container" \
      name="container-native-virtualization/sriov-cni-container" \
      version="v2.0.0" \
      summary="sriov CNI Plugin" \
      io.openshift.expose-services="" \
      io.openshift.tags="cnv,cni,sriov" \
      io.k8s.display-name="sriov" \
      maintainer="Ihar Hrachyshka <ihar@redhat.com>" \
      description="sriov CNI Plugin"
