FROM ubi8-minimal:8-released AS builder

ENV GOPATH=/go

RUN microdnf install -y go-compilers-golang-compiler tar gzip
COPY ovs-cni-*.tar.gz /go/src/kubevirt.io/
RUN \
    cd /go/src/kubevirt.io/ && \
    tar -xzf ovs-cni-*.tar.gz && \
    rm ovs-cni-*.tar.gz && \
    mv ovs-cni-* ovs-cni

WORKDIR /go/src/kubevirt.io/ovs-cni/

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

FROM ubi8-minimal:8-released

RUN mkdir -p /usr/src/ovs-cni/bin
COPY --from=builder /ovs /usr/src/ovs-cni/bin/ovs

CMD ["sh", "-c", "cp /usr/src/ovs-cni/bin/ovs /host/opt/cni/bin/ovs && sleep infinity"]

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