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' release

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/emissary_linux_amd64_v1 /app
COPY --from=BUILD /src/tmp/config.yml /etc/emissary/config.yml

EXPOSE 3000

ENTRYPOINT ["/app/emissary"]

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