Перенести хранение Docker images в nexus.ksv741.keenetic.pro (docker-hosted), сохранив Gitea для исходников и CI.
Объём
Исправить HTTPS token realm: /v2/ сейчас возвращает http://nexus.ksv741.keenetic.pro/repository/docker-hosted/v2/token.
Настроить отдельные Nexus identities для CI push и server pull; запретить перезапись release tags.
Скопировать frontend/backend 0.2.0 с сохранением manifest/index digests, платформ и attestations; проверить pull.
Переключить CI компонентов и пример Compose на Nexus.
Обновить эксплуатационную документацию и проверить откат на сохранённые Gitea references.
Ограничения
Старые packages не удалять.
Перенос registry не меняет приложение, SQLite или ключи.
Фактический server rollout требует доступа к deployment host.
## Цель
Перенести хранение Docker images в `nexus.ksv741.keenetic.pro` (docker-hosted), сохранив Gitea для исходников и CI.
## Объём
- [ ] Исправить HTTPS token realm: `/v2/` сейчас возвращает `http://nexus.ksv741.keenetic.pro/repository/docker-hosted/v2/token`.
- [ ] Настроить отдельные Nexus identities для CI push и server pull; запретить перезапись release tags.
- [ ] Скопировать frontend/backend `0.2.0` с сохранением manifest/index digests, платформ и attestations; проверить pull.
- [ ] Переключить CI компонентов и пример Compose на Nexus.
- [ ] Обновить эксплуатационную документацию и проверить откат на сохранённые Gitea references.
## Ограничения
- Старые packages не удалять.
- Перенос registry не меняет приложение, SQLite или ключи.
- Фактический server rollout требует доступа к deployment host.
Пробный выпуск: frontend/backend v0.2.1 подготовлены release-it, release PR frontend#23/backend#27 слиты fast-forward, аннотированные теги опубликованы. Все required checks release PR зелёные; backend SQLite/HTTP tests проходят на Linux (локально macOS native better-sqlite3/Node SIGABRT).
Frontend image run https://git.personal.ksv741.ru/WealthLedger/frontend/actions/runs/369: verify и Nexus login успешны, публикация остановлена защитой Cannot prove tag absence до build/push. Отдельная проверка: GET /v2/wealthledger/frontend/manifests/0.2.1 возвращает HTML 404; GET /repository/docker-hosted/v2/wealthledger/frontend/manifests/0.2.1 — Docker JSON 401. Нужна маршрутизация всего /v2/* в docker-hosted, а не только базового /v2/. HTTP token realm также сохраняется.
По решению пользователя одна identity wealthledger-ci для push/pull, Actions secrets настроены в обоих component repos. Проверяем миграцию новым релизом 0.2.1; старые 0.2.0 остаются в Gitea. После исправления инфраструктуры можно rerun того же tag workflow, предварительно проверив отсутствие опубликованного image. Production не обновлялся.
Пробный выпуск: frontend/backend v0.2.1 подготовлены release-it, release PR frontend#23/backend#27 слиты fast-forward, аннотированные теги опубликованы. Все required checks release PR зелёные; backend SQLite/HTTP tests проходят на Linux (локально macOS native better-sqlite3/Node SIGABRT).
Frontend image run https://git.personal.ksv741.ru/WealthLedger/frontend/actions/runs/369: verify и Nexus login успешны, публикация остановлена защитой Cannot prove tag absence до build/push. Отдельная проверка: GET /v2/wealthledger/frontend/manifests/0.2.1 возвращает HTML 404; GET /repository/docker-hosted/v2/wealthledger/frontend/manifests/0.2.1 — Docker JSON 401. Нужна маршрутизация всего /v2/* в docker-hosted, а не только базового /v2/. HTTP token realm также сохраняется.
По решению пользователя одна identity wealthledger-ci для push/pull, Actions secrets настроены в обоих component repos. Проверяем миграцию новым релизом 0.2.1; старые 0.2.0 остаются в Gitea. После исправления инфраструктуры можно rerun того же tag workflow, предварительно проверив отсутствие опубликованного image. Production не обновлялся.
Итог пробного выпуска 0.2.1: release PR frontend#23/backend#27 и sync PR frontend#24/backend#28 слиты fast-forward. Проверено: v0.2.1, origin/main и origin/develop у frontend указывают на 8183b66e2f296e4b1df2cfa1b5d0a673168a560f; у backend — на 386c91670e1c33b846e2b929a7c3bd1e7190a662. Рабочие деревья чистые.
Backend image run https://git.personal.ksv741.ru/WealthLedger/backend/actions/runs/375: validate version, npm ci, verify и test:e2e успешны; login упал: Get https://nexus.ksv741.keenetic.pro/v2/: net/http: TLS handshake timeout. Шаг публикации пропущен. Frontend run #369 также остановлен до build/push (manifest check). Образы 0.2.1 не опубликованы этими workflows, production не обновлялся. Нужны исправление внешних Docker routes и стабильный TLS доступ с runner/его Docker daemon; затем rerun существующих tag workflows без изменения тегов.
Итог пробного выпуска 0.2.1: release PR frontend#23/backend#27 и sync PR frontend#24/backend#28 слиты fast-forward. Проверено: v0.2.1, origin/main и origin/develop у frontend указывают на 8183b66e2f296e4b1df2cfa1b5d0a673168a560f; у backend — на 386c91670e1c33b846e2b929a7c3bd1e7190a662. Рабочие деревья чистые.
Backend image run https://git.personal.ksv741.ru/WealthLedger/backend/actions/runs/375: validate version, npm ci, verify и test:e2e успешны; login упал: Get https://nexus.ksv741.keenetic.pro/v2/: net/http: TLS handshake timeout. Шаг публикации пропущен. Frontend run #369 также остановлен до build/push (manifest check). Образы 0.2.1 не опубликованы этими workflows, production не обновлялся. Нужны исправление внешних Docker routes и стабильный TLS доступ с runner/его Docker daemon; затем rerun существующих tag workflows без изменения тегов.
codex-bot
was assigned by hermes-agent2026-10-12 00:04:28 +03:00
hermes-agent
added this to the Инженерная основа и поставка milestone 2026-10-12 00:04:28 +03:00
hermes-agent
added this to the WealthLedger — Delivery Board project 2026-10-12 00:04:28 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Цель
Перенести хранение Docker images в
nexus.ksv741.keenetic.pro(docker-hosted), сохранив Gitea для исходников и CI.Объём
/v2/сейчас возвращаетhttp://nexus.ksv741.keenetic.pro/repository/docker-hosted/v2/token.0.2.0с сохранением manifest/index digests, платформ и attestations; проверить pull.Ограничения
Пробный выпуск: frontend/backend v0.2.1 подготовлены release-it, release PR frontend#23/backend#27 слиты fast-forward, аннотированные теги опубликованы. Все required checks release PR зелёные; backend SQLite/HTTP tests проходят на Linux (локально macOS native better-sqlite3/Node SIGABRT).
Frontend image run https://git.personal.ksv741.ru/WealthLedger/frontend/actions/runs/369: verify и Nexus login успешны, публикация остановлена защитой Cannot prove tag absence до build/push. Отдельная проверка: GET /v2/wealthledger/frontend/manifests/0.2.1 возвращает HTML 404; GET /repository/docker-hosted/v2/wealthledger/frontend/manifests/0.2.1 — Docker JSON 401. Нужна маршрутизация всего /v2/* в docker-hosted, а не только базового /v2/. HTTP token realm также сохраняется.
По решению пользователя одна identity wealthledger-ci для push/pull, Actions secrets настроены в обоих component repos. Проверяем миграцию новым релизом 0.2.1; старые 0.2.0 остаются в Gitea. После исправления инфраструктуры можно rerun того же tag workflow, предварительно проверив отсутствие опубликованного image. Production не обновлялся.
Итог пробного выпуска 0.2.1: release PR frontend#23/backend#27 и sync PR frontend#24/backend#28 слиты fast-forward. Проверено: v0.2.1, origin/main и origin/develop у frontend указывают на 8183b66e2f296e4b1df2cfa1b5d0a673168a560f; у backend — на 386c91670e1c33b846e2b929a7c3bd1e7190a662. Рабочие деревья чистые.
Backend image run https://git.personal.ksv741.ru/WealthLedger/backend/actions/runs/375: validate version, npm ci, verify и test:e2e успешны; login упал: Get https://nexus.ksv741.keenetic.pro/v2/: net/http: TLS handshake timeout. Шаг публикации пропущен. Frontend run #369 также остановлен до build/push (manifest check). Образы 0.2.1 не опубликованы этими workflows, production не обновлялся. Нужны исправление внешних Docker routes и стабильный TLS доступ с runner/его Docker daemon; затем rerun существующих tag workflows без изменения тегов.