Source-of-truth authoring audit¶
Danbyte is the source of truth (SoT) for network state. Some objects, though, only ever appear because a sync or automation created them β there is no way for an operator to author them by hand. That is fine for genuinely observed data (a DHCP lease, a config-drift record) but a defect when the object is something a human should be able to declare first.
This page is the running inventory of what can be authored manually vs. what is sync/automation-only, so the gap is visible and gets closed deliberately rather than by accident. Update it whenever an object gains or loses a manual create path.
Legend¶
- Manual create / edit / delete β an operator can do it from the React UI (a create button, form, or dialog), backed by a write API.
- API create β the DRF endpoint accepts
POST(some viewsets areget/patch-only, or 405create()on purpose). - By sync β the object is minted by a sync/automation engine
(
dhcp_sync,dns_sync,virt_sync, drift ingest, deploy dispatch). - Verdict β β authorable Β· π‘ partial Β· π΄ sync-only gap Β· βοΈ sync-only by design (observed/event data, not meant to be authored).
Integrations objects¶
| Object | Manual create | Edit | Delete | API create | By sync | Verdict |
|---|---|---|---|---|---|---|
| Windows server connection | β | β | β | β | β | β |
| Virtualization source (vCenter/Proxmox) | β | β | β | β | β | β |
| Webhook | β | β | β | β | β | β |
| Automation target | β | β | β | β | β | β |
| DHCP reservation | β | β | β | β (pushes to Windows) | β (mirror) | β |
| DNS record | β (managed) | β (managed) | β (managed) | β | β (mirror) | β |
| DHCP scope | β (pushes to Windows) | π‘ (lease_sync toggle) |
β (removes on server) | β | β | β |
| DNS zone | β (managed, local) | π‘ (sync/auto_create) |
β (managed only) | β | β | β |
| DHCP exclusion | π΄ | π΄ | π΄ | π΄ (no viewset) | β | π΄ |
| Virtual network | π΄ | π΄ | π΄ | π΄ (get only) |
β | π΄ |
| Virtual disk | π΄ | π΄ | π΄ | π΄ (no viewset) | β | π΄ |
| DHCP lease | π΄ | π΄ | π΄ | π΄ (get only) |
β | βοΈ (ephemeral, observed) |
| VirtGuest (hypervisorβVM link) | π΄ | π΄ | π΄ | π΄ (no viewset) | β | βοΈ (internal linkage) |
| Deploy run | π΄ | β | β | π΄ (retry action only) |
β | βοΈ (job record) |
| DNS drift | π΄ | β | β | π΄ (resolve action only) |
β | βοΈ (review inbox) |
| Virt change | π΄ | β | β | π΄ (accept/ignore only) |
β | βοΈ (review inbox) |
| Device config state / snapshot | π΄ | β | β | π΄ (drift-ingest endpoint) | β | βοΈ (observed) |
| NetBox import run | β (start import) | β | β | β (function view) | β | β |
| Integration settings | n/a (singleton) | β
(PUT) |
n/a | β | auto | β |
VirtGuest vs. Virtual machine
The Virtual machine object an operator creates in the UI is
api.VirtualMachine β the SoT VM, fully authorable. integrations.VirtGuest
is the observed hypervisor guest the virtualization sync records and links
to it; that linkage is sync-owned by design.
Closed¶
- DHCP scope β β
done. Authorable from Add scope (and the inline
+ in the reservation dialog); create runs
Add-DhcpServerv4Scopeon the server and delete removes it there.DhcpScopeViewSetnow doesget/post/patch/delete. - DNS zone β β
done. Authorable from Add zone as a Danbyte-owned
managedzone (stored locally, never pruned by sync; pushing to the DNS server is a later phase). Only managed zones are deletable.
Remaining gaps (π΄), in priority order¶
- Virtual network β read-only mirror of hypervisor port groups / bridges. Its VLAN mapping can only come from sync. Revisit if operators need to pre-declare networks.
- DHCP exclusion β no API or UI at all; only the sync creates them. An operator can't carve an exclusion by hand. Niche but a genuine hole.
- Virtual disk β display-only under a VM, though the data model allows operator-added disks. Add create/edit/delete when VM disk authoring is wanted.
Not gaps (βοΈ sync-only by design)¶
DHCP leases (ephemeral), VirtGuest linkage rows, and the job/review records (deploy runs, DNS drift, virt changes, device config snapshots) are observed or event data. They are created by the system on purpose and have action-only write paths (retry, resolve, accept) rather than a manual create β that is correct, not a defect.
See also¶
- Windows DHCP & DNS sync β the DHCP/DNS sync engines.
- Prefix CRUD β includes bulk Add pool.