FROM golang:1.26-alpine AS builder
WORKDIR /workspace

COPY go.work go.work.sum ./
COPY gen/ ./gen/
COPY ha-gateway/ ./ha-gateway/
COPY discord-bot/ ./discord-bot/

WORKDIR /workspace/ha-gateway
RUN go mod download

ARG VERSION=dev
RUN CGO_ENABLED=0 GOOS=linux go build \
  -ldflags="-s -w -X main.version=${VERSION}" \
  -o /ha-gateway ./cmd/gateway

FROM gcr.io/distroless/static:nonroot
COPY --from=builder /ha-gateway /ha-gateway
EXPOSE 50051
ENTRYPOINT ["/ha-gateway"]
