ADR Index #
Every architecture decision record, newest first.
| ADR | Status | Description |
|---|---|---|
| ADR-0038 | Accepted | Tenants Update Their Own Devices, Through Services They Already Have |
| ADR-0037 | Accepted | A Tenant Service CA Issues Server Certificates for Names in a Tenant’s Own Zone |
| ADR-0036 | Accepted | Tenant-Facing Services Answer on 443, Through a Proxy on Each Service VM |
| ADR-0035 | Accepted | A Fixed Address for a Tenant’s Device |
| ADR-0034 | Accepted | Tenants Deliver Their Own Code, and Deliver It Again |
| ADR-0033 | Proposed | Code Is the State, for the Substrate and for Every Tenant |
| ADR-0032 | Accepted | Every Edge Device Belongs to a Tenant |
| ADR-0031 | Accepted | An Offline Deevnet Root, Offline Site CAs, and Separate Substrate and Tenant Device Identity |
| ADR-0030 | Accepted | An Offline Site Root, an OpenBao Intermediate, and Certificates Laid Down by the Build |
| ADR-0029 | Accepted | One Key per Tenant on the Tenant Developer Network, Issued at Admission |
| ADR-0028 | Accepted | A Tenant Logs In to Its Own Workloads With Its Own Key |
| ADR-0027 | Proposed | The Log Store Is for Tenants Only, and Device Logs Arrive Over MQTT |
| ADR-0026 | Proposed | The State Store Becomes Object Storage, Defined by a Contract, With State and Tenant Buckets as Two Classes |
| ADR-0025 | Proposed | Keycloak Is the Identity Provider, With a Realm per Tenant and the Rebuild Path Kept Clear of It |
| ADR-0024 | Accepted | Dashboards Are Grafana, One Organization per Tenant, Declared as Code |
| ADR-0023 | Proposed | Metrics Are Pulled From Management, Stored Beside the Logs, and Alerted On Per Tenant |
| ADR-0022 | Accepted | One Central Log Store on Platform, Partitioned by Tenant |
| ADR-0021 | Proposed | Tenants Keep Runtime Secrets in Their Own OpenBao Namespace |
| ADR-0020 | Accepted | Direct Device Access to Tenant Services |
| ADR-0019 | Accepted | Tenant Layer 2 at the Access Edge |
| ADR-0018 | Accepted | Operator Access to Tenant Workloads |
| ADR-0017 | Superseded | How Tenant Code Reaches a Tenant Workload |
| ADR-0016 | Accepted | The Substrate Keeps Its Runtime Secrets in OpenBao |
| ADR-0015 | Accepted | Tenants Are Built Through the Deevnet API |
| ADR-0014 | Superseded | Tenant State Is Kept Data, Copied Away From What It Restores |
| ADR-0013 | Accepted | Management-Hypervisor Services Run as Containers on Domain VMs |
| ADR-0012 | Accepted | IoT Platform Services Through a Deevnet API and Terraform Provider |
| ADR-0011 | Accepted | Edge Devices Are Application-Owned and Platform-Attached |
| ADR-0010 | Accepted | Tenants Consume Platform Services; They Are Not Woven Into the Substrate |
| ADR-0009 | Accepted | Network Device Configuration Is Inventory-Owned and Controller-Applied |
| ADR-0008 | Accepted | Host Naming and Site Codes |
| ADR-0007 | Accepted | Terraform State Custody |
| ADR-0006 | Accepted | Tenant Code Boundary |
| ADR-0005 | Accepted | Tenant Zone Apex Ownership |
| ADR-0004 | Accepted | Tenant DNS Publication |
| ADR-0003 | Accepted | Tenant Egress on a Single-Member Fabric |
| ADR-0002 | Accepted | Tenant Fabric Numbering |
| ADR-0001 | Accepted | Tenant Network Fabric |