#@follow_tag(registry.redhat.io/rhel8-2-els/rhel)
FROM registry.redhat.io/rhel8-2-els/rhel:8.2-4 AS builder

ENV GOPATH=/go

# Catch US Bazel changes that need to be propagated DS
ENV US_BAZEL_MD5=95a5afb37233da2f87435f1961afbd9d

RUN echo -e "[go-toolset]\nname=go-toolset\nprofiles=\nstate=enabled\nstream=rhel8" > /etc/dnf/modules.d/go-toolset.module \
    && dnf install -y tar git sed go-compilers-golang-compiler tree

COPY containerized-data-importer-*.tar.gz /
RUN mkdir -p /go/src/kubevirt.io/containerized-data-importer
RUN tar -xzf containerized-data-importer-*.tar.gz --strip-components 1 -C /go/src/kubevirt.io/containerized-data-importer
RUN cd /go/src/kubevirt.io/containerized-data-importer && \
    echo "$US_BAZEL_MD5  cmd/cdi-uploadserver/BUILD.bazel" > .md5sums && \
    md5sum -c .md5sums && rm .md5sums && \
    GOFLAGS=-mod=vendor ./hack/build/build-go.sh build cmd/cdi-uploadserver

#@follow_tag(registry.redhat.io/rhel8-2-els/rhel)
FROM registry.redhat.io/rhel8-2-els/rhel:8.2-4
RUN echo -e "[virt]\nname=virt\nprofiles=\nstate=enabled\nstream=8.2" > /etc/dnf/modules.d/virt.module && \
    dnf install -y qemu-img qemu-kvm-block-curl && dnf clean all
RUN dnf install -y util-linux tar && dnf clean all
COPY --from=builder /go/src/kubevirt.io/containerized-data-importer/_out/cmd/cdi-uploadserver/cdi-uploadserver /usr/bin/virt-cdi-uploadserver
ENTRYPOINT [ "/usr/bin/virt-cdi-uploadserver", "-alsologtostderr" ]

LABEL com.redhat.component="virt-cdi-uploadserver-container" \
      name="container-native-virtualization/virt-cdi-uploadserver" \
      version="v2.5.2" \
      release="3" \
      summary="Upload server for the data fetching service" \
      io.openshift.expose-services="" \
      io.openshift.tags="data,images" \
      io.k8s.display-name="virt-cdi-uploadserver" \
      maintainer="The KubeVirt Project <kubevirt-dev@googlegroups.com" \
      description="Upload server for the data fetching service for CNV images"
