FROM golang:latest AS builder

WORKDIR /build

# Copy shared module first
COPY commons/ ./commons/

# Copy publisher module
COPY publisher/ ./publisher/

# Build the binary
WORKDIR /build/publisher
RUN go mod download
RUN CGO_ENABLED=0 go build -o publisher .

# Runtime stage
FROM ubuntu:latest

WORKDIR /app

# Install runtime dependencies
RUN apt-get update && apt-get install -y ca-certificates tzdata curl wget && rm -rf /var/lib/apt/lists/*

# Copy binary from builder
COPY --from=builder /build/publisher/publisher .

EXPOSE 4322

CMD ["./publisher"]
