mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Add mermaid flowcharts showing rough data model dependencies
This commit is contained in:
@ -50,38 +50,86 @@ When starting with a completely empty database, it might not be immediately clea
|
|||||||
|
|
||||||
Below is the (rough) recommended order in which NetBox objects should be created or imported. While it is not required to follow this exact order, doing so will help ensure the smoothest workflow.
|
Below is the (rough) recommended order in which NetBox objects should be created or imported. While it is not required to follow this exact order, doing so will help ensure the smoothest workflow.
|
||||||
|
|
||||||
<!-- TODO: Replace this with a dependency graph -->
|
1. Tenant groups and tenants
|
||||||
|
2. Regions, site groups, sites, and locations
|
||||||
|
3. Rack roles and racks
|
||||||
|
4. Manufacturers, device types, and module types
|
||||||
|
5. Platforms and device roles
|
||||||
|
6. Devices and modules
|
||||||
|
7. Providers and provider networks
|
||||||
|
8. Circuit types and circuits
|
||||||
|
9. Wireless LAN groups and wireless LANs
|
||||||
|
10. Route targets and VRFs
|
||||||
|
11. RIRs and aggregates
|
||||||
|
12. IP/VLAN roles
|
||||||
|
13. Prefixes, IP ranges, and IP addresses
|
||||||
|
14. VLAN groups and VLANs
|
||||||
|
15. Cluster types, cluster groups, and clusters
|
||||||
|
16. Virtual machines and VM interfaces
|
||||||
|
|
||||||
1. Tenant groups
|
This is not a comprehensive list, but should suffice for the initial data imports. Beyond these, it the order in which objects are added doesn't have much if any impact.
|
||||||
2. Tenants
|
|
||||||
3. Regions and/or site groups
|
The graphs below illustrate some of the core dependencies among different models in NetBox for your reference.
|
||||||
4. Sites
|
|
||||||
5. Locations
|
!!! note "Self-Nesting Models"
|
||||||
6. Rack roles
|
Each model in the graphs below which show a looping arrow pointing back to itself can be nested in a recursive hierarchy. For example, you can have regions representing both countries and cities, with the latter nested underneath the former.
|
||||||
7. Racks
|
|
||||||
8. Platforms
|
### Tenancy
|
||||||
9. Manufacturers
|
|
||||||
10. Device types
|
```mermaid
|
||||||
11. Module types
|
flowchart TD
|
||||||
12. Device roles
|
TenantGroup --> TenantGroup
|
||||||
13. Devices
|
TenantGroup --> Tenant
|
||||||
14. Providers
|
Tenant --> Site & Device & Prefix & VLAN & ...
|
||||||
15. Provider networks
|
```
|
||||||
16. Circuit types
|
|
||||||
17. Circuits
|
### Sites, Racks, and Devices
|
||||||
18. Wireless LAN groups
|
|
||||||
19. Wireless LANs & links
|
```mermaid
|
||||||
20. Route targets
|
flowchart TD
|
||||||
21. VRFs
|
Region --> Region
|
||||||
22. RIRs
|
SiteGroup --> SiteGroup
|
||||||
23. Aggregates
|
DeviceRole & Platform --> Device
|
||||||
24. IP/VLAN roles
|
Region & SiteGroup --> Site
|
||||||
25. Prefixes
|
Site --> Location & Device
|
||||||
26. IP ranges & addresses
|
Location --> Location
|
||||||
27. VLAN groups
|
Location --> Rack & Device
|
||||||
28. VLANs
|
Rack --> Device
|
||||||
29. Services
|
Manufacturer --> DeviceType & ModuleType
|
||||||
30. Clusters
|
DeviceType --> Device
|
||||||
31. Virtual machines
|
Device & ModuleType ---> Module
|
||||||
32. VM interfaces
|
Device & Module --> Interface
|
||||||
33. L2 VPNs
|
```
|
||||||
|
|
||||||
|
### VRFs, Prefixes, IP Addresses, and VLANs
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
VLANGroup --> VLAN
|
||||||
|
Role --> VLAN & IPRange & Prefix
|
||||||
|
RIR --> Aggregate
|
||||||
|
RouteTarget --> VRF
|
||||||
|
Aggregate & VRF --> Prefix
|
||||||
|
VRF --> IPRange & IPAddress
|
||||||
|
Prefix --> VLAN & IPRange & IPAddress
|
||||||
|
```
|
||||||
|
|
||||||
|
### Circuits
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
Provider & CircuitType --> Circuit
|
||||||
|
Provider --> ProviderNetwork
|
||||||
|
Circuit --> CircuitTermination
|
||||||
|
```
|
||||||
|
|
||||||
|
### Clusters and Virtual Machines
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
ClusterGroup & ClusterType --> Cluster
|
||||||
|
Cluster --> VirtualMachine
|
||||||
|
Site --> Cluster & VirtualMachine
|
||||||
|
Device & Platform --> VirtualMachine
|
||||||
|
VirtualMachine --> VMInterface
|
||||||
|
```
|
||||||
|
@ -53,7 +53,11 @@ markdown_extensions:
|
|||||||
- pymdownx.emoji:
|
- pymdownx.emoji:
|
||||||
emoji_index: !!python/name:materialx.emoji.twemoji
|
emoji_index: !!python/name:materialx.emoji.twemoji
|
||||||
emoji_generator: !!python/name:materialx.emoji.to_svg
|
emoji_generator: !!python/name:materialx.emoji.to_svg
|
||||||
- pymdownx.superfences
|
- pymdownx.superfences:
|
||||||
|
custom_fences:
|
||||||
|
- name: mermaid
|
||||||
|
class: mermaid
|
||||||
|
format: !!python/name:pymdownx.superfences.fence_code_format
|
||||||
- pymdownx.tabbed:
|
- pymdownx.tabbed:
|
||||||
alternate_style: true
|
alternate_style: true
|
||||||
nav:
|
nav:
|
||||||
|
Reference in New Issue
Block a user