Add architecture diagram to the dev docs (#3305)

# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
This commit is contained in:
Ildar Iskhakov 2024-02-20 01:25:28 +08:00 committed by GitHub
parent 0711484a50
commit fde2214949
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -593,3 +593,42 @@ In order to automate types creation and prevent API usage pitfalls, OnCall proje
}
}
```
## System components
```mermaid
flowchart TD
client[Monitoring System]
third_party["Slack, Twilio,
3rd party services.."]
server[Server]
celery[Celery Worker]
db[(SQL Database)]
redis[("Cache
(Redis)")]
broker[("AMPQ Broker
(Redis or RabbitMQ)")]
subgraph OnCall Backend
server <--> redis
server <--> db
server -->|"Schedule tasks
with ETA"| broker
broker -->|"Fetch tasks"| celery
celery --> db
end
subgraph Grafana Stack
plugin["OnCall Frontend
Plugin"]
proxy[Plugin Proxy]
api[Grafana API]
plugin --> proxy --> server
api --> server
end
client -->|Alerts| server
third_party -->|"Statuses,
events"| server
celery -->|"Notifications,
Outgoing Webhooks"| third_party
```