diff --git a/architecture/deployment.md b/architecture/deployment.md index f2ed8fe..bc6955b 100644 --- a/architecture/deployment.md +++ b/architecture/deployment.md @@ -20,9 +20,10 @@ Development дополнительно требует checkout `frontend/` и `b Runner label — `ubuntu-latest`, runner должен иметь Docker CLI, buildx и daemon. Наличие label само по себе не доказывает Docker capability. - В Actions каждого component repo нужны `NEXUS_USERNAME` и - `NEXUS_PASSWORD` отдельной Nexus identity с правами browse/read/add/edit - только на `docker-hosted`, без delete и административных прав. Server - использует другую identity только с browse/read на этот repository. Built-in + `NEXUS_PASSWORD` пользователя `wealthledger-ci`. Эта же учётная запись + используется сервером для загрузки образов. Для публикации нужны + browse/read/add/edit на `docker-hosted`; фактически выданный набор прав + настраивается в Nexus. Built-in workflow token не заменяет эту настройку. - На сервере Caddy уже завершает TLS и передаёт весь домен на `127.0.0.1:8080` (или выбранный frontend port). Отдельного `/api` upstream нет. @@ -84,7 +85,7 @@ rollout. В production env хранится пара полных image referenc ## Перенос существующих images из Gitea До переключения CI и server references проверьте HTTPS token realm и настройте -Nexus identities. В Actions добавьте `NEXUS_USERNAME`/`NEXUS_PASSWORD`; прежние +пользователя `wealthledger-ci`. В Actions добавьте `NEXUS_USERNAME`/`NEXUS_PASSWORD`; прежние `REGISTRY_USERNAME`/`REGISTRY_TOKEN` сохраните для отката старого workflow. Пароли вводятся интерактивно или через `--password-stdin`, не через аргументы. @@ -109,7 +110,7 @@ artifact повторно не публикуйте; несовпадение т или перезаписи tag. Частичный перенос не считается завершённым. После копирования сравните digests через `skopeo inspect --raw` и SHA-256, -выполните `docker pull` обоих images отдельной server read-only identity, +выполните `docker pull` обоих images пользователем `wealthledger-ci` на сервере приложения, проверьте OCI revision и container smoke на disposable data. Только после этого меняйте production image references и запускайте обычную последовательность обновления ниже. Старые Gitea packages и references сохраните: @@ -144,10 +145,10 @@ backup directory и Docker. Заполните env локальным защищ если переименовываете, согласуйте также WAL/SHM companion names до старта. Не запускайте старый и новый backend на одной базе одновременно. -Войдите в registry server identity без помещения token в командную строку: +Войдите в registry пользователем `wealthledger-ci` без помещения пароля в командную строку: ```bash -docker login nexus.ksv741.keenetic.pro --username SERVER_PULL_USER +docker login nexus.ksv741.keenetic.pro --username wealthledger-ci export COMPOSE_FILE=compose.yaml export COMPOSE_PROJECT_NAME=wealthledger export COMPOSE_ENV_FILES=/srv/wealthledger/production.env