ARG BASE_REGISTRY=registry1.dso.mil
ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk17
ARG BASE_TAG=1.17

FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} as base
USER 0

# Copy and extract ELRR Aggregator source cod
WORKDIR /
COPY ./elrraggregator-2.1.tar.gz .

# ELRR Aggregator Dependencies
RUN tar -xvf ./elrraggregator-2.1.tar.gz --strip-components=1 && \
    mkdir -p target/dependency

WORKDIR /elrraggregator-0.0.1-SNAPSHOT

RUN mv BOOT-INF/ ../target/dependency/ && \
    mv META-INF/ ../target/dependency/ && \
    mv org/ ../target/dependency/

# Cleaning up unnecessary files
RUN dnf update -y && \
    dnf install -y java-devel && \
    dnf clean all && \
    rm -rf /var/cache/dnf

USER 1001

FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} as runner
USER 0

# Copying dependencies from base
COPY --from=base ./target/dependency/BOOT-INF/lib /app/lib
COPY --from=base ./target/dependency/META-INF /app/META-INF
COPY --from=base ./target/dependency/BOOT-INF/classes /app

# Cleaning up unnecessary files
RUN dnf update -y && \
    dnf install -y java-devel && \
    dnf clean all && \
    rm -rf /var/cache/dnf

USER 1001

ENTRYPOINT ["java","-cp","app:app/lib/*","-Dspring.profiles.active=${ENV}","-Djasypt.encryptor.password=${NAME}","com.deloitte.elrr.elrrconsolidate.ElrrConsolidateApplication"]