Commit Graph

40 Commits

Author SHA1 Message Date
aleksey e8addae3b7 fix: raise Mnesia wait_for_tables beyond gen_server 5s default
CI / test (push) Failing after 27m9s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Caller timed out while mnesia:wait_for_tables ran the full 5s on IFT disc load; use infinity call timeout, 120s wait, and one repair retry.
2026-07-19 10:45:25 +03:00
aleksey 31c2a1b7d7 fix: subscribe stats_collector after Mnesia tables are ready
CI / test (push) Failing after 13m10s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Backfill ran during init_tables before wait_for_tables, so dirty reads hit {no_exists,user} and crash-looped eventhub on IFT.
2026-07-18 23:33:56 +03:00
aleksey dd754e28cc feat: upsert stats counters, daily buckets and ETS tops for admin metrics. Refs EventHub/EventHubBack#42 #43 #44 #45 #46
CI / test (push) Failing after 25m40s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-17 23:10:00 +03:00
aleksey cd61aaff20 feat: bake product version from Spec and expose build in health.
Resolve MAJOR.MINOR via EventHubSpec/VERSION; CI run_number as EVENTHUB_BUILD; health returns version/build/git_sha/built_at.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 21:48:24 +03:00
aleksey e9d1a13900 Добавить автомодерацию: политики, порог жалоб, settings/hits API и тесты.
CI / test (push) Failing after 37m9s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Refs EventHub/EventHubBack#37
Refs EventHub/EventHubBack#38
Refs EventHub/EventHubBack#39
Refs EventHub/EventHubBack#40
2026-07-17 18:09:31 +03:00
aleksey 5e569da1d8 fix(mnesia): per-slot volumes hint and harden verification lookup.
CI / test (push) Failing after 5m10s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
Avoid shared Mnesia dir across replicas; make get_or_create_token and CT verify_user resilient to brief cross-node lag.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 09:54:10 +03:00
aleksey a696d25486 Добавить авто-регистрацию тикетов (hash/dedupe/500/WS). Refs EventHub/EventHubBack#35
CI / test (push) Successful in 21m45s
CI / deploy-ift (push) Successful in 6m8s
CI / e2e-ift (push) Failing after 6m13s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-17 00:44:09 +03:00
aleksey 6d8f02d0d4 fix(mnesia): add local ram_copies on joining nodes for verification/session.
CI / test (push) Successful in 12m37s
CI / deploy-ift (push) Successful in 5m27s
CI / e2e-ift (push) Successful in 4m56s
CI / deploy-stage (push) Successful in 6m24s
CI / e2e-stage (push) Successful in 6m52s
Joining replicas hit already_exists without add_table_copy, so register/verify crashed with no_exists on node2. Refs EventHub/EventHubBack#30

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 20:52:31 +03:00
aleksey 4327de486f fix(mnesia): apply dump_log_write_threshold before mnesia start.
CI / test (push) Successful in 16m25s
CI / deploy-ift (push) Successful in 5m49s
CI / e2e-ift (push) Failing after 4m38s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
change_config rejected the key; set_env + verify enables the IFT ceiling ladder. Refs EventHub/EventHubBack#30 Refs EventHub/EventHubBack#34

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 19:22:32 +03:00
aleksey 94106cf964 fix(mnesia): поднять dump_log_write_threshold; Traefik base v3.3.6. Refs EventHub/EventHubBack#34 Refs EventHub/EventHubDevOps#3 [skip ci] 2026-07-15 17:28:39 +03:00
aleksey 2eeda5c4c4 feat(backend): build identity в health, VERSION bake и auto stage по sha-*
CI / test (push) Successful in 28m3s
2026-07-14 21:25:40 +03:00
aleksey ff4ab23264 fix(backend): IP в аудите, closed_at тикетов и admin_activity в статистике. Refs EventHub/EventHubBack#27 #28 #29
CI / test (push) Successful in 15m13s
Deploy stage (core) / deploy-stage-core (push) Successful in 4m57s
2026-07-13 14:53:51 +03:00
aleksey 14c0ac9220 Fix Unicode env parsing in infra_secrets for stage startup.
CI / test (push) Successful in 18m50s
Use unicode:characters_to_binary for os:getenv values so Cyrillic placeholder passwords fail with weak_secret instead of badarg crash.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 19:29:17 +03:00
aleksey cf8e6bcc07 Fail-fast secrets in stage/prod via EVENTHUB_ENV. Refs EventHub/EventHubBack#25 2026-07-07 19:52:04 +03:00
aleksey 018bf85b87 User login and refresh on auth_session (phase 2). Refs EventHub/EventHubBack#26 2026-07-07 19:33:24 +03:00
aleksey 7c5f2d26b8 Mnesia migrations with global lock on startup. Refs EventHub/EventHubBack#24 2026-07-07 17:54:29 +03:00
aleksey 9de57bd52c Реализовать кластер-безопасные admin refresh-сессии (фаза 1, #23).
Единая auth_session с refresh JWT, rotation и reuse detection; CI/CD временно на workflow_dispatch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 15:30:27 +03:00
aleksey 17b2e617d7 bagofix
Test & Deploy to Snapdeploy / build-test-deploy (push) Failing after 24m46s
2026-06-05 23:20:03 +03:00
aleksey f507d08e2c Добавлена оперативная и историческая статистика нод и узлов mnesia #22 2026-05-28 18:59:21 +03:00
aleksey 4444461ee3 Сделано подтверждение регистрации пользователей #22 2026-05-27 22:02:53 +03:00
aleksey ed5b275efb Рефакторинг админских обработчиков - пагинация, сортировка, фильтрация. Часть 1 2026-05-26 13:04:31 +03:00
aleksey f04043a485 fix init_default_admins 2026-05-18 19:48:48 +03:00
aleksey 3abf5c94ee Рефакторинг обработчиков. Финальное тестирование #21 2026-05-18 14:37:59 +03:00
aleksey 40806df62a Рефакторинг обработчиков. Часть 3 #21 2026-05-13 23:02:59 +03:00
aleksey 6403f061df Рефакторинг обработчиков. Часть 1 #21 2026-05-10 22:14:38 +03:00
aleksey a34e36b966 Пагинация, фильтры и сортировки Часть 1 #20 2026-05-09 13:38:54 +03:00
aleksey 11971ebb06 Реализовать модуль регистрации ботов #19 2026-05-05 16:55:35 +03:00
aleksey 12a9f5a1a6 Обновление схемы данных без потерь #17 2026-05-04 23:15:59 +03:00
aleksey af0a36185b Сбор статистики через триггеры #16 2026-05-04 20:56:27 +03:00
aleksey 574d0d2e43 Архивирование с быстрым подключением и серверный рендеринг для веб-клиента #15 2026-05-04 15:19:53 +03:00
aleksey 83ce92afa4 Настройка репликации. Финал #14 2026-05-03 21:02:29 +03:00
aleksey 3d61830f1c Настройка репликации. Часть 1 #14 2026-05-03 14:55:57 +03:00
aleksey 4fdf380f15 Настройка хранения и создание индексов #13 2026-05-02 23:18:25 +03:00
aleksey f36dd3bbc1 Переделать связь нод в кластере на автоматическое обнаружение #9 2026-05-01 22:30:40 +03:00
aleksey c87d56bb49 Статистика для дашборда #7 2026-04-28 21:31:22 +03:00
aleksey 967a024d0c Ролевая модель и аудит Часть 2. Финал. #6 2026-04-28 19:38:31 +03:00
aleksey b2cea7896d Ролевая модель и аудит Часть 1. 2026-04-28 19:12:02 +03:00
aleksey 7ea4efd7d9 Перенести все админские эндпоинты на порт 8445 и добавить отдельную авторизацию для админов. Часть 2. Final #3 2026-04-28 12:42:10 +03:00
aleksey 4ed6a961ab Перенести все админские эндпоинты на порт 8445 и добавить отдельную авторизацию для админов. Часть 1 2026-04-27 15:54:48 +03:00
aleksey 7e776ea6e3 Stage 1 2026-04-17 21:36:56 +03:00