Netpulse_SasS/server/internal/httpapi
byrsapty 205dd5e079 Пакування: runner міграцій і вшитий у бінарник фронтенд
netpulse-migrate замість PowerShell-скрипта: у контейнері немає ані
psql, ані PowerShell, а тягнути клієнт Postgres в образ заради одного
запуску — це половина дистрибутива на порожньому місці.

Міграції вшиті через embed і переїхали в server/migrations: embed не
бачить нічого за межами кореня свого модуля, а міграції поруч із
бінарником, який їх накочує, не можуть розійтися версіями.

Накочування під advisory-блокуванням: два інстанси при rolling update
інакше застосували б ту саму міграцію двічі. Кожен файл в одній
транзакції разом із записом у schema_migrations; виняток — continuous
aggregates, які TimescaleDB забороняє в транзакції. Змінена вже
застосована міграція зупиняє запуск: у різних інсталяціях інакше
опиниться різна схема під одним номером.

Перевірено на чистій базі: 23 міграції, 101 таблиця, повторний запуск
каже «схема актуальна».

Веб віддає сам API через embed: на self-hosted це прибирає з інструкції
встановлення цілий компонент. Три політики кешування — назавжди для
assets із хешем у імені, ніколи для index.html, коротко для решти.

Знайдено живим прогоном: невідомий шлях під /api/ віддавав 200 з
index.html, і клієнт падав на розборі HTML як JSON замість чесного 404.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 01:01:55 +03:00
..
agents_manage.go Етап 8: реєстрація зонда одноразовим запрошенням 2026-08-25 00:50:57 +03:00
alerts.go Історія метрик, шаблони будь-яких перевірок, маршрути правил 2026-08-24 17:21:50 +03:00
api_test.go Етап 5: користувачі, вхід і права 2026-08-15 10:24:58 +03:00
auth.go Вхід за логіном, групи хостів і права доступу 2026-08-24 02:00:04 +03:00
auth_test.go Вхід за логіном, групи хостів і права доступу 2026-08-24 02:00:04 +03:00
checks.go Картка хоста на вкладках, графіки в шаблонах, пошукові списки 2026-08-24 19:11:24 +03:00
dashboards.go Дашборди, Esc/клік повз вікно, редагування каналів і протоколів 2026-08-24 18:30:28 +03:00
groups.go Етап 6: шаблони опитування + звірка планів зонда 2026-08-24 14:07:54 +03:00
map_access.go Мапи: режим редагування, доступи груп, іконки, форми вузлів 2026-08-24 18:44:09 +03:00
maps_undo_test.go Етап 4: редактор мапи — зв'язки, видалення, відкат 2026-08-14 21:46:18 +03:00
maps_write.go Мапи: режим редагування, доступи груп, іконки, форми вузлів 2026-08-24 18:44:09 +03:00
maps_write_test.go Етап 3: запис у мапу — редактор полотна 2026-08-14 15:58:16 +03:00
metrics.go Історія метрик, шаблони будь-яких перевірок, маршрути правил 2026-08-24 17:21:50 +03:00
principal.go Вхід за логіном, групи хостів і права доступу 2026-08-24 02:00:04 +03:00
server.go Пакування: runner міграцій і вшитий у бінарник фронтенд 2026-08-25 01:01:55 +03:00
static.go Пакування: runner міграцій і вшитий у бінарник фронтенд 2026-08-25 01:01:55 +03:00
templates.go Вигляд мапи, редаговані вбудовані шаблони, мобільні картки 2026-08-24 23:53:58 +03:00
users.go Опитування хоста з форми й повне редагування користувачів 2026-08-24 02:22:56 +03:00
ws.go Етап 5: користувачі, вхід і права 2026-08-15 10:24:58 +03:00