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
|
## 🏗️ 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?
|
## 🎯 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