Initial commit: bootstrap monorepo NetMapper
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# Domain Model
|
||||
|
||||
## Entitਨ principali
|
||||
|
||||
### Object
|
||||
Rappresenta qualsiasi entitਨ mappabile.
|
||||
|
||||
Campi iniziali:
|
||||
- `id`
|
||||
- `name`
|
||||
- `slug`
|
||||
- `type` (`site`, `area`, `rack`, `physical_host`, `vm`, `lxc`, `app`, `switch`, `firewall`, `router`, `ap`, `camera`, `storage`, `other`)
|
||||
- `status`
|
||||
- `vendor`
|
||||
- `model`
|
||||
- `serial`
|
||||
- `os_name`
|
||||
- `os_version`
|
||||
- `notes`
|
||||
|
||||
### ObjectRelation
|
||||
Relazione tra due oggetti.
|
||||
|
||||
Campi iniziali:
|
||||
- `id`
|
||||
- `source_object_id`
|
||||
- `target_object_id`
|
||||
- `relation_type` (`contains`, `hosts`, `connected_to`, `depends_on`, `managed_by`, `runs`)
|
||||
- `confidence`
|
||||
- `source_type` (`manual`, `nmap`, `snmp`, `lldp`, `arp`, `api`)
|
||||
|
||||
### NetworkInterface
|
||||
Interfaccia di rete collegata a un oggetto.
|
||||
|
||||
Campi iniziali:
|
||||
- `id`
|
||||
- `object_id`
|
||||
- `name`
|
||||
- `mac_address`
|
||||
- `mtu`
|
||||
- `speed`
|
||||
- `admin_state`
|
||||
- `oper_state`
|
||||
- `description`
|
||||
|
||||
### IPAddress
|
||||
Indirizzo IP associato a un oggetto o a un'interfaccia.
|
||||
|
||||
Campi iniziali:
|
||||
- `id`
|
||||
- `address`
|
||||
- `version`
|
||||
- `prefix_length`
|
||||
- `hostname`
|
||||
- `dns_name`
|
||||
- `status`
|
||||
- `object_id`
|
||||
- `interface_id`
|
||||
- `is_primary`
|
||||
- `source_type`
|
||||
|
||||
### DiscoveryJob
|
||||
Esecuzione di un task di discovery.
|
||||
|
||||
Campi iniziali:
|
||||
- `id`
|
||||
- `job_type`
|
||||
- `scope`
|
||||
- `status`
|
||||
- `started_at`
|
||||
- `finished_at`
|
||||
- `requested_by`
|
||||
- `parameters_json`
|
||||
- `result_summary`
|
||||
|
||||
### Evidence
|
||||
Dato grezzo o semi-normalizzato raccolto da una sorgente.
|
||||
|
||||
Campi iniziali:
|
||||
- `id`
|
||||
- `source_type`
|
||||
- `object_hint`
|
||||
- `payload_json`
|
||||
- `observed_at`
|
||||
- `fingerprint`
|
||||
|
||||
## Nota di progettazione
|
||||
|
||||
Separare oggetti, relazioni e evidenze consente di distinguere ciò che il sistema ha osservato da ciò che il sistema ha consolidato nel modello finale.
|
||||
Reference in New Issue
Block a user