FROM registry.access.redhat.com/ubi8/nodejs-22-minimal AS repo-builder
USER root
RUN INSTALL_PKGS="git rsync" && \
    microdnf --nodocs --setopt=install_weak_deps=0 install $INSTALL_PKGS && \
    microdnf clean all && \
    rm -rf /mnt/rootfs/var/cache/* /mnt/rootfs/var/log/dnf* /mnt/rootfs/var/log/yum.*
USER 1001

FROM repo-builder AS devcontainer
ARG AIUI_APP_CLUSTER_PERMISSIONS=''
ARG AIUI_APP_IMAGE_REPO='N/A'
ARG AIUI_APP_API_ROOT='/api/assisted-install'
ARG AIUI_APP_GIT_SHA='N/A'
ARG AIUI_APP_VERSION='latest'
ENV AIUI_APP_CLUSTER_PERMISSIONS=$AIUI_APP_CLUSTER_PERMISSIONS
ENV AIUI_APP_IMAGE_REPO=$AIUI_APP_IMAGE_REPO
ENV AIUI_APP_API_ROOT=$AIUI_APP_API_ROOT
ENV AIUI_APP_GIT_SHA=$AIUI_APP_GIT_SHA
ENV AIUI_APP_VERSION=$AIUI_APP_VERSION
ENV NODE_OPTIONS='--max-old-space-size=8192'
ENV CI='true'
EXPOSE 4173
EXPOSE 5173
COPY --chown=1001:0 / "${APP_ROOT}/src/repo"
RUN npm install -g corepack@0.24.1
WORKDIR "${APP_ROOT}/src/repo"
RUN yarn install --immutable && yarn build:all
COPY /apps/assisted-ui/env.template.js /opt/app-root/src/repo/apps/assisted-ui/build/

FROM registry.access.redhat.com/ubi8/nginx-122 AS assisted-ui
COPY --from=devcontainer /opt/app-root/src/repo/apps/assisted-ui/build/ "${NGINX_APP_ROOT}/src/"
COPY --from=devcontainer /opt/app-root/src/repo/apps/assisted-ui/deploy/ /deploy/
CMD [ "/deploy/start.sh" ]
