FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:node22 AS base

USER root

WORKDIR /var/app

COPY package.json package-lock.json /var/app/

RUN npm ci

COPY . .

RUN npm run build

FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:node22 AS deploy

USER root

# Install Amazon RDS root CA certificate
RUN apt update \
    && apt upgrade -y \
    && apt install curl \
    && curl https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem \
          -o /etc/ssl/certs/rds-global-bundle.pem \
    && update-ca-certificates

USER node

WORKDIR /var/app

COPY --chown=node:node --from=base /var/app /var/app

RUN npm prune --production

CMD [ "npm", "run", "start" ]

FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:node22 AS lint-and-test

WORKDIR /var/app

COPY --chown=node:node --from=base /var/app /var/app

USER root

ENTRYPOINT [ "/var/app/lint-and-test.sh" ]
