FROM golang:1.19 AS BUILD

RUN apt-get update \
    && apt-get install -y make

COPY . /src

WORKDIR /src

RUN make GORELEASER_ARGS='build --rm-dist --single-target --snapshot' goreleaser

FROM busybox:latest AS RUNTIME

ARG DUMB_INIT_VERSION=1.2.5

RUN mkdir -p /usr/local/bin \
    && wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 \
    && chmod +x /usr/local/bin/dumb-init

ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]

COPY --from=BUILD /src/dist/bouncer_linux_amd64_v1 /app
COPY --from=BUILD /src/config.yml /etc/bouncer/config.yml

EXPOSE 8080
EXPOSE 8081

ENTRYPOINT ["/app/bouncer"]

CMD ["bouncer", "run", "-c", "/etc/bouncer/config.yml"]