# Copyright (c) 2023 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

FROM ghcr.io/oracle/oraclelinux8-instantclient:21 as base

RUN \
    rm -rf /var/cache/yum/* && \
    yum install -y gcc make patch vim iproute net-tools git && \
    yum clean all && \
    rm -rf /var/cache/yum/*

########################### CONDA INSTALLATION ########################################
ARG MINIFORGE_VERSION=26.1.1-3
ARG MINIFORGE_SHA256=b25b828b702df4dd2a6d24d4eb56cfa912471dd8e3342cde2c3d86fe3dc2d870
ARG MINIFORGE_URL=https://github.com/conda-forge/miniforge/releases/download/${MINIFORGE_VERSION}/Miniforge3-Linux-x86_64.sh
RUN curl -fsSL ${MINIFORGE_URL} -o miniforge.sh \
    && echo "${MINIFORGE_SHA256}  miniforge.sh" | sha256sum -c - \
    && bash ./miniforge.sh -b -p /miniforge \
    && rm ./miniforge.sh
ENV PATH="/miniforge/bin:$PATH"

USER root

ARG CONDA_ENV_FILE=environment.yaml
ARG CONDA_ENV_NAME=operator
ARG OPERATOR_DIR=/etc/operator
ARG RND

COPY ./${CONDA_ENV_FILE} /opt/env.yaml
RUN conda install conda-forge::mamba && mamba env create -f /opt/env.yaml --name ${CONDA_ENV_NAME} && conda clean -afy
ENV PATH="/miniforge/envs/${CONDA_ENV_NAME}}/bin:$PATH"

RUN conda init bash && source ~/.bashrc && conda activate ${CONDA_ENV_NAME}

########################### SETUP WORKDIR ########################################
RUN mkdir ${OPERATOR_DIR}

ENV OPERATOR_DIR=${OPERATOR_DIR}
ENV CONDA_ENV_NAME=${CONDA_ENV_NAME}

WORKDIR ${OPERATOR_DIR}

RUN echo "conda activate $CONDA_ENV_NAME">>/root/.bashrc
SHELL ["/bin/bash", "--login", "-c"]

ENTRYPOINT [ "bash", "--login" , "-c"]
