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