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:
56
README.md
56
README.md
@@ -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 │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
└──────────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||

|
||||
|
||||
## 🎯 Why InfraHub?
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 45 KiB |
Reference in New Issue
Block a user