From 521d77f0ccc773e2939c44c2de7204c1066b699f Mon Sep 17 00:00:00 2001 From: nineap Date: Fri, 10 Jul 2026 20:44:14 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B5=D0=B7=D0=B4=20?= =?UTF-8?q?=D1=81=20ghcr.io=20=D0=BD=D0=B0=20=D0=B2=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20Container=20Registry=20G?= =?UTF-8?q?itea?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Каждая нода теперь логинится и тянет образ с gitea.netrunner-vpn.com напрямую (secrets.GITEA_REGISTRY_TOKEN, тот же, что и в build.yml). --- .gitea/workflows/build.yml | 26 ++++++++++++++------------ .gitea/workflows/deploy.yml | 9 +++++---- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index b551c6c..00d5f26 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -1,11 +1,13 @@ -# Собирает netrunner-server (release-бинарник) и пушит Docker-образ в ghcr.io. -# Dockerfile сам не компилирует Rust — он просто копирует уже готовый -# target/release/netrunner-server (см. Dockerfile), поэтому cargo build идёт -# отдельным шагом перед docker build, не внутри него. +# Собирает netrunner-server (release-бинарник) и пушит Docker-образ во +# встроенный Container Registry самой Gitea (gitea.netrunner-vpn.com), не +# ghcr.io. Dockerfile сам не компилирует Rust — он просто копирует уже +# готовый target/release/netrunner-server (см. Dockerfile), поэтому cargo +# build идёт отдельным шагом перед docker build, не внутри него. # -# Нужен секрет GHCR_TOKEN — настоящий GitHub PAT с правом write:packages -# (автотокен Gitea для ghcr.io не годится, см. остальные .gitea/workflows/ -# в других репозиториях — та же причина). +# Нужен секрет GITEA_REGISTRY_TOKEN — токен Gitea с правом write:package, +# тот же, что и в netrunner-backend/netrunner-landing (пакеты в Gitea +# принадлежат аккаунту, не репозиторию, но значение нужно продублировать в +# Settings каждого из репозиториев). name: Build & Push Proxy Image on: @@ -32,12 +34,12 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Log in to GHCR + - name: Log in to Gitea Registry uses: docker/login-action@v3 with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GHCR_TOKEN }} + registry: gitea.netrunner-vpn.com + username: ${{ github.actor }} + password: ${{ secrets.GITEA_REGISTRY_TOKEN }} - name: Build and push uses: docker/build-push-action@v6 @@ -45,4 +47,4 @@ jobs: context: . file: ./Dockerfile push: true - tags: ghcr.io/nineap/netrunner-proxy:latest + tags: gitea.netrunner-vpn.com/nineap/netrunner-proxy:latest diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index f9817dc..9b2402b 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -19,7 +19,8 @@ # провижининге через netrunner-backend, см. NodeService::provision_node_via_ssh): # - PROXY_NODES_SSH_KEY — приватный SSH-ключ (root на все ноды) # - PROXY_INTERNAL_SECRET — тот же секрет, что и PROXY_INTERNAL_SECRET у бэкенда -# - GHCR_TOKEN — тот же, что и в build.yml +# - GITEA_REGISTRY_TOKEN — тот же, что и в build.yml (Container Registry Gitea, +# не ghcr.io — каждая нода тянет образ напрямую с gitea.netrunner-vpn.com) # # Repo Variable (vars.*, не secret — публичный URL, не даёт доступа сам по себе): # - BACKEND_URL — публичный адрес control plane (WEB_APP_BASE_URL у бэкенда) @@ -89,8 +90,8 @@ jobs: set -e echo "🚀 Деплой на ${{ matrix.name }} (${{ matrix.host }}:${{ matrix.proxy_port }})" - echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin - docker pull ghcr.io/nineap/netrunner-proxy:latest + echo "${{ secrets.GITEA_REGISTRY_TOKEN }}" | docker login gitea.netrunner-vpn.com -u ${{ github.actor }} --password-stdin + docker pull gitea.netrunner-vpn.com/nineap/netrunner-proxy:latest docker stop netrunner-proxy 2>/dev/null || true docker rm netrunner-proxy 2>/dev/null || true @@ -102,7 +103,7 @@ jobs: --cap-add NET_ADMIN --cap-add NET_RAW --cap-add DAC_OVERRIDE \ --device /dev/net/tun:/dev/net/tun \ -e PROXY_INTERNAL_SECRET="${{ secrets.PROXY_INTERNAL_SECRET }}" \ - ghcr.io/nineap/netrunner-proxy:latest \ + gitea.netrunner-vpn.com/nineap/netrunner-proxy:latest \ ./netrunner-proxy \ --port "${{ matrix.proxy_port }}" \ --decoy-host "${{ matrix.decoy_host }}" \