FROM golang:1.25.4 AS builder

WORKDIR /app

COPY go.mod go.sum ./
COPY gen ./gen
COPY internal ./internal
COPY cmd ./cmd

RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/server ./cmd/server
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/worker ./cmd/worker

FROM gcr.io/distroless/base-debian12

WORKDIR /app

COPY --from=builder /out/server /app/server
COPY --from=builder /out/worker /app/worker

ENV PORT=8080

EXPOSE 8080

ENTRYPOINT ["/app/server"]
