Skip to content

Commit ccabf79

Browse files
authored
Add TOC and improve schema docs (#50)
* add toc * fix links * fix markdown * toc in table * vibe coding session end ;) * fix readme docs link
1 parent 5ee4805 commit ccabf79

File tree

57 files changed

+4278
-3618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+4278
-3618
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,9 @@ jobs:
171171
run: npm install
172172
- name: "Setup Python environment"
173173
run: "pip install invoke toml"
174+
- name: "Create schema docs"
175+
run: "invoke schemas.build"
176+
working-directory: ./
174177
- name: "Build docs website"
175178
run: "invoke docusaurus.docs"
176179

.metadata.yml

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
---
22
# yamllint disable rule:line-length
3-
base:
3+
base/dcim:
44
description:
5-
The base schemas serve as the foundation for every single schema extension
6-
you might want to use afterward. This one is mandatory and will unlock access
7-
to the extensions section.
8-
name: Base Schemas
5+
Basic DCIM schema to capture devices, racks, interfaces, and related information.
6+
name: DCIM
7+
base/ipam:
8+
description:
9+
Basic IPAM schema to capture IP addresses, subnets, and related information.
10+
name: IPAM
11+
base/location:
12+
description:
13+
Basic Location schema to capture locations, sites, and related information.
14+
name: Locations
15+
base/organization:
16+
description:
17+
Basic Organization schema to capture organizations, vendors, and related information.
18+
name: Organization
919
experimental/azure:
1020
attribution: "[Rowan Coleman](https://www.linkedin.com/in/rowan-coleman-6a147156/)"
1121
dependencies:
@@ -35,11 +45,30 @@ experimental/location_extended:
3545
This schema extension is the most detailed when it comes to location,
3646
you'll find all the layers you can think of.
3747
name: Location Extended
48+
experimental/modules_linecards:
49+
dependencies:
50+
- base
51+
- extensions/modules
52+
description:
53+
This schema extension allows you to capture Linecard related information
54+
like the version. You can insert the Linecard into a Dcim Physical Device
55+
and leverage the Linecard type model. The Linecard can accept PIC to help
56+
configure PORT information like breakout-capabilities and configurations.
57+
name: Modules Linecards
58+
experimental/modules_routing_engine:
59+
dependencies:
60+
- base
61+
- extensions/modules
62+
description:
63+
This schema extension allows you to capture Routing Engine related information
64+
like the version. You can insert the Routing Engine into a Dcim Physical Device
65+
and leverage the Routing Engine type model.
66+
name: Modules Routing Engine
3867
experimental/qos:
3968
dependencies:
4069
- base
4170
description: This schema extension contains models for Quality of Service (QoS)
42-
name: Quality of Service (QoS)
71+
name: QoS
4372
experimental/security:
4473
dependencies:
4574
- base
@@ -106,8 +135,8 @@ extensions/interface_breakout:
106135
- base
107136
description:
108137
This schema extension introduces relationships to support breakout interfaces,
109-
enabling you to document the breakdown of a physical interface into smaller physical interfaces.
110-
name: Interface Breakdown
138+
enabling you to document the breakout of a physical interface into smaller physical interfaces.
139+
name: Interface Breakout
111140
extensions/compute:
112141
dependencies:
113142
- base
@@ -166,36 +195,15 @@ extensions/modules:
166195
description: |
167196
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.
168197
169-
> [!NOTE]
170-
> This extension doesn't contain any Node, you can use the extension module_linecards or modules_routing_engine to use it
198+
NOTE: This extension doesn't contain any Nodes, you can use the extension module_linecards or modules_routing_engine to use it
171199
name: Modules
172-
extensions/modules_linecards:
173-
dependencies:
174-
- base
175-
- extensions/modules
176-
description:
177-
This schema extension allows you to capture Linecard related information
178-
like the version. You can insert the Linecard into a Dcim Physical Device and
179-
leverage the Linecard type model. The Linecard can accept PIC to help configure
180-
PORT information like breakout-capabilities and configurations.
181-
name: Linecards
182-
extensions/modules_routing_engine:
183-
dependencies:
184-
- base
185-
- extensions/modules
186-
description:
187-
This schema extension allows you to capture Routing Engine related
188-
information like the version. You can insert the Routing Engine into a Dcim Physical
189-
Device and leverage the Routing Engine type model.
190-
name: Routing Engine
191200
extensions/patch_panel:
192201
dependencies:
193202
- base
194203
description: |
195204
This schema extension allows you to capture patch panel related information like rear/front interfaces and mapping between them. You can insert the patch panel into a rack and leverage the device type model. Finally you can also capture information about potential modules you would insert into your patch panel.
196205
197-
> [!NOTE]
198-
> This extension is compatible with all sort of connectors, meaning you can plug cable, circuits, cross-connect to front & rear interfaces!
206+
NOTE: This extension is compatible with all sort of connectors, meaning you can plug cable, circuits, cross-connect to front & rear interfaces!
199207
name: Patch Panel
200208
extensions/peering_ixp:
201209
dependencies:
@@ -204,25 +212,22 @@ extensions/peering_ixp:
204212
- extensions/routing_bgp
205213
- extensions/routing_bgp_community
206214
description:
207-
This schema extension contains all you need to model anything revolving
208-
around internet peering (Exchange points ...)!
209-
name: Exchange Points (IXP)
215+
This schema extension contains all you need to model anything revolving around internet peering (Exchange points ...)!
216+
name: Peering IXP
210217
extensions/physical_disk:
211218
dependencies:
212219
- base
213220
description: |
214221
Simple schema allowing you to capture physical disks information for the sake of inventory and lifecycle management.
215222
216-
> [!NOTE]
217-
> 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.
218-
name: Physical Disks
223+
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.
224+
name: Physical Disk
219225
extensions/qinq:
220226
dependencies:
221227
- base
222228
- extensions/vlan
223229
description:
224-
This schema extension brings extensions to VLAN model in order to support
225-
QinQ.
230+
This schema extension brings extensions to VLAN model in order to support QinQ.
226231
name: QinQ
227232
extensions/routing:
228233
dependencies:
@@ -240,19 +245,19 @@ extensions/routing_aggregate:
240245
description:
241246
This schema extension contains all you need to model the Aggregate
242247
Routing Protocol.
243-
name: Aggregate
248+
name: Routing Aggregate
244249
extensions/routing_bgp:
245250
dependencies:
246251
- base
247252
- extensions/routing
248253
description: This schema extension contains all you need to model your BGP platform.
249-
name: BGP
254+
name: Routing BGP
250255
extensions/routing_bgp_community:
251256
dependencies:
252257
- base
253258
- extensions/routing
254259
description: This schema extension adds the BGP Communities models.
255-
name: BGP Communities
260+
name: Routing BGP Community
256261
extensions/routing_bgp_rr:
257262
dependencies:
258263
- base
@@ -261,28 +266,25 @@ extensions/routing_bgp_rr:
261266
description:
262267
This schema extension extend the BGP extension to add BGP Route Reflector
263268
Clustering.
264-
name: BGP Route Reflector
269+
name: Routing BGP RR
265270
extensions/routing_ospf:
266271
dependencies:
267272
- base
268273
- extensions/routing
269274
description:
270275
This schema extension contains all you need to model the OSPF Routing
271276
Protocol.
272-
name: OSPF
277+
name: Routing OSPF
273278
extensions/routing_pim:
274279
dependencies:
275280
- base
276281
- extensions/routing
277282
description: This schema extension contains all you need to model the PIM Protocol.
278-
name: PIM
283+
name: Routing PIM
279284
extensions/routing_policies:
280285
dependencies:
281286
- base
282-
description: |
283-
This schema extension contains a generic to create Routing Policies.
284-
285-
This Generic can be extend for each Routing Protocols you may want to use.
287+
description: This schema extension contains a generic to create Routing Policies. This Generic can be extend for each Routing Protocols you may want to use.
286288
name: Routing Policies
287289
extensions/routing_policies_aggregate:
288290
dependencies:
@@ -357,8 +359,8 @@ extensions/topology:
357359
extensions/users:
358360
dependencies:
359361
- base
360-
description: This schema extension contains models for Accounts management.
361-
name: Accounts Management
362+
description: This schema extension contains models for account management.
363+
name: Users
362364
extensions/vlan:
363365
dependencies:
364366
- base

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ Welcome to the Schema Library for Infrahub! This repository offers a collection
77
88
## Using the schema library
99

10-
Documentation for using the Schema Library is available [here](https://docs.infrahub.app/schema-library/schema-library/)
10+
Documentation for using the Schema Library is available in the [Schema Library docs](https://docs.infrahub.app/schema-library) site.

0 commit comments

Comments
 (0)