finds.dev← search

// the find

prymitive/karma

★ 2,681 · TypeScript · Apache-2.0 · updated Sep 2026

Alert dashboard for Prometheus Alertmanager

karma is a Go backend plus React/TypeScript frontend that sits in front of one or more Prometheus Alertmanager instances, aggregating and deduplicating alerts into a dashboard that's actually usable for day-to-day triage. It's for SRE/ops teams running Alertmanager in HA or multi-cluster setups who find the stock Alertmanager UI too bare-bones to live in all day.

Multi-instance alert aggregation with dedup across HA Alertmanager clusters addresses a real gap, not a cosmetic one — the stock AM UI has no concept of 'this is the same alert from two replicas.' The ACL system for silence creation/editing (via proxy mode) gives actual rule-based access control rather than a binary read-only/read-write toggle. Alert history pulls real per-hour firing frequency from the source Prometheus servers rather than just reflecting current Alertmanager state. It's a mature, long-running project (started as unsee at Cloudflare) with CI test mocks for each supported Alertmanager version, so version-compatibility claims are actually verified rather than asserted in a README.

karma holds no state of its own — it's a pure read-through frontend over Alertmanager, so retention, history beyond 24h, and uptime are entirely bounded by whatever Alertmanager you point it at. The README admits Alertmanager's API isn't stable across releases, which means an AM upgrade can quietly break a karma feature until a matching karma release ships. The alert history feature requires every source Prometheus to be reachable from karma with a public --web.external-url, which is an awkward ask for anything running behind NAT or in a private cluster. Local dev requires Go, Node, and yarn all installed and working together via `make` — there's no single-command containerized dev loop documented for contributors.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →