Data Model
microCMDB models a home network as a set of entities connected by mapping (join) types. The full entity-relationship diagram is available as a PDF.
Entities
| Entity | Tag prefix | Key fields |
|---|---|---|
| ConfigItem | CFG | Name, Description, PurchaseDate, DeployLoc |
| Node | NOD | Name, Modelname, OS_Version, CPU_Arch, RAM, Storage |
| Host | HST | Name, IPaddr |
| Service | SVC | Name, PortNum |
| Software | STW | Name, Version, Developer, LicenseType |
| NetworkUser | — | Username, Email, Firstname, Lastname |
| Publisher | — | Name |
| Developer | — | Name |
| Manufacturer | — | Name |
Every entity also carries the common fields defined on the base Entity type: Id, DbTag, Name, Description, CreatedDate, ModifiedDate.
Relationships
The join types live in microCMDB.CLI.Models.NavProps:
| Mapping | Connects | Cardinality |
|---|---|---|
| CINodeMapping | ConfigItem ↔ Node | one-to-one |
| NodeHostMapping | Node ↔ Host | one-to-one |
| HostServiceMapping | Host ↔ Service | one-to-many |
| SoftwareInstallation | Node ↔ Software | many-to-many |
| NetworkUserMapping | Node ↔ NetworkUser | many-to-many |
| SoftwarePublisherMapping | Software ↔ Publisher | many-to-many |
| SoftwareDeveloperMapping | Software ↔ Developer | many-to-many |
| HardwareManufacturerMapping | Node ↔ Manufacturer | many-to-many |
Conceptually: a ConfigItem (a physical asset) realises a Node (a logical machine), which is reachable as a Host (an address) exposing Services. A Node runs Software and grants access to NetworkUsers. Software has Publishers/Developers; hardware has Manufacturers.
CSV export format
The export command writes one CSV file per collection to the working directory. There is no header row — columns follow each type’s ExportObject() ordering.
| File | Contents |
|---|---|
cfgitems.csv | ConfigItems |
nod.csv | Nodes |
hst.csv | Hosts |
svc.csv | Services |
stw.csv | Software |
nus.csv | NetworkUsers |
cinmap.csv | CINodeMappings |
ndhmap.csv | NodeHostMappings |
hsvmap.csv | HostServiceMappings |
sinmap.csv | SoftwareInstallations |
nusmap.csv | NetworkUserMappings |
For example, a ConfigItem row is:
DbTag,Name,Description,CreatedDate,ModifiedDate,PurchaseDate,DeployLoc
Column-by-column schemas for every type are checked into the repository under docs/csv-schemas/.
Heads-up: the exporter currently appends to existing files and does not quote or escape values, so commas or newlines in free-text fields will corrupt a row. See Known Issues.