Переезд с ghcr.io на встроенный Container Registry Gitea
Build & Push Proxy Image / build (push) Failing after 7m45s
Build & Push Proxy Image / build (push) Failing after 7m45s
Каждая нода теперь логинится и тянет образ с gitea.netrunner-vpn.com напрямую (secrets.GITEA_REGISTRY_TOKEN, тот же, что и в build.yml).
This commit is contained in:
+14
-12
@@ -1,11 +1,13 @@
|
|||||||
# Собирает netrunner-server (release-бинарник) и пушит Docker-образ в ghcr.io.
|
# Собирает netrunner-server (release-бинарник) и пушит Docker-образ во
|
||||||
# Dockerfile сам не компилирует Rust — он просто копирует уже готовый
|
# встроенный Container Registry самой Gitea (gitea.netrunner-vpn.com), не
|
||||||
# target/release/netrunner-server (см. Dockerfile), поэтому cargo build идёт
|
# ghcr.io. Dockerfile сам не компилирует Rust — он просто копирует уже
|
||||||
# отдельным шагом перед docker build, не внутри него.
|
# готовый target/release/netrunner-server (см. Dockerfile), поэтому cargo
|
||||||
|
# build идёт отдельным шагом перед docker build, не внутри него.
|
||||||
#
|
#
|
||||||
# Нужен секрет GHCR_TOKEN — настоящий GitHub PAT с правом write:packages
|
# Нужен секрет GITEA_REGISTRY_TOKEN — токен Gitea с правом write:package,
|
||||||
# (автотокен Gitea для ghcr.io не годится, см. остальные .gitea/workflows/
|
# тот же, что и в netrunner-backend/netrunner-landing (пакеты в Gitea
|
||||||
# в других репозиториях — та же причина).
|
# принадлежат аккаунту, не репозиторию, но значение нужно продублировать в
|
||||||
|
# Settings каждого из репозиториев).
|
||||||
name: Build & Push Proxy Image
|
name: Build & Push Proxy Image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -32,12 +34,12 @@ jobs:
|
|||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: Log in to GHCR
|
- name: Log in to Gitea Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: gitea.netrunner-vpn.com
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.actor }}
|
||||||
password: ${{ secrets.GHCR_TOKEN }}
|
password: ${{ secrets.GITEA_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
@@ -45,4 +47,4 @@ jobs:
|
|||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
push: true
|
push: true
|
||||||
tags: ghcr.io/nineap/netrunner-proxy:latest
|
tags: gitea.netrunner-vpn.com/nineap/netrunner-proxy:latest
|
||||||
|
|||||||
@@ -19,7 +19,8 @@
|
|||||||
# провижининге через netrunner-backend, см. NodeService::provision_node_via_ssh):
|
# провижининге через netrunner-backend, см. NodeService::provision_node_via_ssh):
|
||||||
# - PROXY_NODES_SSH_KEY — приватный SSH-ключ (root на все ноды)
|
# - PROXY_NODES_SSH_KEY — приватный SSH-ключ (root на все ноды)
|
||||||
# - PROXY_INTERNAL_SECRET — тот же секрет, что и PROXY_INTERNAL_SECRET у бэкенда
|
# - 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, не даёт доступа сам по себе):
|
# Repo Variable (vars.*, не secret — публичный URL, не даёт доступа сам по себе):
|
||||||
# - BACKEND_URL — публичный адрес control plane (WEB_APP_BASE_URL у бэкенда)
|
# - BACKEND_URL — публичный адрес control plane (WEB_APP_BASE_URL у бэкенда)
|
||||||
@@ -89,8 +90,8 @@ jobs:
|
|||||||
set -e
|
set -e
|
||||||
echo "🚀 Деплой на ${{ matrix.name }} (${{ matrix.host }}:${{ matrix.proxy_port }})"
|
echo "🚀 Деплой на ${{ matrix.name }} (${{ matrix.host }}:${{ matrix.proxy_port }})"
|
||||||
|
|
||||||
echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
|
echo "${{ secrets.GITEA_REGISTRY_TOKEN }}" | docker login gitea.netrunner-vpn.com -u ${{ github.actor }} --password-stdin
|
||||||
docker pull ghcr.io/nineap/netrunner-proxy:latest
|
docker pull gitea.netrunner-vpn.com/nineap/netrunner-proxy:latest
|
||||||
|
|
||||||
docker stop netrunner-proxy 2>/dev/null || true
|
docker stop netrunner-proxy 2>/dev/null || true
|
||||||
docker rm 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 \
|
--cap-add NET_ADMIN --cap-add NET_RAW --cap-add DAC_OVERRIDE \
|
||||||
--device /dev/net/tun:/dev/net/tun \
|
--device /dev/net/tun:/dev/net/tun \
|
||||||
-e PROXY_INTERNAL_SECRET="${{ secrets.PROXY_INTERNAL_SECRET }}" \
|
-e PROXY_INTERNAL_SECRET="${{ secrets.PROXY_INTERNAL_SECRET }}" \
|
||||||
ghcr.io/nineap/netrunner-proxy:latest \
|
gitea.netrunner-vpn.com/nineap/netrunner-proxy:latest \
|
||||||
./netrunner-proxy \
|
./netrunner-proxy \
|
||||||
--port "${{ matrix.proxy_port }}" \
|
--port "${{ matrix.proxy_port }}" \
|
||||||
--decoy-host "${{ matrix.decoy_host }}" \
|
--decoy-host "${{ matrix.decoy_host }}" \
|
||||||
|
|||||||
Reference in New Issue
Block a user