docs: replace ASCII architecture diagram with Excalidraw SVG

Replace the text-based ASCII art representation of the system architecture with a linked Excalidraw SVG image. This improves visual clarity, readability, and maintainability of the architectural overview in the README.
This commit is contained in:
Damien
2026-02-05 13:03:03 +01:00
parent 383aa6b35f
commit c6595cda51
2 changed files with 5 additions and 55 deletions

View File

@@ -18,61 +18,7 @@ Think `terraform plan` and `terraform apply`, but for your network fabric — po
## 🏗️ Architecture
```
┌──────────────────────────────────────────────────────────────────────────────┐
│ INTENT LAYER │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ This Git Repository │ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────┐ │ │
│ │ │ schemas/ │ │ data/ │ │ transforms/ │ │ │
│ │ │ └─fabric.yml │ │ ├─devices.yml │ │ └─arista_config.j2 │ │ │
│ │ │ (InfraHub │ │ ├─vlans.yml │ │ (Jinja2 templates) │ │ │
│ │ │ schema) │ │ ├─bgp.yml │ │ │ │ │
│ │ │ │ │ └─... │ │ │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ InfraHub │ │
│ │ (Runtime + GraphQL API) │ │
│ │ Syncs schema & data from Git, exposes via GraphQL │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘
│ GraphQL / SDK
┌──────────────────────────────────────────────────────────────────────────────┐
│ ORCHESTRATION LAYER (PREFECT) │
│ │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ Prefect Flows (Python) │ │
│ │ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │ │
│ │ │ fabric_reconcile │ │ handle_drift │ │ drift_remediation │ │ │
│ │ │ (plan/apply) │ │ (subscribe) │ │ (auto-fix) │ │ │
│ │ └───────────────────┘ └───────────────────┘ └───────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ Prefect Tasks (Python) │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────┐│ │
│ │ │ Intent Parser │ │ Diff Engine │ │ gNMI Client ││ │
│ │ │ (InfraHub→YANG) │ │ (Want vs Have) │ │ (pygnmi wrapper) ││ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────────────┘│ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────┬───────────────────────────────────────┘
│ gNMI Get/Set/Subscribe
┌──────────────────────────────────────────────────────────────────────────────┐
│ DEVICE LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ spine1 │ │ spine2 │ │ leaf1 │ │ leaf2 │ ... │
│ │ gNMI:6030 │ │ gNMI:6030 │ │ gNMI:6030 │ │ gNMI:6030 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘
```
![architecture](docs/assets/architecture/fabric-orchestration-archi.excalidraw.svg)
## 🎯 Why InfraHub?

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 45 KiB