Sprint 0 / #18: multi-stage Dockerfile и супервизор entrypoint #49

Open
embeddevio wants to merge 10 commits from feat/18-docker-runtime into main
Showing only changes of commit ea63e904b4 - Show all commits
+6 -4
View File
@@ -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