FROM golang:1-alpine AS build
WORKDIR /app

ENV GO111MODULE=auto CGO_ENABLED=0 GOOS=linux

ARG GOPROXY
ARG GONOSUMDB=gitea.libretechconsulting.com
ARG VER_PKG=gitea.libretechconsulting.com/rmcguire/go-app/pkg/config.Version
ARG VERSION=(devel)
ARG APP_NAME=go-server-with-otel

COPY ./go.mod ./go.sum ./
RUN go mod download

COPY ./ /app
RUN go build -C . -v -ldflags "-extldflags '-static' -X ${VER_PKG}=${VERSION}" -o ${APP_NAME} .

FROM alpine:latest

ARG APP_NAME=go-server-with-otel

WORKDIR /app
USER 100:101

COPY --from=build --chown=100:101 /app/${APP_NAME} /app/app

ENTRYPOINT [ "/app/app" ]
