FROM reg.cadoles.com/proxy_cache/library/golang:1.13 as envtpl

ARG HTTP_PROXY=
ARG HTTPS_PROXY=
ARG http_proxy=
ARG https_proxy=

RUN apt-get update -y && apt-get install -y git

RUN git clone https://github.com/subfuzion/envtpl /src \
  && cd /src \
  && git checkout v1.0.0 \
  && CGO_ENABLED=0 GOOS=linux go build \
    -ldflags "-X main.AppVersionMetadata=$(date -u +%s)" \
    -a -installsuffix cgo -o ./bin/envtpl ./cmd/envtpl/.

FROM alpine:3.16

ARG HTTP_PROXY=
ARG HTTPS_PROXY=
ARG http_proxy=
ARG https_proxy=

COPY --from=envtpl /src/bin/envtpl /usr/local/bin/envtpl

RUN apk add --no-cache \
    nss \
    freetype \
    freetype-dev \
    harfbuzz \
    ca-certificates \
    ttf-freefont \
    nodejs \
    npm \
    chromium \
    bash \
    curl \
    openssl \
    git

RUN curl -k https://forge.cadoles.com/Cadoles/Jenkins/raw/branch/master/resources/com/cadoles/common/add-letsencrypt-ca.sh | bash

RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install -g pa11y  git+https://forge.cadoles.com/rmasson/junit-reporter-fork.git

RUN adduser -D pa11y

COPY run-audit.sh /usr/local/bin/run-audit
RUN chmod +x /usr/local/bin/run-audit

COPY patty.json.tmpl /home/pa11y/patty.json.tmpl

WORKDIR /home/pa11y

RUN mkdir /home/pa11y/reports

RUN chown -R pa11y: /home/pa11y

USER pa11y

CMD /usr/local/bin/run-audit