Damien
ccd882bcfd
fix(schema): change InfraIPAddress.address from IPNetwork to IPHost — refs #52
...
IPNetwork with strict=True rejects host addresses like 10.0.1.1/31
(host bits set). Interface IP assignments are host addresses with a
prefix length, which is exactly what IPHost accepts.
2026-02-15 20:23:07 +01:00
Damien
4409dc5e8d
fix(objects): remove interface refs from IPs — InfraInterface has no HFID — refs #52
...
InfraIPAddress.interface peers with the generic InfraInterface which
has no human_friendly_id defined, so infrahubctl cannot resolve the
HFID lookup. Remove interface references from all IP address objects.
IP-to-interface associations can be established later via the reverse
relationship (ip_addresses on interface objects) or by adding an HFID
to the InfraInterface generic in a future schema update.
2026-02-15 20:22:01 +01:00
Damien
97720d3d6d
fix(objects): split Vlan SVIs and IPs for load ordering — refs #52
...
InfraInterfaceVlan references InfraVLAN objects (06-vlans-vxlan.yml),
so Vlan SVIs must load after VLANs. Similarly, Vlan IP addresses
reference Vlan SVIs.
Changes:
- Extract InfraInterfaceVlan from 04 into 07-interface-vlans.yml
- Extract Vlan SVI IPs from 05 into 08-ipam-vlans.yml
- Rename 07-bgp→09, 08-vrfs→10, 09-mlag→11
- Update .infrahub.yml with new 11-file load order
Load order: foundation → fabric → devices → interfaces (Lo/Lag/Eth)
→ ipam (Lo/Eth) → vlans-vxlan → interface-vlans → ipam-vlans
→ bgp → vrfs → mlag
2026-02-15 16:04:42 +01:00
Damien
50cdb911a4
fix(objects): reorder interfaces — LAG before Ethernet — refs #52
...
InfraInterfaceEthernet references InfraInterfaceLag (lag field),
so LAG interfaces must be created first within the same file.
New order: Loopback → Lag → Ethernet → Vlan SVI
2026-02-15 16:01:45 +01:00
Damien
30885b5a19
fix(objects): wrap all relation references as HFID lists — refs #52
...
All relation values now use the HFID list-of-strings format required
by infrahubctl:
- Cardinality one: device: ["spine1"], platform: ["arista_eos"]
- Cardinality many: devices: - ["leaf1"], networks: - ["10.0.250.1/32"]
- Composite HFIDs unchanged: peer_group: ["10.0.250.1", "evpn"]
Files modified: 02-fabric, 03-devices, 04-interfaces, 06-vlans-vxlan,
07-bgp, 08-vrfs, 09-mlag (05-ipam already correct).
2026-02-15 15:37:20 +01:00
Damien
77b39027a3
fix(objects): list object files explicitly for sequential loading — refs #52
2026-02-15 15:20:45 +01:00
Damien
5f071e5716
fix(objects): split foundation/fabric and renumber files for load order — refs #52
2026-02-15 15:18:40 +01:00
Damien
3838169ff7
fix(objects): remove AS 64999, rename fabric to evpn-lab, simplify .infrahub.yml — refs #52
2026-02-15 15:03:47 +01:00
Damien
14ebedadcb
feat(objects): declare object files in .infrahub.yml — refs #52
2026-02-15 12:03:10 +01:00
Damien
825c5e4451
feat(objects): add 4 MLAG domains, 8 peer configs — refs #52
2026-02-15 12:03:07 +01:00
Damien
4a13a6a33d
feat(objects): add VRF gold, route targets, device assignments — refs #52
2026-02-15 12:03:04 +01:00
Damien
17ff22f497
feat(objects): add BGP config, peer groups, 74 sessions, address families — refs #52
2026-02-15 12:03:00 +01:00
Damien
89f77b764e
feat(objects): add VLANs, VNIs, VTEPs, mappings, EVPN instances — refs #52
2026-02-15 12:02:57 +01:00
Damien
537df72f85
feat(objects): add IP addresses (72 assignments: loopbacks, P2P, MLAG, VRF) — refs #52
2026-02-15 12:02:53 +01:00
Damien
dc382bf6de
feat(objects): add interfaces (loopback, ethernet, LAG, VLAN SVIs) — refs #52
2026-02-15 12:02:50 +01:00
Damien
d3275d1ecc
feat(objects): add 10 devices (2 spines, 8 leafs) — refs #52
2026-02-15 12:02:46 +01:00
Damien
009b6ebc75
feat(objects): add foundation objects (fabric, platform, site, ASNs) — refs #52
2026-02-15 12:02:40 +01:00
5a335b37e6
docs: update CLAUDE.md for issue #52 object files task — refs #52
2026-02-13 19:47:57 +00:00
7fd83b8c3f
Merge pull request '[Phase 2] Define Infrahub Schema for EVPN-VXLAN Fabric' ( #51 ) from feature/41-infrahub-schema into main
...
Reviewed-on: #51
2026-02-13 19:36:26 +00:00
f484af442a
docs(schema): update README with complete relationships and topology mapping — refs #41
2026-02-13 14:20:02 +00:00
Damien
e32da46bd7
fix(schema): add optional VRF relation on BGPSession — refs #50
2026-02-13 15:03:55 +01:00
Damien
4e2f5b5b0c
Update CLAUDE.md
2026-02-13 15:02:55 +01:00
Damien
cf05a5d477
fix(schema): add trunk_groups and stp_enabled on InfraVLAN — refs #49
2026-02-13 11:25:29 +01:00
Damien
f623d12b8c
fix(schema): remove redundant Device.router_id, add BGP distance attributes — refs #48
2026-02-13 11:24:49 +01:00
Damien
e527534820
fix(schema): refactor UnderlayLink IPs from attributes to InfraIPAddress relations — refs #47
2026-02-13 11:24:17 +01:00
Damien
ed820f3380
fix(schema): add virtual_router_address and autostate on InterfaceVlan — refs #46
2026-02-13 11:23:29 +01:00
Damien
82af2daafc
fix(schema): add unique constraint on InfraVLAN.vlan_id for human_friendly_id — refs #45
2026-02-13 11:23:02 +01:00
Damien
719ecfafaa
fix(schema): remove duplicate InterfaceVxlan, keep VTEP only — refs #44
2026-02-13 11:22:43 +01:00
Damien
3654c2de9d
fix(schema): scope BGPPeerGroup and BGPSession human_friendly_id per device — refs #43
2026-02-13 11:21:51 +01:00
Damien
f69bba2bf1
Create CLAUDE.md
2026-02-12 11:19:23 +01:00
aa9d0093fe
fix(menu): rename VRF/MLAG namespaces to match Infrahub regex
...
Infrahub namespaces must match ^[A-Z][a-z0-9]+$
- VRF → Vrf
- MLAG → Mlag
2026-02-09 13:29:11 +00:00
d05c96915f
feat(schema): add include_in_menu: false to all extension nodes #41
2026-02-09 12:05:11 +00:00
e31846b057
feat(schema): add include_in_menu: false to all MLAG nodes #41
2026-02-09 12:04:46 +00:00
741132a176
feat(schema): add include_in_menu: false to all VRF nodes #41
2026-02-09 12:04:21 +00:00
a05e997742
feat(schema): add include_in_menu: false to all VLAN/VXLAN nodes #41
2026-02-09 12:04:04 +00:00
ffa1eff19a
feat(schema): add include_in_menu: false to all BGP nodes #41
2026-02-09 12:03:38 +00:00
69f003b798
feat(schema): add include_in_menu: false to all base nodes #41
...
Menu is now controlled by custom menus/fabric-menu.yml
2026-02-09 12:03:09 +00:00
40fdf504c9
feat(config): add menu reference to .infrahub.yml #41
2026-02-09 12:02:29 +00:00
78263e8bf5
feat(menu): add custom Infrahub menu for EVPN-VXLAN fabric #41
...
Organize 22+ schema nodes into logical categories:
- Fabric Topology (Fabric, Site, Device, Platform, Underlay Links)
- Interfaces (Ethernet, Loopback, VLAN SVI, LAG, VXLAN)
- IP Addressing
- Layer 2 / VXLAN (VLAN, VNI, VTEP, Mappings, EVPN)
- Routing / BGP (AS, Router Config, Peer Groups, Sessions, AFI)
- VRF (VRF, Route Targets, Assignments)
- MLAG (Domain, Peer Config, Interface)
- Host Connectivity
2026-02-09 12:02:18 +00:00
25550bb3c4
fix: migrate display_labels to display_label Jinja2 format in VRF schema
...
Also enriched VRFDeviceAssignment display_label to show device + VRF.
Refs #41
2026-02-07 09:18:38 +00:00
b9b15f3beb
fix: migrate display_labels to display_label Jinja2 format in VLAN/VXLAN schema
...
Refs #41
2026-02-07 09:18:11 +00:00
d9b47461d3
fix: migrate display_labels to display_label Jinja2 format in MLAG schema
...
Refs #41
2026-02-07 09:17:46 +00:00
498fa8505e
fix: migrate display_labels to display_label Jinja2 format in extensions schema
...
Refs #41
2026-02-07 09:17:26 +00:00
cda3804c2c
fix: migrate display_labels to display_label Jinja2 format in BGP schema
...
Refs #41
2026-02-07 09:17:07 +00:00
97080473f7
fix: migrate display_labels to display_label Jinja2 format in base schema
...
Replaces deprecated display_labels list format and bare display_label
strings with the new Jinja2 template format as required by Infrahub.
Refs #41
2026-02-07 09:16:40 +00:00
bb76b93499
refactor(schema): replace deprecated display_labels with display_label
2026-02-07 09:03:36 +00:00
a917715a47
refactor(schema): replace deprecated display_labels with display_label across all nodes
2026-02-07 09:03:11 +00:00
99f34b9639
fix(schema): add unique: true on VRF.name for HFID peer traversal
2026-02-06 19:39:28 +00:00
0e96e8aca8
fix(schema): add explicit optional: false on VRFDeviceAssignment.vrf for human_friendly_id
2026-02-06 19:20:56 +00:00
d7e2d9f0e0
fix(schema): add optional: false on UnderlayLink.fabric parent relationship
2026-02-06 19:19:55 +00:00