<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Naming and DNS on Deevnet IoTaaS</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/</link><description>Recent content in Naming and DNS on Deevnet IoTaaS</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/index.xml" rel="self" type="application/rss+xml"/><item><title>ADR-0008: Host Naming and Site Codes</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/0008-host-naming-site-codes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/0008-host-naming-site-codes/</guid><description>&lt;h1 id="adr-0008-host-naming-and-site-codes">
 ADR-0008: Host Naming and Site Codes
 &lt;a class="anchor" href="#adr-0008-host-naming-and-site-codes">#&lt;/a>
&lt;/h1>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>&lt;/th>
 &lt;th>&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Status&lt;/strong>&lt;/td>
 &lt;td>Accepted&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Date&lt;/strong>&lt;/td>
 &lt;td>2026-09-04&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Accepted&lt;/strong>&lt;/td>
 &lt;td>2026-09-05&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Scope&lt;/strong>&lt;/td>
 &lt;td>How a host is named, and how a site is identified in that name and in DNS&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Related&lt;/strong>&lt;/td>
 &lt;td>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-networking/0002-tenant-fabric-numbering/">ADR-0002: Tenant Fabric Numbering&lt;/a> — the site octet this record&amp;rsquo;s site codes sit alongside&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="context">
 Context
 &lt;a class="anchor" href="#context">#&lt;/a>
&lt;/h2>
&lt;p>Only the mobile site has hosts. Its names — &lt;code>hv01&lt;/code>, &lt;code>core-rt01&lt;/code>, &lt;code>provisioner-ph01&lt;/code> — are scoped to
their site by inventory boundary alone, and the home site&amp;rsquo;s shell would reuse every one of them.&lt;/p></description></item><item><title>ADR-0005: Tenant Zone Apex Ownership</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/0005-tenant-zone-apex-ownership/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/0005-tenant-zone-apex-ownership/</guid><description>&lt;h1 id="adr-0005-tenant-zone-apex-ownership">
 ADR-0005: Tenant Zone Apex Ownership
 &lt;a class="anchor" href="#adr-0005-tenant-zone-apex-ownership">#&lt;/a>
&lt;/h1>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>&lt;/th>
 &lt;th>&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Status&lt;/strong>&lt;/td>
 &lt;td>Accepted&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Date&lt;/strong>&lt;/td>
 &lt;td>2026-09-03&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Scope&lt;/strong>&lt;/td>
 &lt;td>Who owns the SOA and apex NS records inside a delegated tenant zone&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Extends&lt;/strong>&lt;/td>
 &lt;td>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/naming-and-dns/0004-tenant-dns-publication/">ADR-0004: Tenant DNS Publication&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="context">
 Context
 &lt;a class="anchor" href="#context">#&lt;/a>
&lt;/h2>
&lt;p>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/naming-and-dns/0004-tenant-dns-publication/">ADR-0004&lt;/a> drew a clean line: the
substrate creates the zone and issues the TSIG key, and the tenant writes the records inside it.
&lt;em>Substrate provides the machine; tenants provide the content.&lt;/em>&lt;/p>
&lt;p>Building it exposed a category the line does not cover. A zone&amp;rsquo;s &lt;strong>apex&lt;/strong> — its SOA, and the NS
records naming the servers authoritative for it — is made of records, which puts it on the tenant
side of that table. But it is created by &lt;code>pdnsutil create-zone&lt;/code>, which is a substrate act, and it
describes the zone&amp;rsquo;s own existence rather than anything the tenant runs. It is neither the machine
nor the content.&lt;/p></description></item><item><title>ADR-0004: Tenant DNS Publication</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/0004-tenant-dns-publication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/architecture/decisions/naming-and-dns/0004-tenant-dns-publication/</guid><description>&lt;h1 id="adr-0004-tenant-dns-publication">
 ADR-0004: Tenant DNS Publication
 &lt;a class="anchor" href="#adr-0004-tenant-dns-publication">#&lt;/a>
&lt;/h1>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>&lt;/th>
 &lt;th>&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Status&lt;/strong>&lt;/td>
 &lt;td>Accepted&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Date&lt;/strong>&lt;/td>
 &lt;td>2026-09-01&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Scope&lt;/strong>&lt;/td>
 &lt;td>How a tenant&amp;rsquo;s own DNS records reach the resolver substrate clients use&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Depends on&lt;/strong>&lt;/td>
 &lt;td>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-networking/0001-tenant-network-fabric/">ADR-0001: Tenant Network Fabric&lt;/a>, 
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-networking/0002-tenant-fabric-numbering/">ADR-0002: Tenant Fabric Numbering&lt;/a>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Extended by&lt;/strong>&lt;/td>
 &lt;td>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/naming-and-dns/0005-tenant-zone-apex-ownership/">ADR-0005: Tenant Zone Apex Ownership&lt;/a> — the zone apex, which §4 does not assign&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Extended by&lt;/strong>&lt;/td>
 &lt;td>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-model/0006-tenant-code-boundary/">ADR-0006: Tenant Code Boundary&lt;/a> — where the tenant&amp;rsquo;s code lives, which §5 does not say&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Extended by&lt;/strong>&lt;/td>
 &lt;td>
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-model/0010-tenants-consume-platform-services/">ADR-0010: Tenants Consume Platform Services&lt;/a> — §5&amp;rsquo;s line as a rule for every platform service, not only DNS&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="context">
 Context
 &lt;a class="anchor" href="#context">#&lt;/a>
&lt;/h2>
&lt;p>Seam 2 of 
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-networking/0001-tenant-network-fabric/">ADR-0001&lt;/a> splits addressing
from naming: IPAM belongs to the fabric, while DNS is &lt;strong>tenant-owned but published to the substrate
zone&lt;/strong>. With 
 &lt;a href="https://deevnet.github.io/deevnet-docs/deevnet-docs/docs/architecture/decisions/tenant-networking/0003-tenant-egress-single-member-fabric/">ADR-0003&lt;/a>
closing egress, this is the last part of the tenant contract still undecided.&lt;/p></description></item></channel></rss>