# Workaround for missing OCP 4 builds
# FROM openshift/ose-cli:v4.1.0-201904110044 AS osecli
FROM openshift/ose-cli:v4.1.0 AS osecli
RUN touch /dummy

################
FROM ubi8:8-released

RUN INSTALL_PKGS="kubevirt-web-ui-operator ansible openssl openssl-libs compat-openssl10" && \
    dnf install -y ${INSTALL_PKGS} && \
    rpm -V ${INSTALL_PKGS} && \
    dnf clean all

ENV USER_NAME=kwebui \
    USER_UID=1001 \
    BASE_DIR=/opt/kwebui
ENV HOME=${BASE_DIR}

COPY --from=osecli /usr/bin/oc /usr/bin/oc

ADD manifests /manifests

RUN mkdir -p ${BASE_DIR}
RUN ln -s /usr/share/kubevirt-web-ui-operator ${BASE_DIR}/kubevirt-web-ui-ansible
RUN cp /usr/share/kubevirt-web-ui-operator/entrypoint.sh /usr/local/bin/entrypoint.sh

ENV PATH=/usr/local/bin:${PATH}
RUN useradd -u ${USER_UID} -r -g 0 -M -d ${BASE_DIR} -b ${BASE_DIR} -s /sbin/nologin -c "kubevirt web-ui user" ${USER_NAME} && \
    chmod -R u+x /usr/local/bin && \
    chown -R ${USER_NAME}:0 ${BASE_DIR} /usr/local/bin && \
    chmod -R g=u ${BASE_DIR} /usr/local/bin /etc/passwd

ENTRYPOINT ["entrypoint.sh"]
CMD kubevirt-web-ui-operator

LABEL \
        io.k8s.description="This is a component of OpenShift Container Platform and provides operator for Container Native Virtualization (CNV) Web User Interface." \
        summary="This is a component of OpenShift Container Platform and provides operator for Container Native Virtualization (CNV) Web User Interface." \
        com.redhat.component="kubevirt-web-ui-operator-container" \
        name="container-native-virtualization/kubevirt-web-ui-operator" \
        License="GPLv2+" \
        io.k8s.display-name="CNV Web UI Operator" \
        version="v2.0.0" \ 
        release="22" \
        io.openshift.tags="openshift,console,web-console,kubevirt,cnv,operator" \
        maintainer="mlibra@redhat.com"

