Update README.md tables to be more compact
Add .ruff_cache to .gitignore
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
__pycache__
|
__pycache__
|
||||||
.envrc
|
.envrc
|
||||||
|
.ruff_cache
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -25,7 +25,7 @@ Think `terraform plan` and `terraform apply`, but for your network fabric — po
|
|||||||
We chose [InfraHub](https://github.com/opsmill/infrahub) over NetBox as Source of Truth for several reasons:
|
We chose [InfraHub](https://github.com/opsmill/infrahub) over NetBox as Source of Truth for several reasons:
|
||||||
|
|
||||||
| Feature | NetBox | InfraHub |
|
| Feature | NetBox | InfraHub |
|
||||||
| ------------------- | ----------------------- | -------------------------------------------- |
|
| ------------------- | --------------------- | ------------------------------------ |
|
||||||
| **Schema** | Fixed DCIM/IPAM model | Fully customizable YAML schema |
|
| **Schema** | Fixed DCIM/IPAM model | Fully customizable YAML schema |
|
||||||
| **Git Integration** | External sync needed | Native - branches = data branches |
|
| **Git Integration** | External sync needed | Native - branches = data branches |
|
||||||
| **Versioning** | Changelog only | True Git-like versioning with merges |
|
| **Versioning** | Changelog only | True Git-like versioning with merges |
|
||||||
@@ -42,7 +42,7 @@ We chose [InfraHub](https://github.com/opsmill/infrahub) over NetBox as Source o
|
|||||||
## 🎛 Why Prefect?
|
## 🎛 Why Prefect?
|
||||||
|
|
||||||
| Feature | Benefit |
|
| Feature | Benefit |
|
||||||
| -------------------------------- | ------------------------------------------------------------------------- |
|
| -------------------------------- | ---------------------------------------------------------------------- |
|
||||||
| **Python-native workflows** | Use `@flow` and `@task` decorators — no YAML, just Python |
|
| **Python-native workflows** | Use `@flow` and `@task` decorators — no YAML, just Python |
|
||||||
| **Free secrets management** | Native `Secret` blocks for credentials (free in OSS) |
|
| **Free secrets management** | Native `Secret` blocks for credentials (free in OSS) |
|
||||||
| **Built-in UI** | Dashboard, logs, metrics, execution history via `prefect server start` |
|
| **Built-in UI** | Dashboard, logs, metrics, execution history via `prefect server start` |
|
||||||
@@ -68,7 +68,7 @@ Reference lab topology: [arista-evpn-vxlan-clab](https://gitea.arnodo.fr/Damien/
|
|||||||
Progress is tracked via issues. See [all issues](https://gitea.arnodo.fr/Damien/fabric-orchestrator/issues) or filter by phase:
|
Progress is tracked via issues. See [all issues](https://gitea.arnodo.fr/Damien/fabric-orchestrator/issues) or filter by phase:
|
||||||
|
|
||||||
| Phase | Description | Status |
|
| Phase | Description | Status |
|
||||||
| ----------- | ---------------------------------------------------------------------------- | -------------- |
|
| ----------- | ------------------------------------------------------------------------- | -------------- |
|
||||||
| **Phase 1** | YANG Path Discovery - Map EOS 4.35.0F YANG models, validate gNMI | ✅ Complete |
|
| **Phase 1** | YANG Path Discovery - Map EOS 4.35.0F YANG models, validate gNMI | ✅ Complete |
|
||||||
| **Phase 2** | InfraHub Client & Core Reconciler - SDK client, diff engine, YANG mappers | 🔄 In Progress |
|
| **Phase 2** | InfraHub Client & Core Reconciler - SDK client, diff engine, YANG mappers | 🔄 In Progress |
|
||||||
| **Phase 3** | Full Fabric Coverage - BGP, MLAG, VRFs mappers | 📋 Planned |
|
| **Phase 3** | Full Fabric Coverage - BGP, MLAG, VRFs mappers | 📋 Planned |
|
||||||
@@ -116,7 +116,7 @@ fabric-orchestrator/
|
|||||||
## 🛠️ Technology Stack
|
## 🛠️ Technology Stack
|
||||||
|
|
||||||
| Component | Technology | Purpose |
|
| Component | Technology | Purpose |
|
||||||
| --------------- | ------------------------------- | ------------------------------------------ |
|
| --------------- | -------------------------- | ------------------------------------ |
|
||||||
| Source of Truth | **InfraHub** | Intent definition via custom schema |
|
| Source of Truth | **InfraHub** | Intent definition via custom schema |
|
||||||
| Orchestrator | **Prefect** | Python-native workflow orchestration |
|
| Orchestrator | **Prefect** | Python-native workflow orchestration |
|
||||||
| Transport | gNMI | Configuration and telemetry |
|
| Transport | gNMI | Configuration and telemetry |
|
||||||
@@ -136,21 +136,25 @@ fabric-orchestrator/
|
|||||||
## 📚 References
|
## 📚 References
|
||||||
|
|
||||||
### InfraHub
|
### InfraHub
|
||||||
|
|
||||||
- [InfraHub Documentation](https://docs.infrahub.app)
|
- [InfraHub Documentation](https://docs.infrahub.app)
|
||||||
- [InfraHub Schema Guide](https://docs.infrahub.app/guides/create-schema)
|
- [InfraHub Schema Guide](https://docs.infrahub.app/guides/create-schema)
|
||||||
- [InfraHub Python SDK](https://github.com/opsmill/infrahub-sdk-python)
|
- [InfraHub Python SDK](https://github.com/opsmill/infrahub-sdk-python)
|
||||||
|
|
||||||
### Prefect
|
### Prefect
|
||||||
|
|
||||||
- [Prefect Documentation](https://docs.prefect.io)
|
- [Prefect Documentation](https://docs.prefect.io)
|
||||||
- [Prefect Flows](https://docs.prefect.io/latest/develop/write-flows/)
|
- [Prefect Flows](https://docs.prefect.io/latest/develop/write-flows/)
|
||||||
- [Prefect Tasks](https://docs.prefect.io/latest/develop/write-tasks/)
|
- [Prefect Tasks](https://docs.prefect.io/latest/develop/write-tasks/)
|
||||||
|
|
||||||
### YANG / gNMI
|
### YANG / gNMI
|
||||||
|
|
||||||
- [Arista gNMI Documentation](https://aristanetworks.github.io/openmgmt/configuration/gnmi/)
|
- [Arista gNMI Documentation](https://aristanetworks.github.io/openmgmt/configuration/gnmi/)
|
||||||
- [OpenConfig Models](https://github.com/openconfig/public)
|
- [OpenConfig Models](https://github.com/openconfig/public)
|
||||||
- [pygnmi Library](https://github.com/akarneliuk/pygnmi)
|
- [pygnmi Library](https://github.com/akarneliuk/pygnmi)
|
||||||
|
|
||||||
### EVPN-VXLAN
|
### EVPN-VXLAN
|
||||||
|
|
||||||
- [Arista BGP EVPN Configuration Example](https://overlaid.net/2019/01/27/arista-bgp-evpn-configuration-example/)
|
- [Arista BGP EVPN Configuration Example](https://overlaid.net/2019/01/27/arista-bgp-evpn-configuration-example/)
|
||||||
|
|
||||||
## 🚀 Getting Started
|
## 🚀 Getting Started
|
||||||
|
|||||||
Reference in New Issue
Block a user