# Start from the official Golang image for building
FROM --platform=$BUILDPLATFORM golang:1.22-alpine AS builder

ARG TARGETARCH
ARG TARGETOS

# Install CA certificates in the builder (runs natively, no QEMU needed)
RUN apk --no-cache add ca-certificates

WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
# Build statically for Linux
RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o mindforge-cronjob ./cmd/mindforge.cronjob

# Use alpine to provide git (QEMU overhead for apk add is minimal)
FROM alpine:latest
RUN apk --no-cache add git ca-certificates openssh-client

COPY --from=builder /app/mindforge-cronjob /app/mindforge-cronjob
ENV GIT_REPOSITORY=""
ENV GEMINI_API_KEY=""
ENV OPENAI_API_KEY=""
ENV DISCORD_WEBHOOK_URL=""
ENV HAVEN_NOTIFY_URL=""
ENV SSH_PRIVATE_KEY=""
ENTRYPOINT ["/app/mindforge-cronjob"]
