From 2801eab201198fe9069743ec582c9d7341608b79 Mon Sep 17 00:00:00 2001 From: Victor Lyuboslavsky Date: Wed, 2 Apr 2025 11:34:51 -0500 Subject: [PATCH] Tweaks to high level Fleet diagram. (#27749) --- docs/Contributing/high-level-architecture.md | 63 ++++++++++++-------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/docs/Contributing/high-level-architecture.md b/docs/Contributing/high-level-architecture.md index 6d696f391c..48bf6e85f5 100644 --- a/docs/Contributing/high-level-architecture.md +++ b/docs/Contributing/high-level-architecture.md @@ -13,54 +13,67 @@ Add text graph LR; subgraph Development - fleet_release_owner[Fleet Release
Owner]; + fleet_release_owner[fleetd release
owner]; end - subgraph Agent - orbit[orbit]; - desktop[Fleet Desktop
Tray App]; - osqueryd[osqueryd]; - desktop_browser[Fleet Desktop
from Browser]; + subgraph Host + subgraph "Agent (fleetd)" + orbit[orbit]; + osqueryd[osqueryd]; + desktop[Fleet Desktop]; + end + desktop_browser["Host details
[browser]"]; end subgraph Customer Cloud fleet_server[Fleet
Server]; - db[DB]; - redis[Redis
Live queries' results
go here]; - prometheus[Prometheus Server]; + db[(MySQL)]; + redis[Redis
Live queries' results, etc.
go here]; + subgraph Telemetry + prometheus[Prometheus Server]; + opentel[Open Telemetry] + apm[Elastic APM] + end end subgraph FleetDM Cloud - tuf["TUF file server
(default: tuf.fleetctl.com)"]; - datadog[DataDog metrics] + tuf["TUF file server
(default: updates.fleetdm.com)"]; + datadog[DataDog dashboard] heroku[Usage Analytics
Heroku] - log[Send logs to optional
external location] + fleetdm[AI gen] end - subgraph Customer Admin - frontend[API user UI or other] + log[/Send logs to optional
external location/] + + subgraph Customer + api[raw API] + frontend["UI
React app"] + fleetctl[fleetctl CLI] end fleet_release_owner -- "Release Process" --> tuf; - orbit -- "Fleet Orbit API (TLS)" --> fleet_server; - orbit -- "Auto Update (TLS)" --> tuf; - desktop -- "Fleet Desktop API (TLS)" --> fleet_server; - osqueryd -- "osquery
remote API (TLS)" --> fleet_server; - desktop_browser -- "My Device API (TLS)" --> fleet_server; + orbit -- "Fleet Orbit API" --> fleet_server; + orbit -- "Auto update all fleetd components" --> tuf; + desktop -- "Fleet Desktop API" --> fleet_server; + osqueryd -- "osquery
remote API" --> fleet_server; + orbit -- "starts" --> desktop + orbit -- "starts" --> osqueryd + desktop -- "opens" -->desktop_browser + desktop_browser -- "My Device API" --> fleet_server; heroku -- "Metrics from all customers" --> datadog; - fleet_server <== "Read/Write" ==> db; - fleet_server <== "Read/Write" ==> redis; - redis <==> db; + fleet_server == "Read/Write" ==> db; + fleet_server == "Read/Write" ==> redis; - prometheus ==> fleet_server; + fleet_server ==> Telemetry; fleet_server -- "metrics" --> heroku; - fleet_server -- "queries results" --> log; + fleet_server -- "fleetdm API" --> fleetdm + fleet_server -- "queries/log results" --> log; - frontend <== "API" ==> fleet_server; + Customer == "API" ==> fleet_server; ```