Sprint 0 / #18: multi-stage Dockerfile и супервизор entrypoint #49
+6
-4
@@ -8,10 +8,11 @@
|
||||
|
||||
# Базовые образы и зависимости подняты под гейт image-scan (issue #61):
|
||||
# golang:1.26-alpine — закрывает CVE Go stdlib 1.25.14 (CRITICAL CVE-2026-56857 + HIGH)
|
||||
# golang.org/x/crypto >= v0.43.0 — закрывает CVE-2025-47913 (ssh/agent)
|
||||
# golang.org/x/crypto v0.58.0 + golang.org/x/net v0.62.0 — закрывают CVE в ssh/* и http2/idna
|
||||
# alpine:3.23 — закрывает HIGH в пакетах alpine 3.21
|
||||
ARG GO_IMAGE=golang:1.26-alpine
|
||||
ARG X_CRYPTO_VERSION=v0.43.0
|
||||
ARG X_CRYPTO_VERSION=v0.58.0
|
||||
ARG X_NET_VERSION=v0.62.0
|
||||
|
||||
# --- stage 1: сборка awg-утилит (Go) -----------------------------------------
|
||||
FROM ${GO_IMAGE} AS go-build
|
||||
@@ -21,15 +22,16 @@ ARG AMNEZIAWG_GO_REF=master
|
||||
ARG AMNEZIAWG_TOOLS_REPO=https://github.com/amnezia-vpn/amneziawg-tools.git
|
||||
ARG AMNEZIAWG_TOOLS_REF=master
|
||||
ARG X_CRYPTO_VERSION
|
||||
ARG X_NET_VERSION
|
||||
|
||||
RUN apk add --no-cache git make gcc musl-dev linux-headers
|
||||
|
||||
WORKDIR /src
|
||||
RUN git clone --depth 1 --branch "${AMNEZIAWG_GO_REF}" "${AMNEZIAWG_GO_REPO}" amneziawg-go \
|
||||
&& cd amneziawg-go \
|
||||
&& go get "golang.org/x/crypto@${X_CRYPTO_VERSION}" \
|
||||
&& go get "golang.org/x/crypto@${X_CRYPTO_VERSION}" "golang.org/x/net@${X_NET_VERSION}" \
|
||||
&& go mod tidy \
|
||||
&& go list -m golang.org/x/crypto \
|
||||
&& go list -m golang.org/x/crypto golang.org/x/net \
|
||||
&& make \
|
||||
&& cp amneziawg-go /usr/local/bin/amneziawg-go
|
||||
|
||||
|
||||
Reference in New Issue
Block a user