feat: traefik-selectel-dns — A-записи Selectel по роутам Traefik + CI сборка образа
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM golang:1.27-alpine AS build
|
||||
WORKDIR /src
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
COPY cmd ./cmd
|
||||
COPY internal ./internal
|
||||
ARG VERSION=dev
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath \
|
||||
-ldflags="-s -w -X main.version=${VERSION}" \
|
||||
-o /out/traefik-selectel-dns ./cmd/traefik-selectel-dns
|
||||
|
||||
# static: CA-сертификаты (для HTTPS к Selectel) + пользователь nonroot (uid 65532), без shell.
|
||||
# Для воспроизводимости закрепите образ по digest.
|
||||
FROM gcr.io/distroless/static-debian12:nonroot
|
||||
COPY --from=build /out/traefik-selectel-dns /traefik-selectel-dns
|
||||
USER 65532:65532
|
||||
EXPOSE 9090
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
||||
CMD ["/traefik-selectel-dns", "-healthcheck"]
|
||||
ENTRYPOINT ["/traefik-selectel-dns"]
|
||||
CMD ["-config", "/etc/traefik-selectel-dns/config.yaml"]
|
||||
Reference in New Issue
Block a user