31 lines
986 B
Docker
31 lines
986 B
Docker
# 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
|
|
|
|
# ── TEMP: reader creds hardcoded for Ceph test ────────────────────────────
|
|
ENV S3_ENDPOINT=ceph.tst.nubes.ru \
|
|
S3_BUCKET=terraform-registry \
|
|
S3_PREFIX=registry.containerk8s.dev.nubes.ru \
|
|
REGISTRY_HOSTNAME=registry.containerk8s.dev.nubes.ru \
|
|
S3_USE_SSL=false \
|
|
PORT=5000 \
|
|
S3_ACCESS_KEY=AAYTNYSZIM08DDWV3TK1 \
|
|
S3_SECRET_KEY=xQVd9CeGXACPIXTBTH4KV6DIHEAyySOFSTrS17Lc
|
|
# ── TODO: remove hardcoded keys, use jsonEnv for new instance ─────────────
|
|
|
|
EXPOSE 5000
|
|
CMD ["/registry"]
|