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

ENV GOPATH=/go

# Catch US Bazel changes that need to be propagated DS
ENV US_BAZEL_MD5=28530441c90bef68144c1eca9a132039

RUN microdnf install -y git sed tar go-compilers-golang-compiler

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

#@follow_tag(ubi8-minimal:8-released)
FROM ubi8-minimal:8.1-409
COPY --from=builder /go/src/kubevirt.io/containerized-data-importer/_out/cmd/cdi-operator/cdi-operator /usr/bin/virt-cdi-operator
COPY --from=builder /go/src/kubevirt.io/containerized-data-importer/_out/tools/csv-generator/csv-generator /usr/bin/csv-generator

# Create non-root user
RUN microdnf install -y shadow-utils
RUN useradd -u 1001 --create-home -s /bin/bash cdi-operator
WORKDIR /home/cdi-operator
USER 1001

ENTRYPOINT [ "/usr/bin/virt-cdi-operator" ]

LABEL com.redhat.component="virt-cdi-operator-container" \
      name="container-native-virtualization/virt-cdi-operator" \
      version="v2.3.0" \
      release="41" \
      summary="Operator for the data fetching service" \
      io.openshift.expose-services="" \
      io.openshift.tags="data,images" \
      io.k8s.display-name="virt-cdi-operator" \
      maintainer="alitke@redhat.com" \
      description="Operator for the data fetching service for CNV images"
