# 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/go.mod server/go.sum ./ RUN go mod download COPY server/ . RUN CGO_ENABLED=0 go build -o registry . FROM alpine:3.21 RUN apk --no-cache add ca-certificates COPY --from=builder /app/registry /registry # ── Prod config (change here → rebuild → push → redeploy) ───────────────── ENV S3_ENDPOINT=s3.msk-1.ngcloud.ru \ S3_BUCKET=terraform-registry \ S3_PREFIX=tf-registry.services.ngcloud.ru \ REGISTRY_HOSTNAME=tf-registry.services.ngcloud.ru \ PORT=5000 \ S3_ACCESS_KEY=6DDP5PKQEE37WLSWXP07 \ S3_SECRET_KEY=W0vV4YNeHIqMa2sRCXsR61ZuQfAJIZzVj2VgnBrT # ── Reader-креды (1112_terraform:reader), убрать когда jsonEnv в modify ─── EXPOSE 5000 CMD ["/registry"]