Nav apraksta

Luis Rosales d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
cmd 66470fd871 M0(8-9/12): four service mains + ingestd HTTP POST handler 2 mēneši atpakaļ
deploy d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
internal d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
loadgen d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
.env.example d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
.gitignore 4f4727bcdc M0(10/12): loadgen-http v0 with normal profile 2 mēneši atpakaļ
ARCHITECTURE.md 8ca86628a1 feat(spec): add gRPC bidi-streaming as fourth ingest protocol (M11) 2 mēneši atpakaļ
Dockerfile 7cd922c72f M0(11/12): docker-compose, Dockerfile, .env.example, prometheus.yml 2 mēneši atpakaļ
M0_VERIFICATION.md d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
PROMPT.md bbd1d81671 docs: PROMPT log M0 completion 2 mēneši atpakaļ
README.md 49b2dba791 M0(12/12): M0 verification doc, README refresh, SPEC §23 M0 shipped 2 mēneši atpakaļ
SPEC.md d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
docker-compose.yml d76aa0b08d chore: shift app HTTP ports 8080-8083 to 8800-8803 (project rule) 2 mēneši atpakaļ
go.mod d099955d6a M0(4-7/12): broker (NATS JS), store (redis), dedupe, ratelimit 2 mēneši atpakaļ
go.sum d099955d6a M0(4-7/12): broker (NATS JS), store (redis), dedupe, ratelimit 2 mēneši atpakaļ

README.md

broad-announce

Multi-tenant notification router. Receives alerts from many source systems (HTTP/JSON webhooks, WebSockets, MQTT, gRPC bidi-streaming), normalizes them, resolves recipients via companiesgroupsindividuals + subscriptions, and delivers to FCM (Android), Telegram, SMS, email, voice, Slack, MS Teams, and arbitrary outbound webhooks.

Status: M0 shipped 2026-06-13. Single-host docker-compose stack

  • 4 Go services + loadgen-http + alert schema. See M0_VERIFICATION.md for the smoke test. Spec is in SPEC.md, diagrams in ARCHITECTURE.md, build log in PROMPT.md.

v1 in one paragraph

Four Go services (ingestd, routerd, deliverd, admind) wired together by NATS JetStream. Postgres + Timescale for live data, ClickHouse for archive, Redis for dedupe + rate limits, EMQX for MQTT. Strict app-level multi-tenant isolation. ~5k alerts/sec on Docker Compose, 50k/sec design ceiling for v2 K8s.

Repo layout

SPEC.md             — requirements, entities, severity, retention
ARCHITECTURE.md     — diagrams, sequences, SLOs, capacity model
PROMPT.md           — build log, decisions, open questions
M0_VERIFICATION.md  — M0 smoke test (signed webhook → 202)
docker-compose.yml  — single-host M0 stack
Dockerfile          — multi-stage build for all 5 binaries
.env.example        — every BA_* knob documented
cmd/ingestd/        — HTTP POST handler (M0), other transports in M4/M5/M11
cmd/routerd/        — scaffold (M2)
cmd/deliverd/       — scaffold (M3+)
cmd/admind/         — scaffold + /v1/ping (M8)
loadgen/cmd/http/   — traffic generator (M0)
internal/alert/     — Alert v1 type + Validate()
internal/broker/    — NATS JetStream wrapper
internal/config/    — env-driven config
internal/dedupe/    — 60s SET NX EX + INCR
internal/ratelimit/ — per-second INCR bucket
internal/httpserver/ — /health + /metrics scaffold
internal/observability/ — slog + Prometheus
internal/store/     — Redis + (later) Postgres
deploy/prometheus/  — prometheus.yml
migrations/         — (coming, M2)
testfakes/          — (coming, M3) fake-FCM, fake-Telegram, fake-SMS

License

Private. © 2026 Techno-World.