73 lines
1.2 KiB
Text
73 lines
1.2 KiB
Text
# Items database
|
|
|
|
An approach to implement a cmdb on steroids as a bunch of linked objects.
|
|
|
|
It's about object schemas, types and typed links to describe the world as
|
|
dependency graph.
|
|
|
|
.A bunch of linked objects
|
|
ifdef::textdiagram[]
|
|
[plantuml, format=txt]
|
|
endif::[]
|
|
ifndef::textdiagram[]
|
|
[plantuml, format=svg]
|
|
endif::[]
|
|
|
|
----
|
|
@startuml
|
|
|
|
map SwitchType {
|
|
manufacturer => MikroTik
|
|
model => CRS12345
|
|
serial_number => 23468263876
|
|
}
|
|
|
|
map Switch {
|
|
switch_type *-> SwitchType
|
|
}
|
|
|
|
map SwitchPort {
|
|
switch *-> Switch
|
|
port_type => RJ45
|
|
port_speed => 1000
|
|
port_id => ge0/1/2/3
|
|
}
|
|
|
|
|
|
map NetworkAdapter {
|
|
mac addr => aa:bb:cc:dd:ee:ff
|
|
port_type => RJ45
|
|
}
|
|
|
|
map ServerType {
|
|
type => baremetal
|
|
serial_number => 1234567890
|
|
manufacturer => Thomas Krenn AG
|
|
model => Model Mini 2
|
|
}
|
|
|
|
map NetworkAdapterBMC {
|
|
mac addr => 12:34:56:78:90:ab
|
|
port_type => RJ45
|
|
port_speed => 1000
|
|
}
|
|
map BMC {
|
|
bmc_type => OpenBMC
|
|
network adapter *-> NetworkAdapterBMC
|
|
|
|
}
|
|
map Server {
|
|
network adapter *-> NetworkAdapter
|
|
server_type *-> ServerType
|
|
bmc *-> BMC
|
|
}
|
|
|
|
map Patchcable {
|
|
plug a *-> NetworkAdapter
|
|
plug b *-> SwitchPort
|
|
}
|
|
|
|
@enduml
|
|
----
|
|
|
|
This service provides an REST API for all interactions.
|