Value Objectives #
What the roadmap’s work is for. Each bar shows how many of an objective’s listed waypoints are done: it measures work finished, not the promise proven, and it falls when new waypoints are added. A waypoint that serves two objectives counts in both. Tenants’ own products, and upkeep that serves no objective, are not counted.
Legend: β Complete | π In Progress | β³ Planned
Fast tenant delivery #
A new tenant runs without touching the substrate.
Reached:
- β The boundary between tenants and the site’s infrastructure written as one specification Tenant Lifecycle 2026-11-01
- β Tenants admitted and removed, and their Wi-Fi keys rotated, by make targets on the build server Tenant Lifecycle 2026-09-29
- β A reference tenant a newcomer can copy Tenant Lifecycle 2026-09-27
- β Tenants log in to their own workloads and deploy their app (CHG-0028) Tenant Lifecycle 2026-09-27
- β The EVPN/VXLAN tenant network running on one hypervisor, with internet access through the perimeter Tenant Fabric 2026-09-17
- β The Deevnet API and its Terraform provider deployed; tenants built through them (CHG-0010) Tenant Lifecycle 2026-09-17
- β Tenants publish their own DNS names Tenant Fabric 2026-09-03
- β The first tenant built end to end from its own repository: code, internet access and DNS Tenant Lifecycle 2026-09-03
- β Tenant network architecture designed Tenant Fabric 2026-08-30
Product, not plumbing #
Every tenant gets the common services ready-made.
Reached:
- β Tenants can work from Windows laptops (CHG-0058) Tenant Platform Services 2026-11-07
- β Services for tenants reachable on port 443, by name (CHG-0046) Tenant Platform Services 2026-10-10
- β Fixed addresses for tenants’ devices (CHG-0044) Tenant Platform Services 2026-10-07
- β The first services for tenants: Wi-Fi keys, device registry, MQTT broker, logs, a dev network, dashboards, downloads Tenant Platform Services 2026-09-24
Still open:
- π More services for tenants: secrets, metrics, identity, object storage, quotas Tenant Platform Services
Contained failure #
One tenant cannot harm another, and leaves nothing behind.
Reached:
- β The core router confined to the tenant perimeter: one transit network and one route into the tenant overlay, nothing per tenant Tenant Fabric 2026-11-12
- β Removing a tenant also deletes its Terraform state and dashboards (CHG-0065) Tenant Removal 2026-11-12
- β Removing a tenant also deletes its log lines (CHG-0065) Tenant Removal 2026-11-12
- β Removing a tenant revokes its API token (CHG-0065) Tenant Removal 2026-11-12
- β Central logging: a log store, each tenant seeing its own logs, device logs over MQTT, and Grafana Observability 2026-09-24
- β The core router enforces a declared zone policy (CHG-0007) Network Automation 2026-09-19
Still open:
- β³ Network isolation between two tenants’ workloads tested Tenant Fabric
- β³ Unused access switch ports placed in a dead-end VLAN, so a device plugged into one reaches nothing Access Network
Rebuild from code #
Losing anything costs time, not the project.
Reached:
- β Recovery copies of the network’s configuration: the Wi-Fi controller and core router backed up after every change, where they survive losing the build server Extended Management Plane 2026-11-11
- β A tenant that lost the keys to its own state gets back in with a new key from the operator (CHG-0060) Tenant Lifecycle 2026-11-09
- β OpenBao’s keys made outside it and loaded from the site’s vault on every build, its access restricted and audited (CHG-0036) Secrets and Identity 2026-10-25
- β Nightly encrypted backups, one restore rehearsed (CHG-0039) Extended Management Plane 2026-10-07
- β Core router, access switch, DNS and DHCP configured from code, with 12 VLANs under a zone firewall policy Builder & Core Services 2026-03-26
- β Machines install themselves from the build server over PXE, BIOS and UEFI Builder & Core Services 2026-01-10
- β Build server requirements defined: hardware inventory, network layout and offline artifacts Builder & Core Services 2026-01-09
- β The build server provisions the site’s infrastructure from its own Ansible collection, images and offline package mirror Builder & Core Services 2025-12-31
- β The Omada Wi-Fi controller deployed from code on the build server Builder & Core Services 2025-12-07
Still open:
- π Hypervisors install unattended from a Proxmox ISO with an embedded answer file Builder & Core Services
- π The management hypervisor’s disk layout declared in inventory Hypervisor Storage
- β³ A tenant rebuilt from its own code in a drill Tenant Lifecycle
- β³ Network settings that exist only on the running router declared in code Declarative Reconciliation
- β³ The whole mobile site rebuilt from scratch, tenants brought back and gaps fixed Full Site Rebuild
- β³ Site rebuilds run on a schedule, each under a change record Full Site Rebuild
- β³ A hypervisor storage standard written: what goes on which disk, and what a disk failure may cost Hypervisor Storage
- β³ Both hypervisors brought to the storage standard Hypervisor Storage
- β³ Hypervisor guest definitions survive an OS reinstall Hypervisor Storage
- β³ OpenBao rebuilt from the site’s vault alone in a drill, nothing restored (ADR-0042 V12) Secrets and Identity
Works anywhere #
The factory needs no outside service, and what it builds keeps working elsewhere.
Reached:
- β The take-home Pi image in the tenant downloads, using Deevnet certificates by default or a starter kit for an owner’s own Tenant PKI 2026-11-08
- β The EdS tenant’s certificates reissued under a name not tied to a site (CHG-0055) Tenant PKI 2026-11-01
- β The first take-home Pi installed with Deevnet certificates, using a name not tied to a site (CHG-0056) Tenant PKI 2026-10-29
- β EdS’s home Pi uses Deevnet certificates, under names not tied to a site (EdS CHG-0042) Platform 2026-10-29
- β Tenant names not tied to a site, issued by the Deevnet API and Terraform provider (CHG-0054) Tenant PKI 2026-10-25
- β The Raspberry Pi image tenants take home kept current with its setup tool, deevnet-kit (CHG-0049β0051) Tenant PKI 2026-10-18
- β Deevnet’s own root and site certificate authorities created and kept offline (CHG-0033) TLS Cert Automation 2026-10-05
- β Hosts and DNS zones renamed to a scheme that includes the site’s code (CHG-0003) Builder & Core Services 2026-09-05
- β The build server provisions the site’s infrastructure from its own Ansible collection, images and offline package mirror Builder & Core Services 2025-12-31
Still open:
- π All of EdS’s back end on one Pi at home: in service, the change record awaiting its evidence (EdS ADR-0033, CHG-0028) Platform
- β³ The home site’s certificate authorities created under the Deevnet root Home Site
- β³ The home site’s network defined in inventory, with DNS and DHCP on its core router Home Site
- β³ Later at the home site: Kea for DHCP, and a hypervisor when a tenant needs one Home Site
- β³ The build server’s Wi-Fi onto the home network, decided in a change record (EdS ADR-0053) Builder Upkeep
- β³ A local song recognizer EdS’s turntable can ask in place of today’s outside service EdS Local Song Detection
- β³ GPS time server requirements defined: accuracy, antenna placement and alerting Stratum 1 NTP
- β³ Pi Zero and GPS module chosen and bought for the time server Stratum 1 NTP
- β³ GPS time server image built, with Chrony, telemetry and accuracy tests Stratum 1 NTP
- β³ GPS time server on the network, with clients using it Stratum 1 NTP
One operator #
Routine work takes little attention and little memory.
Reached:
- β Management plane architecture, deployment and troubleshooting documentation written Extended Management Plane 2026-11-11
- β A tenant that lost the keys to its own state gets back in with a new key from the operator (CHG-0060) Tenant Lifecycle 2026-11-09
- β Automation repositories’ syntax and docs build checked on every pull request Network Automation 2026-11-03
- β Tenants admitted and removed, and their Wi-Fi keys rotated, by make targets on the build server Tenant Lifecycle 2026-09-29
- β Builds take their secrets from OpenBao, none on disk (CHG-0026) Secrets and Identity 2026-09-25
- β Site management services grouped onto six VMs by domain (CHG-0008) Extended Management Plane 2026-09-16
- β Wi-Fi networks and the access point set by the Omada controller from inventory, through its API Network Automation 2026-09-15
- β Core router, access switch, DNS and DHCP configured from code, with 12 VLANs under a zone firewall policy Builder & Core Services 2026-03-26
- β Bare-metal inventory and standards documented on a Hugo docs site Builder & Core Services 2026-01-09
Still open:
- β³ Leftover DHCP reservations, DNS records and boot files from deleted hosts removed Declarative Reconciliation
- β³ Automation removes a host’s DHCP, DNS and boot entries when it leaves inventory Declarative Reconciliation
- β³ A labeled block of access switch ports for plugging in management devices Access Network
- β³ The core router’s (OPNsense) interface assignment automated Network Automation
- β³ Rerunning the access switch’s automation changes nothing unless something needs changing Network Automation
- β³ Automatic certificate renewal, expiry monitoring, and a clean new root once device certificates work TLS Cert Automation
Secure by default #
Doing the easy thing is doing the safe thing.
Reached:
- β OpenBao sealed by split-key (Shamir) shares, opened only for a work session (CHG-0053) Secrets and Identity 2026-11-08
- β The secret store itself refuses tenant certificates for a site’s or the platform’s own names (CHG-0059) Tenant PKI 2026-11-07
- β Every long-lived credential listed, with what it unlocks and what uses it Credential Rotation 2026-11-03
- β A stated policy for what counts as an exposed credential and what happens next Credential Rotation 2026-11-03
- β The first take-home Pi installed with Deevnet certificates, using a name not tied to a site (CHG-0056) Tenant PKI 2026-10-29
- β OpenBao’s keys made outside it and loaded from the site’s vault on every build, its access restricted and audited (CHG-0036) Secrets and Identity 2026-10-25
- β Tenant certificate authorities’ keys generated outside the OpenBao secrets manager (CHG-0036) TLS Cert Automation 2026-10-25
- β Tenants’ own services on Deevnet certificates (CHG-0047) Tenant PKI 2026-10-11
- β Exposed credentials rotated; every public repository scanned on push (CHG-0035) Credential Rotation 2026-10-06
- β Deevnet’s own root and site certificate authorities created and kept offline (CHG-0033) TLS Cert Automation 2026-10-05
- β Every machine the site builds trusts the Deevnet root certificate TLS Cert Automation 2026-10-05
- β Every infrastructure service and appliance on the site serves a Deevnet certificate, and its clients verify it TLS Cert Automation 2026-10-05
- β Builds take their secrets from OpenBao, none on disk (CHG-0026) Secrets and Identity 2026-09-25
- β OpenBao secrets manager deployed; the Deevnet API reads its credentials from it (CHG-0010) Secrets and Identity 2026-09-17
- β The site’s infrastructure secrets in Ansible Vault, guarded on every commit Secrets and Identity 2026-03-14
Still open:
- π Tenant VMs that trust only the retired root certificate replaced TLS Cert Automation
- β³ IoT devices issued their own certificates through the Deevnet API Tenant PKI
- β³ OpenBao rebuilt from the site’s vault alone in a drill, nothing restored (ADR-0042 V12) Secrets and Identity
- β³ Single sign-on and role-based access for infrastructure services Secrets and Identity
- β³ IoT devices get their own certificates through the Deevnet API and use them to log in to the MQTT broker TLS Cert Automation
- β³ Automatic certificate renewal, expiry monitoring, and a clean new root once device certificates work TLS Cert Automation
- β³ A written rotation procedure for each kind of credential, naming everything that must change with it Credential Rotation
- β³ Static credentials assessed for short lifetimes, and the ones that cannot be shortened recorded Credential Rotation
No surprises #
Problems and drift are found before they bite.
Reached:
- β The Software Catalog’s rows moved into a data file that reports can compare against Software Discovery 2026-11-03
- β Deevnet’s own software pinned to exact versions and licensed Software Discovery 2026-11-03
- β Central logging: a log store, each tenant seeing its own logs, device logs over MQTT, and Grafana Observability 2026-09-24
- β Each Wi-Fi network’s reach checked from a real client Extended Management Plane 2026-09-23
Still open:
- π Management plane requirements defined: retention, alerting, secrets access and identity Extended Management Plane
- π Automated checks that a finished build matches inventory, with a pass/fail report Extended Management Plane
- π Metrics collected from the site’s infrastructure hosts and shown on dashboards Observability
- β³ Replacement core router hardware chosen (the N100 Router Appliance is the candidate) Core Router Uplift
- β³ New core router built from code and swapped in, the old ZimaBoard kept to put back Core Router Uplift
- β³ New core router proven under a multi-gigabyte transfer and a full deploy Core Router Uplift
- β³ The core router hang incident (INC-0004) closed Core Router Uplift
- β³ Alerts on infrastructure problems, delivered to the operator Observability
- β³ A read-only report of live network state with no matching declaration Declarative Reconciliation
- β³ Installed versions collected from routers, hypervisors, VMs, network devices and Pis Software Discovery
- β³ A dated report of installed versus cataloged versions, run as part of build verification Software Discovery
- β³ Every cataloged product’s release and security advisory sources recorded and watched Patch Awareness
- β³ One feed of the new advisories and releases that need attention, delivered to the operator Patch Awareness