# Multi-stage build for Terraform Registry
# 
# Stage 1: Build Go binary
# Stage 2: Minimal Alpine runtime

FROM golang:1.24-alpine AS builder
ENV GOTOOLCHAIN=auto
WORKDIR /app
COPY server/ .
RUN go mod init tf-registry && go mod tidy && CGO_ENABLED=0 go build -o registry .

FROM alpine:3.21
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/registry /registry

# ── Non-secret defaults (change here → rebuild → push → redeploy) ─────────
ENV S3_ENDPOINT=s3.msk-1.ngcloud.ru \
    S3_BUCKET=terraform-registry \
    S3_PREFIX=registry.kube5s.ru \
    PORT=5000
# ── Secrets go in UI jsonEnv: S3_ACCESS_KEY, S3_SECRET_KEY ─────────────────

EXPOSE 5000
CMD ["/registry"]
