FROM ubi8-minimal:8-released AS builder

ENV GOPATH=/go

COPY ovs-cni-*.tar.gz /go/src/kubevirt.io/
RUN microdnf install -y tar gzip go-compilers-golang-compiler
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/marker

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-marker-container" \
      name="container-native-virtualization/ovs-cni-marker-container" \
      version="v2.0.0" \
      summary="OVS CNI Marker" \
      io.openshift.expose-services="" \
      io.openshift.tags="cnv,ovs" \
      io.k8s.display-name="ovs-cni-marker" \
      maintainer="The KubeVirt Project <kubevirt-dev@googlegroups.com>" \
      description="OVS CNI Marker"
