Add network schema for devices, interfaces, VLANs, VRFs, BGP configurations, MLAG, EVPN, VXLAN, routing policies, and DCI connections

- Created device schema with attributes for hostname, role, platform, and management IP.
- Added interface schema with various types, MTU, speed, and switchport modes.
- Introduced VLAN and VRF schemas with relationships to devices and interfaces.
- Implemented BGP configuration, peer groups, and neighbors with detailed attributes.
- Established MLAG domain and interface schemas for multi-chassis link aggregation.
- Developed EVPN and VXLAN schemas for overlay networking.
- Created routing policy schemas including route maps and prefix lists.
- Added DCI switch and connection schemas for inter-datacenter connectivity.
This commit is contained in:
darnodo
2025-11-12 11:32:26 +01:00
parent 61a792df52
commit d93a9e5c29
15 changed files with 3085 additions and 7 deletions

View File

@@ -0,0 +1,111 @@
# yaml-language-server: $schema=https://schema.infrahub.app/infrahub/schema/latest.json
---
version: "1.0"
nodes:
- name: Organization
namespace: Core
label: "Organization"
icon: "mdi:domain"
include_in_menu: true
human_friendly_id: ["name__value"]
display_label: "{{ record.name__value }}"
order_by:
- name__value
attributes:
- name: name
kind: Text
unique: true
optional: false
description: "Organization name"
- name: description
kind: Text
optional: true
description: "Organization description"
- name: asn_base
kind: Number
optional: false
default_value: 65000
description: "Base ASN for BGP allocation (e.g., 65000)"
relationships:
- name: sites
peer: LocationSite
optional: true
cardinality: many
kind: Generic
description: "Sites belonging to this organization"
- name: ip_namespaces
peer: IpamNamespace
optional: true
cardinality: many
kind: Generic
description: "IP namespaces managed by this organization"
- name: Site
namespace: Location
label: "Site"
icon: "mdi:office-building"
include_in_menu: true
menu_placement: "CoreOrganization"
human_friendly_id: ["name__value"]
display_label: "{{ record.name__value }}"
order_by:
- name__value
attributes:
- name: name
kind: Text
unique: true
optional: false
description: "Site name (e.g., Paris-DC)"
- name: description
kind: Text
optional: true
description: "Site description"
- name: location
kind: Text
optional: true
description: "Physical location (e.g., Paris, France)"
- name: facility_id
kind: Text
optional: true
description: "Facility identifier"
- name: status
kind: Dropdown
optional: false
default_value: "active"
choices:
- name: active
label: Active
description: Site is operational
color: "#7fbf7f"
- name: planned
label: Planned
description: Site is being planned
color: "#ffd966"
- name: maintenance
label: Maintenance
description: Site under maintenance
color: "#ff9999"
- name: decommissioned
label: Decommissioned
description: Site decommissioned
color: "#cccccc"
relationships:
- name: organization
peer: CoreOrganization
optional: false
cardinality: one
kind: Attribute
description: "Parent organization"
- name: datacenters
peer: InfraDatacenter
optional: true
cardinality: many
kind: Generic
description: "Datacenters at this site"
- name: parent_prefix
peer: IpamIPPrefix
optional: true
cardinality: one
kind: Attribute
description: "Parent IP prefix for this site"