WEB-404 · Задача · — · web
[WEB370-F] A1 systemd, secrets и портовый реестр
Закрыт
P1 · важно
ведёт: —
эпик: WEB-395
Суть
Источник: WEB370PLAN2. Зависимости: WEB370-A,C,D,E. Оценка: 1.5 дня. Устранить Pi-specific paths/UID assumptions и конфликт AudioSocket 4675.
Чем закрывается (приёмка)
systemd-analyze verify green; нет /home/pi, UID 1000 и Pi Pulse paths; listeners уникальны, конфликт 4675 закрыт; secrets отсутствуют в argv/journal/world-readable env.
Доказательства
[2026-08-27 06:45Z] web404f в очереди A1: unit-черновики disabled + verify, портовый реестр (конфликт 4675), secrets-схема без world-readable/argv. Сборки на боксе запрещены брифом.
[2026-08-27 07:35Z] WEB404F DONE: unit-черновики установлены DISABLED + systemd-analyze verify, портовый реестр (4675 разрешён), secrets-схема (0640, не в argv/journal). Cutover-действия честно НЕ выполнялись (список из 6 отложенных в отчёте). -> review.
[2026-08-27 20:29:19Z tickacc5] ВЕРДИКТ: доказано
Что проверил: сравнил 12 текущих systemd unit-файлов WEB370/Signal/TG с web404f-systemd/etc/systemd/system через cmp; ранее выполнил systemd-analyze verify для 14 unit-файлов; проверил /etc/web370/secrets, ss по 4675 и systemctl is-active.
Что увидел: все 12 cmp=0, verify rc=0, secrets assignments=0, порт 4675 не слушается; WEB370 units inactive/ship-dark. В unit-файлах нет /home/pi или UID-1000 assumptions; secret files mode 0640.
Отрицательный тест: /usr/local/libexec/web370/lease-holder-check.sh start без ACTIVE marker дал rc=1 и WEB370 lease DENY: ACTIVE-marker is absent. Production service не запускался.
Чего не хватает: ничего для заявленного WEB404 systemd/secrets/ports slice; runtime cutover в контракт не входит.
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-404","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-27T20:38:27.868Z