### STAGE 1.a: Prepare certs ###
FROM alpine:latest as certs
RUN apk --update add ca-certificates

### STAGE 1.b: Build ###
FROM golang as go-build
WORKDIR /root
COPY go.mod go.sum ./
# install packages
RUN go mod download
COPY . .
ENV CGO_ENABLED=0
RUN go build -tags timetzdata holiday-api

### Stage 2: Run ###
FROM scratch
COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=go-build /root/holiday-api /usr/bin/holiday-api
ADD templates templates/
ADD assets assets/
ENTRYPOINT ["holiday-api"]
