Netpulse_SasS/server/internal
byrsapty ddaae60fa0 Етап 8: реєстрація зонда одноразовим запрошенням
Найбільше вузьке місце до запуску: агент заводився INSERT-ом у базу, а
токен вписувався в командний рядок руками. Поставити зонд у клієнта було
неможливо.

core.agent_enrollments тримає sha256 одноразового токена; сам токен
повертається рівно один раз. Видача під FOR UPDATE в одній транзакції:
два агенти з однієї скопійованої команди інакше створили б два зонди з
одного запрошення. Відповідь на «немає», «згоріло» і «використано»
однакова — розрізняти їх означає підказувати тому, хто підбирає токени.

Токен зонда їде окремим полем agent_token, а не в certificate:
сертифікат відповідає на інше питання й живе за іншим циклом.

Агент зберігає посвідчення в /etc/netpulse/agent.json з правами 0600,
через тимчасовий файл і перейменування — обрив живлення посеред запису
інакше лишив би половину токена.

Знайдено живим прогоном: реєстрація не проходила автентифікацію, бо
інтерсептор стоїть на всьому сервері, а не на окремому сервісі — мій же
коментар стверджував протилежне. І запуск із самим посвідченням падав:
validate() вимагав -agent-id, не знаючи про файл.

Сторінка зондів: команда встановлення з токеном, відкликання
запрошень, керування модулями й лімітами, видалення.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 00:50:57 +03:00
..
alerting Історія метрик, шаблони будь-яких перевірок, маршрути правил 2026-08-24 17:21:50 +03:00
auth Етап 5: користувачі, вхід і права 2026-08-15 10:24:58 +03:00
cronx Етап 7: планувальник бекапів за cron 2026-08-24 12:54:07 +03:00
crypto Етап 9: алерти й сповіщення 2026-08-15 11:09:19 +03:00
difftext Візуальний diff конфігів 2026-08-24 12:30:30 +03:00
grpcapi Етап 8: реєстрація зонда одноразовим запрошенням 2026-08-25 00:50:57 +03:00
httpapi Етап 8: реєстрація зонда одноразовим запрошенням 2026-08-25 00:50:57 +03:00
store Етап 8: реєстрація зонда одноразовим запрошенням 2026-08-25 00:50:57 +03:00