#@follow_tag(ubi8-minimal:8-released)
FROM ubi8-minimal:8.1-279 AS builder

ENV GOPATH=/go

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

WORKDIR /go/src/github.com/kubevirt/ovs-cni/

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

#@follow_tag(ubi8-minimal:8-released)
FROM ubi8-minimal:8.1-279

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

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

LABEL com.redhat.component="ovs-cni-plugin-container" \
      name="container-native-virtualization/ovs-cni-plugin" \
      version="v2.2.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"
