meta(tasks): update [sched-vds-deploy] in OpeItcLoc03/admin

This commit is contained in:
2026-08-21 11:28:16 +00:00
parent 7461c63b39
commit 1dbee5b276

View File

@@ -1938,11 +1938,11 @@ Rollback: вернуть прежний образ стека либо реве
---
## ⚪ [sched-vds-deploy] — Деплой sched (демон + web UI) на VDS на постоянку, без воркеров/задач. Решения (2026-08-21): поддомен sched.vds.kzntsv.site (websecure + letsEncrypt, сеть proxy); basic auth на web-морде через middleware traefik sched-auth@file (логин vitya, пароль — pass: sched/basic-auth, НЕ в git); daemon admin API наружу не выставлять (shell проксирует внутри сети); SCHED_ADMIN_KEY из секретов (pass: sched/admin-key при деплое); prod-compose: daemon+shell, volume для sched.db + бэкап-политика, restart unless-stopped; образ registry.kzntsv.site/sched:<ver> (собирать локально или на VDS — на усмотрение исполнителя); деплой стека через Portainer (правило: compose на VDS — только Portainer; traefik/portainer — ad-hoc исключения). Проверка после деплоя: curl -u → 401 без пароля / 200 с паролем; UI открывается; БД персистентна через рестарт.
## ⚪ [sched-vds-deploy] — Деплой sched (демон + web UI) на VDS на постоянку, без воркеров/задач. Решения (2026-08-21): поддомен sched.vds.kzntsv.site (websecure + letsEncrypt, сеть proxy); basic auth на web-морде через middleware traefik sched-auth@file (логин vitya, пароль — pass: sched/basic-auth, НЕ в git); daemon admin API наружу не выставлять (shell проксирует внутри сети); SCHED_ADMIN_KEY из секретов (pass: sched/admin-key при деплое); prod-compose: daemon+shell, volume для sched.db + бэкап-политика, restart unless-stopped; образ registry.kzntsv.site/sched:<ver>; деплой стека через Portainer (traefik/portainer — ad-hoc). ДОПОЛНЕНИЕ (фиксация .admin 2026-08-21): при деплое билдеров apilki (ozon/yandex) на VDS — volume для openapi/ (снапшоты сваггера) и data/ (state) ОБЯЗАТЕЛЬНО bind-mount в fs хоста (/opt/stacks/sched-pipelines/data-ozon-openapi и т.п.), НЕ named volume — оператор подкладывает снапшот сваггера снаружи (ssh/scp), см. ozon .wiki/concepts/manual-spec-feed.md. Проверка после деплоя: curl -u → 401/200; UI открывается; БД персистентна.
**Status:** ready
**Where I stopped:** (not started)
**Next action:** (1) собрать prod-compose (daemon+shell, label-ы traefik: Host sched.vds.kzntsv.site, middlewares sched-auth@file, certresolver letsEncrypt, port 8081) и завести creds в pass (sched/basic-auth уже есть: vitya/…; добавить sched/admin-key); (2) собрать образ в registry.kzntsv.site/sched:<ver>; (3) деплой стека через Portainer; (4) dynamic-файл traefik: middleware sched-auth (bcrypt htpasswd из pass sched/basic-auth), перезапуск/релоад traefik; (5) curl-проверка 401/200 + браузер; (6) отчёт в .admin. Перед подключением воркеров apilki — закрыть HTTP-runner-таски sched (envelope-violation прежде всего).
**Next action:** (1) prod-compose (daemon+shell, label-ы traefik, certresolver, port 8081), creds в pass (sched/basic-auth есть; sched/admin-key); (2) образ в registry.kzntsv.site/sched:<ver>; (3) деплой через Portainer; (4) dynamic/ traefik: middleware sched-auth (bcrypt из pass), релоад; (5) curl-проверка 401/200 + браузер; (6) отчёт. Билдеры apilki на VDS — только с bind-mount для openapi/data (manual-spec-feed). Перед воркерами — HTTP-runner-таски sched (envelope-violation прежде всего).
**Branch:** n/a
**Notify:** .admin
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/admin / 2026-08-21T10:32:50.288Z -->