FROM openshift/golang-builder:1.11 AS builder

ARG version=v1.4.0-12-2-ga91e9e0
ARG us_version=0.13.7
ARG commit=4aa55e55e399ea2e7ddad902695ac7c9287edc49
ENV GOPATH=/go

RUN yum install -y rsync sed
COPY kubevirt-${version}.tar.gz /
RUN tar xf /kubevirt-${version}.tar.gz && \
    mkdir -p /go/src/kubevirt.io/ && \
    mv kubevirt-${commit} /go/src/kubevirt.io/kubevirt
WORKDIR ${GOPATH}/src/kubevirt.io/kubevirt

RUN KUBEVIRT_VERSION=${us_version} \
    KUBEVIRT_SOURCE_DATE_EPOCH="$(date +%s)" \
    KUBEVIRT_GIT_COMMIT=${commit} \
    KUBEVIRT_GIT_VERSION=v${us_version} \
    KUBEVIRT_GIT_TREE_STATE=clean \
    ./hack/build-go.sh install cmd/virt-operator

FROM rhel7:7-released

ARG version=v1.4.0-12-2-ga91e9e0

COPY --from=builder /go/src/kubevirt.io/kubevirt/_out/cmd/virt-operator/virt-operator-${us_version}-linux-amd64 /usr/bin/virt-operator
ENTRYPOINT [ "/usr/bin/virt-operator" ]
# Create non-root user
RUN  adduser --system --no-create-home -u 1001 virt-operator
USER 1001

LABEL com.redhat.component="virt-operator-container" \
      name="cnv-tech-preview/virt-operator" \
      version="v1.4.1" \
      summary="KubeVirt Operator" \
      io.openshift.expose-services="" \
      io.openshift.tags="cnv,kubevirt,operator" \
      io.k8s.display-name="virt-operator" \
      maintainer="The KubeVirt Project <kubevirt-dev@googlegroups.com>" \
      description="CNV Virtualization Operator"
