Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
20fea1a
feat: draft for schema library v2
BaptisteGi Jun 19, 2026
44a06b9
feat: consolidate version 2 in base/extensions
BaptisteGi Jun 22, 2026
de60bcf
chore: remove temp folder
BaptisteGi Jun 22, 2026
955e23f
feat: add temp invoke command
BaptisteGi Jun 22, 2026
1be54f2
fix: remove IP range reference
BaptisteGi Jun 22, 2026
009d0dd
fix: yaml lint error
BaptisteGi Jun 22, 2026
fd30895
fix: cleanup relationship and comment namespace
BaptisteGi Jun 23, 2026
a751711
chore: cleanup DWDM
BaptisteGi Jun 23, 2026
bbd501c
add vrf to demo schema
BaptisteGi Jun 23, 2026
ab2df5a
fix schema demo command
BaptisteGi Jun 23, 2026
58af5a2
fix: Various cleanup and improvements
BaptisteGi Jul 7, 2026
b77d474
fix: align relationships between route target and VRF
BaptisteGi Jul 24, 2026
95a9ab8
fix: align relationship identifier
BaptisteGi Jul 24, 2026
74b7ba2
feat: add disclaimer text
BaptisteGi Jul 24, 2026
48e3a4b
feat: complete refactor of device module
BaptisteGi Aug 4, 2026
706fffa
chore: patch panel can now use regular device modules
BaptisteGi Aug 4, 2026
8581d2a
chore: move policer to experimental
BaptisteGi Aug 4, 2026
9a5d2a4
chore: remove empty folder
BaptisteGi Aug 4, 2026
737ba66
feat: allow linking IXP to BGP sessions
BaptisteGi Aug 4, 2026
98a730f
feat: add position to module bay
BaptisteGi Aug 4, 2026
53e22bf
fix: adjust identifier and peer for relationships
BaptisteGi Aug 4, 2026
bd84178
fix: improve snmp extension
BaptisteGi Aug 4, 2026
e869b2a
chore: get rid of old enum
BaptisteGi Aug 4, 2026
8eae840
chore: use proper validator for number
BaptisteGi Aug 4, 2026
21e4649
feat: new tenancy schema
BaptisteGi Aug 4, 2026
e62d937
docs: cleanup and regenerate doc
BaptisteGi Aug 4, 2026
4eb6626
fix: change relationship kind
BaptisteGi Aug 5, 2026
6ba3e6b
chore: format all extensions schema
BaptisteGi Aug 5, 2026
d2b05dc
chore: format all base schema
BaptisteGi Aug 5, 2026
893be13
linting
BaptisteGi Aug 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 48 additions & 20 deletions .metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ experimental/infiniband:
experimental/optical_transport:
dependencies:
- base
- extensions/modules
- extensions/device_module
- extensions/cable
description: >
Comprehensive optical transport network schemas for DWDM/WDM systems (ADVA FSP 3000 and similar
Expand All @@ -61,7 +61,7 @@ experimental/location_extended:
experimental/modules_linecards:
dependencies:
- base
- extensions/modules
- extensions/device_module
description:
This schema extension allows you to capture Linecard related information
like the version. You can insert the Linecard into a Dcim Physical Device and
Expand All @@ -71,7 +71,7 @@ experimental/modules_linecards:
experimental/modules_routing_engine:
dependencies:
- base
- extensions/modules
- extensions/device_module
description:
This schema extension allows you to capture Routing Engine related
information like the version. You can insert the Routing Engine into a Dcim Physical
Expand All @@ -87,14 +87,6 @@ experimental/security:
- base
description: This schema extension contains models for implementing detailed security.
name: Security
experimental/tenancy:
dependencies:
- base
- extensions/circuit
description:
This schema extension introduces tenancy for some of the schema nodes
(circuits...)
name: Tenancy
experimental/topology:
dependencies:
- base
Expand All @@ -109,6 +101,14 @@ experimental/vlan-translation:
This schema extension is based on Juniper VLAN MAP, and not yet test
out for other vendors.
name: VLAN Translation
extensions/aggregate:
dependencies:
- base
description:
This schema extension contains models to capture IP aggregates assigned by
a Regional Internet Registry (RIR). It introduces an Aggregate node (top-level IPv4/IPv6
prefix) and an RIR node (registry or private entity managing address space).
name: Aggregate
extensions/cable:
dependencies:
- base
Expand Down Expand Up @@ -163,7 +163,7 @@ extensions/dwdm:
channel number but via the wavelength and/or the frequency. This model provides
a unique entry in Infrahub for those.
name: DWDM
extensions/firewall_policer:
experimental/firewall_policer:
dependencies:
- base
description:
Expand Down Expand Up @@ -203,6 +203,14 @@ extensions/location_minimal:
This schema extension is minimal but will provide you with basic items
to store location related data.
name: Location Minimal
extensions/location_site:
dependencies:
- base
description: >-
This schema extension introduces a standalone Location.Site node (with facility,
physical address, timezone, and status). It defines the same Site node as
extensions/location_minimal, so load one or the other, not both.
name: Location Site
extensions/mlag:
dependencies:
- base
Expand All @@ -219,14 +227,21 @@ extensions/mlag:
- Add support for layer 3 overlay for MLAG interfaces (loopback, peer address ...)
- Create virtual relationship so MLAG interfaces can be seen on the devices in the domain
name: MLAG
extensions/modules:
extensions/device_module:
dependencies:
- base
description: |
This schema extension allows you to capture Device Modules related information like the serial number or the status. You can insert the Module into a Dcim Physical Device.
This schema extension lets you capture module bays on a Dcim Physical Device and the modules installed into them (e.g. fan trays, line cards). A device can have any number of module bays, and each bay can optionally hold one module.

NOTE: This extension doesn't contain any Nodes, you can use the extension module_linecards or modules_routing_engine to use it
name: Modules
NOTE: This extension ships a standard Module/ModuleType node pair ready to use, alongside the generic Module/ModuleType you can build your own flavors on top of (see the device_psu_module, modules_linecards, or modules_routing_engine extensions).
name: Device Modules
extensions/device_psu_module:
dependencies:
- base
- extensions/device_module
description: |
This schema extension adds a PSU (Power Supply Unit) flavor on top of the generic Module/ModuleType from extensions/device_module, so you can track power supplies installed in a device's module bays alongside PSU-specific attributes like wattage and hot-swap capability.
name: Device PSU Module
extensions/patch_panel:
dependencies:
- base
Expand All @@ -241,6 +256,8 @@ extensions/peering_ixp:
- extensions/routing
- extensions/routing_bgp
- extensions/routing_bgp_community
- extensions/routing_policies
- extensions/routing_policies_bgp
description:
This schema extension contains all you need to model anything revolving
around internet peering (Exchange points ...)!
Expand All @@ -253,6 +270,15 @@ extensions/physical_disk:

NOTE: This extension is compatible with all sort of device. You can apply the generic "DeviceWithPhysicalDisks" to particular model to enable disks tracking. You might also link that schema to location for instance to capture spares.
name: Physical Disk
extensions/rack:
dependencies:
- base
- extensions/location_minimal
description:
This schema extension introduces a Rack model representing a physical equipment
rack installed at a site. Racks can be placed at a LocationSite and can host devices
and other equipment.
name: Rack
extensions/qinq:
dependencies:
- base
Expand Down Expand Up @@ -383,13 +409,15 @@ extensions/snmp:
Clients. As you can see this extension is not linked to Tenancy or Device, as
you could decide to link the Community to different models based on your use case.
name: SNMP
extensions/topology:
extensions/tenancy:
dependencies:
- base
description:
This schema extension introduces abstract network pods and services
running in the pods, such as MPLS and EVPN.
name: Topology
This schema extension introduces a Tenant node that can own devices, IP
prefixes/addresses, and hosting locations. See the comment at the bottom of
`tenancy.yml` for an example of how to extend tenancy onto optional extension
nodes such as `DcimCircuit`.
name: Tenancy
extensions/users:
dependencies:
- base
Expand Down
Loading
Loading