Refactor interface references to use structured format

Refactored all interface references in IPAM configuration to use the
structured format with kind and data fields instead of simple lists.
This improves consistency and makes the configuration more maintainable.
This commit is contained in:
Damien
2026-02-21 17:41:11 +01:00
parent 807f3ce8a1
commit 4aecc544da
2 changed files with 360 additions and 72 deletions

View File

@@ -11,76 +11,164 @@ spec:
# ============================================================
- address: "10.0.199.254/31"
description: leaf1 MLAG peer-link
interface: ["leaf1", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf1"]
name: Vlan4090
- address: "10.0.199.255/31"
description: leaf2 MLAG peer-link
interface: ["leaf2", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf2"]
name: Vlan4090
- address: "10.0.199.252/31"
description: leaf3 MLAG peer-link
interface: ["leaf3", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf3"]
name: Vlan4090
- address: "10.0.199.253/31"
description: leaf4 MLAG peer-link
interface: ["leaf4", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf4"]
name: Vlan4090
- address: "10.0.199.250/31"
description: leaf5 MLAG peer-link
interface: ["leaf5", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf5"]
name: Vlan4090
- address: "10.0.199.251/31"
description: leaf6 MLAG peer-link
interface: ["leaf6", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf6"]
name: Vlan4090
- address: "10.0.199.248/31"
description: leaf7 MLAG peer-link
interface: ["leaf7", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf7"]
name: Vlan4090
- address: "10.0.199.249/31"
description: leaf8 MLAG peer-link
interface: ["leaf8", "Vlan4090"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf8"]
name: Vlan4090
# ============================================================
# MLAG iBGP Peering SVI (Vlan4091) — /31
# ============================================================
- address: "10.0.3.0/31"
description: leaf1 MLAG iBGP peering
interface: ["leaf1", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf1"]
name: Vlan4091
- address: "10.0.3.1/31"
description: leaf2 MLAG iBGP peering
interface: ["leaf2", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf2"]
name: Vlan4091
- address: "10.0.3.2/31"
description: leaf3 MLAG iBGP peering
interface: ["leaf3", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf3"]
name: Vlan4091
- address: "10.0.3.3/31"
description: leaf4 MLAG iBGP peering
interface: ["leaf4", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf4"]
name: Vlan4091
- address: "10.0.3.4/31"
description: leaf5 MLAG iBGP peering
interface: ["leaf5", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf5"]
name: Vlan4091
- address: "10.0.3.5/31"
description: leaf6 MLAG iBGP peering
interface: ["leaf6", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf6"]
name: Vlan4091
- address: "10.0.3.6/31"
description: leaf7 MLAG iBGP peering
interface: ["leaf7", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf7"]
name: Vlan4091
- address: "10.0.3.7/31"
description: leaf8 MLAG iBGP peering
interface: ["leaf8", "Vlan4091"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf8"]
name: Vlan4091
# ============================================================
# VRF gold SVI addresses — /24
# ============================================================
# Vlan34 (leaf3/leaf4)
- address: "10.34.34.2/24"
description: leaf3 Vlan34 VRF gold
interface: ["leaf3", "Vlan34"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf3"]
name: Vlan34
- address: "10.34.34.3/24"
description: leaf4 Vlan34 VRF gold
interface: ["leaf4", "Vlan34"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf4"]
name: Vlan34
# Vlan78 (leaf7/leaf8)
- address: "10.78.78.2/24"
description: leaf7 Vlan78 VRF gold
interface: ["leaf7", "Vlan78"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf7"]
name: Vlan78
- address: "10.78.78.3/24"
description: leaf8 Vlan78 VRF gold
interface: ["leaf8", "Vlan78"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf8"]
name: Vlan78
# Vlan900 — BGP border (leaf7/leaf8)
- address: "10.90.90.2/29"
description: leaf7 Vlan900 BGP border
interface: ["leaf7", "Vlan900"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf7"]
name: Vlan900
- address: "10.90.90.3/29"
description: leaf8 Vlan900 BGP border
interface: ["leaf8", "Vlan900"]
interface:
kind: InfraInterfaceVlan
data:
device: ["leaf8"]
name: Vlan900