Commit Graph

42 Commits

Author SHA1 Message Date
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 2b65a804d3 fix(ci): materialize rebar test src_dirs in shared test image. Refs EventHub/EventHubBack#36
CI / test (push) Successful in 28m14s
CI / deploy-ift (push) Successful in 7m42s
CI / e2e-ift (push) Failing after 21m40s
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped
2026-07-17 19:35:12 +03:00
aleksey 4fa802702f Rewrite and expand EUnit suite; run unit tests in CI from shared test image. Refs EventHub/EventHubBack#36 [skip ci] 2026-07-17 15:16:46 +03:00
aleksey 9d2780fef4 fix(swarm): per-slot Mnesia volume via Swarm name template.
CI / test (push) Successful in 15m10s
CI / deploy-ift (push) Successful in 7m22s
CI / e2e-ift (push) Successful in 5m21s
CI / deploy-stage (push) Successful in 6m35s
CI / e2e-stage (push) Successful in 15m12s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 10:09:41 +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 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 a2ccf167aa chore(docker): prune образов после swarm-deploy, env стендов в gitignore
CI / test (push) Failing after 13m57s
docker/.env.ift и .env.stage локально, не в репозитории; image prune в make docker-swarm-deploy.
2026-07-12 11:58:21 +03:00
aleksey a8e6dcb8f5 fix(docker): crash loop fallback и observer-web на IFT
CI / test (push) Failing after 11m40s
fallback: default_type вне if-блока nginx. observer-web: Hex/deps.compile в образе, без dev-watchers в контейнере.
2026-07-12 11:12:16 +03:00
aleksey 21a2a39746 Co-authored-by:
CI / test (push) Successful in 8m23s
2026-07-11 14:56:18 +03:00
aleksey f79264ece9 Co-authored-by:
CI / test (push) Successful in 10m55s
2026-07-11 14:33:53 +03:00
aleksey e8464b3a8b Add shared Erlang builder/runtime base images from registry.
CI / test (push) Successful in 7m42s
Publish erlang-builder and erlang-runtime as :latest, use them in prod and API test builds, auto-collect NIF libs, and sync CI to pull/push bases before eventhub build.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 12:25:42 +03:00
aleksey 76f52030d1 observer-web: multi-stage Dockerfile to reduce registry push size.
CI / test (push) Successful in 15m23s
Deploy stage (core) / deploy-stage-core (push) Failing after 2m58s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 17:02:06 +03:00
aleksey feac915454 Fix observer-web build: use npm tailwind/esbuild instead of GitHub download.
CI / test (push) Successful in 18m45s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 16:16:54 +03:00
aleksey 63cb9e7e02 Deploy IFT: optional observer-web/logrotate, bootstrap build on IFT server.
CI / test (push) Failing after 2m8s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-10 14:33:19 +03:00
aleksey 7a6551a37c dev: minimal stack (4 services), EVENTHUB_ENV=dev, eventhub alias.
Deploy IFT (core) / deploy-ift-core (push) Failing after 12m34s
CI / test (push) Failing after 32m35s
2026-07-09 23:14:01 +03:00
aleksey 78e95c1608 Scope dev Traefik routes to *.dev.eventhub.local only
Deploy IFT (core) / deploy-ift-core (push) Failing after 10m22s
CI / test (push) Failing after 13m7s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 20:05:38 +03:00
aleksey 6890dffdfe Remove legacy eventhub.local hosts and switch to dev/ift/stage
CI / test (push) Failing after 11m15s
Deploy IFT (core) / deploy-ift-core (push) Failing after 26m15s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 17:52:39 +03:00
aleksey 4a69ef8cd1 Update traefik routing for dev and ignore TLS private keys
CI / test (push) Failing after 13m20s
Deploy IFT (core) / deploy-ift-core (push) Failing after 23m20s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 17:25:13 +03:00
aleksey f4746df4a2 CI/CD: ci, deploy-ift и deploy-stage через EventHubDevOps; фиксы calendar view, archive, API-тесты, traefik-coraza
Deploy IFT (core) / deploy-ift-core (push) Failing after 22m58s
CI / test (push) Failing after 22m59s
2026-07-08 14:50:59 +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 17b2e617d7 bagofix
Test & Deploy to Snapdeploy / build-test-deploy (push) Failing after 24m46s
2026-06-05 23:20:03 +03:00
aleksey 38a299e5b9 CI/CD пайплайн 2026-06-05 22:11:08 +03:00
aleksey 732e7c81b4 fix bot-emulator-users 2026-05-28 21:55:34 +03:00
aleksey 2b91e10f64 add eventhub-admin-ui dependency 2026-05-23 22:35:05 +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 b85885ce83 [Bug] fallback сервис должен отдаваться только на фронт #11 2026-05-05 14:02:19 +03:00
aleksey 83ce92afa4 Настройка репликации. Финал #14 2026-05-03 21:02:29 +03:00
aleksey f36dd3bbc1 Переделать связь нод в кластере на автоматическое обнаружение #9 2026-05-01 22:30:40 +03:00
aleksey 62bc62f990 Добавлена связь с фронтом админки 2026-04-26 22:48:57 +03:00
aleksey 798e532dd7 Rate Limiting 2026-04-25 13:50:16 +03:00
aleksey a8c3f1b887 Ротация логов Traefik 2026-04-25 13:39:46 +03:00
aleksey 9275db1598 LogLynx Веб-интерфейс для анализа логов 2026-04-25 13:34:07 +03:00
aleksey d4178ee39f Настройка Coraza WAF 2026-04-25 12:51:25 +03:00
aleksey 23ccc9aacc Failover Service 2026-04-25 12:22:20 +03:00
aleksey 1adf39749d Traefik tls enable 2026-04-25 11:33:50 +03:00
aleksey b15786b26d Добавлен балансировщик Traefik 2026-04-24 23:05:29 +03:00
aleksey 6bb29174a5 Улучшения в кластере. Кластер формируется динамически, без единой точки отказа (каждая нода подключается ко всем трём через connect_nodes/0) 2026-04-24 20:32:37 +03:00
aleksey 48d8ba7a2c Убираем жёстко прописанные секреты 2026-04-24 19:36:21 +03:00
aleksey e57a2b9768 Add observer, prometheus and grafana 2026-04-24 18:20:48 +03:00
aleksey 341f40a02a Docker configure 2026-04-23 21:02:58 +03:00