FROM golang:alpine AS builder

ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux

RUN apk add git

WORKDIR /build

# Download dependency
COPY . .
RUN go mod download


# Build
RUN go build -o main .

WORKDIR /dist

RUN cp /build/main .

# Use scratch image as finally tiny container 
FROM scratch

COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /dist/main /

ENTRYPOINT ["/main"]
