[Phase 2] Define Infrahub Schema for EVPN-VXLAN Fabric #51

Merged
Damien merged 58 commits from feature/41-infrahub-schema into main 2026-02-13 19:36:27 +00:00
Showing only changes of commit 4e9c2d3009 - Show all commits

View File

@@ -9,6 +9,8 @@ generics:
label: Interface
include_in_menu: false
hierarchical: false
display_labels:
- name__value
attributes:
- name: name
kind: Text
@@ -34,15 +36,16 @@ generics:
kind: Component
nodes:
# =============================================================================
# ==========================================================================
# Location
# =============================================================================
# ==========================================================================
- name: Site
namespace: Location
description: Physical site or data center
label: Site
icon: mingcute--building-4-line
default_filter: name__value
human_friendly_id:
- name__value
order_by:
- name__value
display_labels:
@@ -59,15 +62,16 @@ nodes:
optional: true
description: Facility identifier or code
# =============================================================================
# ==========================================================================
# Platform
# =============================================================================
# ==========================================================================
- name: Platform
namespace: Infra
description: Device platform/OS (e.g., Arista EOS, Cisco NX-OS)
label: Platform
icon: mdi--chip
default_filter: name__value
human_friendly_id:
- name__value
order_by:
- name__value
display_labels:
@@ -89,15 +93,16 @@ nodes:
optional: true
description: Netmiko device type
# =============================================================================
# ==========================================================================
# Device
# =============================================================================
# ==========================================================================
- name: Device
namespace: Infra
description: Network device (spine, leaf, etc.)
label: Device
icon: mdi--server-network
default_filter: name__value
human_friendly_id:
- name__value
order_by:
- name__value
display_labels:
@@ -166,9 +171,9 @@ nodes:
cardinality: one
optional: true
# =============================================================================
# ==========================================================================
# Interface Types (inherit from InfraInterface generic)
# =============================================================================
# ==========================================================================
- name: InterfaceEthernet
namespace: Infra
description: Physical Ethernet interface
@@ -176,7 +181,11 @@ nodes:
icon: mdi--ethernet
inherit_from:
- InfraInterface
default_filter: name__value
uniqueness_constraints:
- ["device", "name__value"]
human_friendly_id:
- device__name__value
- name__value
display_labels:
- name__value
attributes:
@@ -226,7 +235,11 @@ nodes:
icon: mdi--reload
inherit_from:
- InfraInterface
default_filter: name__value
uniqueness_constraints:
- ["device", "name__value"]
human_friendly_id:
- device__name__value
- name__value
display_labels:
- name__value
@@ -237,7 +250,11 @@ nodes:
icon: mdi--lan
inherit_from:
- InfraInterface
default_filter: name__value
uniqueness_constraints:
- ["device", "name__value"]
human_friendly_id:
- device__name__value
- name__value
display_labels:
- name__value
relationships:
@@ -253,7 +270,11 @@ nodes:
icon: mdi--link-variant
inherit_from:
- InfraInterface
default_filter: name__value
uniqueness_constraints:
- ["device", "name__value"]
human_friendly_id:
- device__name__value
- name__value
display_labels:
- name__value
attributes:
@@ -284,7 +305,11 @@ nodes:
icon: mdi--tunnel
inherit_from:
- InfraInterface
default_filter: name__value
uniqueness_constraints:
- ["device", "name__value"]
human_friendly_id:
- device__name__value
- name__value
display_labels:
- name__value
attributes:
@@ -297,15 +322,16 @@ nodes:
cardinality: one
description: VTEP source interface (typically Loopback1)
# =============================================================================
# ==========================================================================
# IP Address
# =============================================================================
# ==========================================================================
- name: IPAddress
namespace: Infra
description: IP Address assignment
label: IP Address
icon: mdi--ip-network
default_filter: address__value
human_friendly_id:
- address__value
order_by:
- address__value
display_labels: