docs: update installation steps and reformat markdown tables

- Update the dependency installation command in the main README to use `uv sync` instead of `pip`, reflecting the project's package manager.
- Realign markdown tables in `src/yang/README.md` to improve raw text readability and consistency.
This commit is contained in:
darnodo
2025-12-26 15:56:17 +01:00
parent ad3e93b933
commit f8ef64e9b0
6 changed files with 64 additions and 16 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
__pycache__

1
.python-version Normal file
View File

@@ -0,0 +1 @@
3.12

View File

@@ -153,7 +153,7 @@ git clone https://gitea.arnodo.fr/Damien/fabric-orchestrator.git
cd fabric-orchestrator cd fabric-orchestrator
# Install dependencies # Install dependencies
pip install -e . uv sync
# Verify gNMI connectivity to your fabric # Verify gNMI connectivity to your fabric
fabric-orch discover --target leaf1:6030 fabric-orch discover --target leaf1:6030

10
pyproject.toml Normal file
View File

@@ -0,0 +1,10 @@
[project]
name = "fabric-orchestrator"
version = "0.1.0"
description = "Declarative Network Fabric Orchestrator - Terraform-like infrastructure management for Arista EVPN-VXLAN using gNMI, YANG, and NetBox as Source of Truth"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"dataclasses>=0.8",
"typing>=3.10.0.0",
]

View File

@@ -7,7 +7,7 @@ This module provides YANG path constants and utilities for managing Arista EVPN-
The module contains validated gNMI paths for Arista EOS 4.35.0F, organized by feature: The module contains validated gNMI paths for Arista EOS 4.35.0F, organized by feature:
| Class | Model | Description | | Class | Model | Description |
|-------|-------|-------------| | ------------- | ---------- | ------------------------------- |
| `Interfaces` | OpenConfig | Physical and logical interfaces | | `Interfaces` | OpenConfig | Physical and logical interfaces |
| `Loopbacks` | OpenConfig | Loopback interfaces | | `Loopbacks` | OpenConfig | Loopback interfaces |
| `VLANs` | OpenConfig | VLAN configuration and SVIs | | `VLANs` | OpenConfig | VLAN configuration and SVIs |
@@ -189,7 +189,7 @@ custom = SubscriptionPath(
## Limitations ## Limitations
| Feature | Config | State | Notes | | Feature | Config | State | Notes |
|---------|--------|-------|-------| | ------- | ------ | ----- | ------------------ |
| MLAG | ✅ | ❌ | Use eAPI for state | | MLAG | ✅ | ❌ | Use eAPI for state |
| EVPN | ✅ | ❌ | Use eAPI for state | | EVPN | ✅ | ❌ | Use eAPI for state |

36
uv.lock generated Normal file
View File

@@ -0,0 +1,36 @@
version = 1
revision = 3
requires-python = ">=3.12"
[[package]]
name = "dataclasses"
version = "0.8"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/1f/12/7919c5d8b9c497f9180db15ea8ead6499812ea8264a6ae18766d93c59fe5/dataclasses-0.8.tar.gz", hash = "sha256:8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97", size = 36581, upload-time = "2020-11-13T14:40:30.139Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/fe/ca/75fac5856ab5cfa51bbbcefa250182e50441074fdc3f803f6e76451fab43/dataclasses-0.8-py3-none-any.whl", hash = "sha256:0201d89fa866f68c8ebd9d08ee6ff50c0b255f8ec63a71c16fda7af82bb887bf", size = 19041, upload-time = "2020-11-13T14:40:29.194Z" },
]
[[package]]
name = "fabric-orchestrator"
version = "0.1.0"
source = { virtual = "." }
dependencies = [
{ name = "dataclasses" },
{ name = "typing" },
]
[package.metadata]
requires-dist = [
{ name = "dataclasses", specifier = ">=0.8" },
{ name = "typing", specifier = ">=3.10.0.0" },
]
[[package]]
name = "typing"
version = "3.10.0.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/b0/1b/835d4431805939d2996f8772aca1d2313a57e8860fec0e48e8e7dfe3a477/typing-3.10.0.0.tar.gz", hash = "sha256:13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130", size = 78962, upload-time = "2021-05-01T18:03:58.186Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/f2/5d/865e17349564eb1772688d8afc5e3081a5964c640d64d1d2880ebaed002d/typing-3.10.0.0-py3-none-any.whl", hash = "sha256:12fbdfbe7d6cca1a42e485229afcb0b0c8259258cfb919b8a5e2a5c953742f89", size = 26320, upload-time = "2021-05-01T18:03:56.398Z" },
]