meta(tasks): create [books-task-runner-registry-auth-cred] in OpeItcLoc03/admin
This commit is contained in:
@@ -714,3 +714,43 @@ Approach ратифицирован человеком (вариант A): ко
|
|||||||
<!-- closed-by: OpeItcLoc03@DESKTOP-NSEF0UK / 2026-06-18T07:00:51.841Z / note: cred placed in config-volume; activation = books code deploy (no premature restart) -->
|
<!-- closed-by: OpeItcLoc03@DESKTOP-NSEF0UK / 2026-06-18T07:00:51.841Z / note: cred placed in config-volume; activation = books code deploy (no premature restart) -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## ⚪ [books-task-runner-registry-auth-cred] — Положить кред books-ci в **task-runner** config-volume, чтобы заработал переписанный `registryGc` (чистка Docker registry через Registry v2 DELETE).
|
||||||
|
|
||||||
|
Контекст: registryGc раньше бил в Gitea packages API и никогда не отрабатывал (образы books-* живут в standalone registry:2 на registry.kzntsv.site за htpasswd). Переписан на Registry v2 REST с Basic-auth кредом books-ci (commit books@a3734d5). Кред books-ci уже есть в **job-scheduler** config-volume (для docker pull) — нужен тот же и в **task-runner** (registryGc бежит там, http-runner, отдельный volume).
|
||||||
|
|
||||||
|
## Что сделать
|
||||||
|
В task-runner config-volume (`/opt/books/task-runner/config/...` — local.json/production.json поверх default.json) добавить секцию:
|
||||||
|
```json
|
||||||
|
"registry": {
|
||||||
|
"baseUrl": "https://registry.kzntsv.site",
|
||||||
|
"username": "books-ci",
|
||||||
|
"password": "<из pass vds-kzntsv/registry-books-ci>"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
(baseUrl+username уже в git default.json; нужен только password — секрет, в git его нет).
|
||||||
|
|
||||||
|
⚠️ Файл config-volume: соблюсти права как в memory `feedback_container_user_node_uid_1000` — контейнер бежит под uid 1000, НЕ ставить `600 root:root` (был прод-даун 2026-06-18 на createPickingListPdf из-за EACCES). Нужен read для uid 1000 (644).
|
||||||
|
|
||||||
|
## Acceptance
|
||||||
|
- `registry.password` присутствует в task-runner config-volume.
|
||||||
|
- Ручной trigger registryGc через /scheduler с `dryRun=true` отрабатывает без 401: в отчёте видны repos books-* и «будет удалено N». (Если 405 на DELETE — значит на registry не включён `REGISTRY_STORAGE_DELETE_ENABLED=true`; отдельный вопрос, отметить.)
|
||||||
|
|
||||||
|
## Обязательные скилы — вызвать до начала работы
|
||||||
|
- invoke `using-tasks` — для управления статусом задачи
|
||||||
|
- invoke `using-projects-meta` — cross-project tasks/wiki
|
||||||
|
- invoke `books-ops-mcp` — проверить контейнер/конфиг task-runner read-only до и после
|
||||||
|
|
||||||
|
**TDD:** нет — ops/secret, кода нет.
|
||||||
|
**Разрешения:** интерны: нет (секрет) | автопуш: n/a (ручная ops на VPS).
|
||||||
|
**weight:** needs-human — секрет + доступ к VPS config-volume, критичная инфра.
|
||||||
|
**notify:** OpeItcLoc03/books
|
||||||
|
|
||||||
|
**Status:** ready
|
||||||
|
**Where I stopped:** (not started) — код registryGc уже переписан и закоммичен в books (a3734d5), ждёт только кред
|
||||||
|
**Next action:** Добавить секцию registry в task-runner config-volume и положить пароль books-ci
|
||||||
|
**Branch:** n/a
|
||||||
|
**Notify:** OpeItcLoc03/books
|
||||||
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/books / 2026-06-18T08:28:09.066Z -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user