# Изменено: 2026-03-19 — v0.1.1: добавлены go.sum + go mod download (pgx/v5 v5.7.2). # Base builder image для Go 1.23 serverless функций. # Это BUILDER-образ: golang:1.23-alpine + server.go + pre-cached зависимости. # go mod download кеширует pgx/v5 в /root/go/pkg/mod — kaniko не скачивает их при каждой сборке. # # kaniko генерирует Dockerfile для каждой функции: # FROM naeel/sless-runtime-go1.23:v0.1.1 AS builder # WORKDIR /app # COPY . /app/handler/ # RUN CGO_ENABLED=0 go build -o /server . # FROM alpine:3.20 # COPY --from=builder /server /server → финальный образ # # Почему не multi-stage здесь: base образ должен иметь Go компилятор и module cache. # Бинарник собирается kaniko, а не здесь. FROM golang:1.23-alpine WORKDIR /app # Копируем mod файлы первыми — отдельный кешируемый слой. # При изменении go.mod/go.sum слой инвалидируется и go mod download запускается заново. COPY go.mod go.sum /app/ RUN go mod download # server.go — HTTP-wrapper + job-runner (main package, импортирует sless/fn/handler). COPY server.go /app/server.go EXPOSE 8080