docs: Update README - remove Kestra comparison, update status

- Remove "Kestra vs Prefect Comparison" section (decision made)
- Update project status to reflect current phase
- Simplify "Why Prefect?" section
- Clean up architecture diagram formatting
This commit is contained in:
2026-01-30 10:22:49 +00:00
parent 6c456a2bd6
commit 17888b7425

View File

@@ -29,32 +29,32 @@ Think `terraform plan` and `terraform apply`, but for your network fabric — po
│ Webhook / Polling
┌──────────────────────────────────────────────────────────────────────────────┐
│ ORCHESTRATION LAYER (PREFECT)
ORCHESTRATION LAYER (PREFECT) │
│ │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ Prefect Flows (Python) │ │
│ │ Prefect Flows (Python) │ │
│ │ ┌───────────────────┐ ┌───────────────────┐ ┌─────────────────────┐ │ │
│ │ │ fabric_reconcile │ │ handle_drift │ │ drift_remediation │ │ │
│ │ │ (plan/apply) │ │ (subscribe) │ │ (auto-fix) │ │ │
│ │ └───────────────────┘ └───────────────────┘ └─────────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ Prefect Tasks (Python) │ │
│ │ Prefect Tasks (Python) │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────────────┐ │ │
│ │ │ Intent Parser │ │ Diff Engine │ │ gNMI Client │ │ │
│ │ │ (NetBox→YANG) │ │ (Want vs Have) │ │ (pygnmi wrapper) │ │ │
│ │ └─────────────────┘ └─────────────────┘ └───────────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ FastAPI Webhook Receiver │ Prefect .serve() │ Prefect Server (UI) │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘
│ gNMI Get/Set/Subscribe
│ gNMI Get/Set/Subscribe
┌──────────────────────────────────────────────────────────────────────────────┐
│ DEVICE LAYER
│ DEVICE LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ spine1 │ │ spine2 │ │ leaf1 │ │ leaf2 │ ... │
│ │ gNMI:6030 │ │ gNMI:6030 │ │ gNMI:6030 │ │ gNMI:6030 │ │
@@ -77,16 +77,6 @@ We chose [Prefect](https://prefect.io) as the orchestration engine for several r
| **Retry & error handling** | Built-in retry policies with `@task(retries=3)` |
| **Human-in-the-loop** | Native `pause_flow_run()` for approval workflows |
### Kestra vs Prefect Comparison
| Aspect | Kestra | Prefect |
|--------|--------|---------|
| **Workflow definition** | YAML external files | Python code (`@flow`, `@task`) |
| **Secrets management** | ❌ Paid in OSS | ✅ Free (`Secret` blocks) |
| **Code packaging** | Container required | Not required |
| **Integration** | Isolated scripts | Native Python integration |
| **Webhooks** | Built-in triggers | FastAPI + `run_deployment()` |
## 🎯 Target Fabric
This project is designed for the Arista EVPN-VXLAN ContainerLab topology:
@@ -342,4 +332,4 @@ if __name__ == "__main__":
---
**Status**: 🚧 Active Development - Migrating to Prefect orchestration (Phase 4)
**Status**: 🚧 Active Development - Phase 2 (Core Components) & Phase 4 (Prefect Integration)