FROM    public.ecr.aws/lambda/nodejs:24 AS builder

COPY    --from=public.ecr.aws/datadog/lambda-extension:88 /opt/. /opt/

RUN     dnf -y install shadow-utils
RUN     npm install -g yarn

RUN     /usr/sbin/useradd -c 'lambda user' -m -d /home/lambdauser -s /bin/bash lambdauser
RUN     chown -R lambdauser:lambdauser /var/task

USER    lambdauser
COPY    --chown=lambdauser:lambdauser .npmrc package.json yarn.lock ./
RUN     --mount=type=secret,id=GITHUB_NPM_TOKEN,required=true,uid=1000 GITHUB_NPM_TOKEN=$(cat /run/secrets/GITHUB_NPM_TOKEN) yarn install --ignore-optional


FROM    builder

COPY    --chown=lambdauser:lambdauser tsconfig.json tsconfig.build.json nodemon.json ./
COPY    --chown=lambdauser:lambdauser src ./src

RUN     yarn build

CMD    [ "node_modules/datadog-lambda-js/dist/handler.handler" ]
