serviceradar-zen: add support for multi-tenancy #732
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar#732
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Imported from GitHub.
Original GitHub issue: #2270
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/2270
Original created: 2026-01-12T07:24:18Z
We need to investigate the serviceradar-zen service and see how it supports NATS JWT accounts, I don't think it was ever updated and is probably connecting to NATS using mTLS. It doesn't seem like serviceradar-zen would work for multiple tenants and it is not clear if we want it to. We may want to consider spinning up a separate serviceradar-zen instance per-tenant, or try to figure out how serviceradar-zen could listen to multiple NATS streams, one per-tenant.
Not sure what the best approach is here yet, spinning up additional processes in a docker compose stack might be difficult as well.
Another option is to pull this into serviceradar-core-elx and use rustler/NIF to call out to the zen engine. I don't know if running that in elixir is going to be as performant as just a standalone rust process that uses tokio/async or what.
The nice thing about moving it into elixir is we can just keep all of these rules in ETS for zen.
Imported GitHub comment.
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/2270#issuecomment-3747944149
Original created: 2026-01-14T06:11:25Z
closing as completed, each tenant will get its own instance