<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>📏 Standards on Deevnet Infrastructure Platform</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/</link><description>Recent content in 📏 Standards on Deevnet Infrastructure Platform</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deevnet.github.io/deevnet-docs/docs/standards/index.xml" rel="self" type="application/rss+xml"/><item><title>Correctness</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/correctness/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/correctness/</guid><description>&lt;h1 id="deevnet-infrastructure-correctness">
 Deevnet Infrastructure Correctness
 &lt;a class="anchor" href="#deevnet-infrastructure-correctness">#&lt;/a>
&lt;/h1>
&lt;h3 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h3>
&lt;p>This document defines what it means for &lt;strong>Deevnet infrastructure to be correct&lt;/strong>.&lt;/p>
&lt;p>Correctness is not defined by whether something “works once,” but whether it:&lt;/p>
&lt;ul>
&lt;li>is deterministic,&lt;/li>
&lt;li>is reproducible,&lt;/li>
&lt;li>respects separation of concerns,&lt;/li>
&lt;li>and remains understandable months later.&lt;/li>
&lt;/ul>
&lt;p>This document captures the &lt;strong>intent, principles, and invariants&lt;/strong> of Deevnet infrastructure design.&lt;/p>
&lt;hr>
&lt;h2 id="1-foundational-principles">
 1. Foundational Principles
 &lt;a class="anchor" href="#1-foundational-principles">#&lt;/a>
&lt;/h2>
&lt;h3 id="11-determinism-over-convenience">
 1.1 Determinism Over Convenience
 &lt;a class="anchor" href="#11-determinism-over-convenience">#&lt;/a>
&lt;/h3>
&lt;p>Infrastructure behavior MUST be deterministic.&lt;/p></description></item><item><title>Naming</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/naming/</guid><description>&lt;h1 id="deevnet-naming-standard">
 Deevnet Naming Standard
 &lt;a class="anchor" href="#deevnet-naming-standard">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>This document defines the canonical naming conventions for the Deevnet ecosystem. The goal is to ensure that names are:&lt;/p>
&lt;ul>
&lt;li>Deterministic (predictable, repeatable)&lt;/li>
&lt;li>Scalable (works as the lab grows)&lt;/li>
&lt;li>Readable (humans can understand intent quickly)&lt;/li>
&lt;li>Environment-safe (dvnt vs dvntm is always explicit)&lt;/li>
&lt;li>Service-oriented (service names are stable even if hosts move)&lt;/li>
&lt;/ul>
&lt;p>This naming standard applies to:&lt;/p>
&lt;ul>
&lt;li>DNS zones and hostnames&lt;/li>
&lt;li>Service endpoints (artifacts, PXE, DNS, etc.)&lt;/li>
&lt;li>Tenants (logical workload namespaces)&lt;/li>
&lt;li>Inventory naming (host identifiers)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="1-definitions">
 1. Definitions
 &lt;a class="anchor" href="#1-definitions">#&lt;/a>
&lt;/h2>
&lt;h3 id="site">
 Site
 &lt;a class="anchor" href="#site">#&lt;/a>
&lt;/h3>
&lt;p>A site is a self-contained infrastructure boundary that hosts systems and workloads.&lt;/p></description></item><item><title>Secure Identity</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/secure-identity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/secure-identity/</guid><description>&lt;h1 id="deevnet-secure-identity-standard">
 Deevnet Secure Identity Standard
 &lt;a class="anchor" href="#deevnet-secure-identity-standard">#&lt;/a>
&lt;/h1>
&lt;h3 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h3>
&lt;p>This document defines what it means for &lt;strong>Deevnet client access to be secure&lt;/strong>.&lt;/p>
&lt;p>Secure identity is not defined by whether you can “SSH in,” but whether access:&lt;/p>
&lt;ul>
&lt;li>minimizes secret exposure,&lt;/li>
&lt;li>is reproducible across devices and OSes,&lt;/li>
&lt;li>supports least privilege and revocation,&lt;/li>
&lt;li>and avoids habits that don’t scale beyond a lab.&lt;/li>
&lt;/ul>
&lt;p>This document captures the &lt;strong>intent, principles, and invariants&lt;/strong> of secure client identity and access in Deevnet.&lt;/p></description></item><item><title>Identity vs Intent</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/identity-vs-intent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/identity-vs-intent/</guid><description>&lt;h1 id="identity-vs-intent-in-deevnet">
 Identity vs Intent in Deevnet
 &lt;a class="anchor" href="#identity-vs-intent-in-deevnet">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>This document explains how &lt;strong>identity&lt;/strong> and &lt;strong>intent&lt;/strong> are deliberately separated in the Deevnet infrastructure model.&lt;/p>
&lt;p>The goal of this separation is to ensure that:&lt;/p>
&lt;ul>
&lt;li>Hosts can change purpose without renaming&lt;/li>
&lt;li>Workloads can move without rewriting inventory&lt;/li>
&lt;li>Configuration intent can be preserved, detached, and reused&lt;/li>
&lt;li>Infrastructure history is not lost when systems are repurposed&lt;/li>
&lt;li>Inventory remains truthful over time&lt;/li>
&lt;/ul>
&lt;p>This document complements the &lt;a href="../naming/">Naming Standard&lt;/a> and focuses specifically on how inventory and configuration are modeled in Deevnet.&lt;/p></description></item><item><title>MAC Address Format</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/mac-address-format/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/mac-address-format/</guid><description>&lt;h1 id="mac-address-format-standard">
 MAC Address Format Standard
 &lt;a class="anchor" href="#mac-address-format-standard">#&lt;/a>
&lt;/h1>
&lt;h2 id="rule">
 Rule
 &lt;a class="anchor" href="#rule">#&lt;/a>
&lt;/h2>
&lt;p>All MAC addresses in Deevnet inventory and configuration MUST use:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>lowercase&lt;/strong> hex digits (a-f, not A-F)&lt;/li>
&lt;li>&lt;strong>Colon separators&lt;/strong> (&lt;code>:&lt;/code>, not &lt;code>-&lt;/code>)&lt;/li>
&lt;/ul>
&lt;h2 id="examples">
 Examples
 &lt;a class="anchor" href="#examples">#&lt;/a>
&lt;/h2>
&lt;p>&lt;strong>Correct:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">mac&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;bc:24:11:2e:26:4e&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">mac&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;dc:a6:32:c3:b4:bc&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Incorrect:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">mac&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;BC:24:11:2E:26:4E&amp;#34;&lt;/span> &lt;span style="color:#75715e"># uppercase&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">mac&lt;/span>: &lt;span style="color:#e6db74">&amp;#34;bc-24-11-2e-26-4e&amp;#34;&lt;/span> &lt;span style="color:#75715e"># dashes&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="rationale">
 Rationale
 &lt;a class="anchor" href="#rationale">#&lt;/a>
&lt;/h2>
&lt;p>Deevnet uses lowercase to match Unix tooling conventions:&lt;/p>
&lt;ul>
&lt;li>&lt;code>ifconfig&lt;/code>, &lt;code>ip link&lt;/code>, and most Linux utilities display MAC addresses in lowercase&lt;/li>
&lt;li>Copy-paste from system output works without transformation&lt;/li>
&lt;li>Consistent with what operators see when troubleshooting&lt;/li>
&lt;/ul>
&lt;p>IEEE 802 and RFC 7042 documentation examples use uppercase, but this is a
documentation convention rather than a technical requirement. We prioritize
practical alignment with the Unix ecosystem over formal documentation style.&lt;/p></description></item><item><title>MAC Namespace Specification</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/mac-naming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/mac-naming/</guid><description>&lt;h1 id="mac-namespace-specification">
 MAC Namespace Specification
 &lt;a class="anchor" href="#mac-namespace-specification">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>This document defines the &lt;strong>deterministic MAC address strategy&lt;/strong> used across the
Deevnet platform, with a primary focus on &lt;strong>management-plane workloads&lt;/strong>.&lt;/p>
&lt;p>Deterministic MAC addressing enables:&lt;/p>
&lt;ul>
&lt;li>Stable DHCP reservations&lt;/li>
&lt;li>Predictable IP assignments&lt;/li>
&lt;li>Reproducible VM rebuilds&lt;/li>
&lt;li>Clear mapping between identity layers&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>&lt;strong>Formatting&lt;/strong>: All MAC addresses must follow the formatting rules in the
&lt;a href="../mac-address-format/">MAC Address Format Standard&lt;/a> (lowercase hex, colon
separators).&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="guiding-principles">
 Guiding Principles
 &lt;a class="anchor" href="#guiding-principles">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>MAC addresses are &lt;strong>generated outside the hypervisor&lt;/strong>&lt;/li>
&lt;li>MACs are &lt;strong>explicitly defined in inventory/code&lt;/strong>&lt;/li>
&lt;li>Hypervisors must never auto-generate identity&lt;/li>
&lt;li>Identity must survive VM destruction and recreation&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="scope">
 Scope
 &lt;a class="anchor" href="#scope">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Workload Type&lt;/th>
 &lt;th>Policy&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Management Plane&lt;/strong>&lt;/td>
 &lt;td>Mandatory deterministic MACs&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Tenant Workloads&lt;/strong>&lt;/td>
 &lt;td>Optional, future-controlled&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Ephemeral/Test VMs&lt;/strong>&lt;/td>
 &lt;td>May use auto-generated MACs&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>This specification applies &lt;strong>primarily to the management plane&lt;/strong>.&lt;/p></description></item><item><title>Network Segmentation</title><link>https://deevnet.github.io/deevnet-docs/docs/standards/network-segmentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/standards/network-segmentation/</guid><description>&lt;h1 id="network-segmentation">
 Network Segmentation
 &lt;a class="anchor" href="#network-segmentation">#&lt;/a>
&lt;/h1>
&lt;p>Defines mandatory requirements for network segmentation in Deevnet sites.&lt;/p>
&lt;hr>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>This standard establishes rules for how sites implement network segmentation. It complements the &lt;a href="https://deevnet.github.io/deevnet-docs/docs/architecture/substrate/networking/">Substrate Networking&lt;/a> architecture document, which describes the segment model and design rationale.&lt;/p>
&lt;hr>
&lt;h2 id="definitions">
 Definitions
 &lt;a class="anchor" href="#definitions">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Term&lt;/th>
 &lt;th>Definition&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Segment&lt;/strong>&lt;/td>
 &lt;td>An isolated broadcast domain (VLAN) with controlled routing to other segments&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Trust boundary&lt;/strong>&lt;/td>
 &lt;td>The point where traffic policy changes between segments&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Inter-segment traffic&lt;/strong>&lt;/td>
 &lt;td>Network communication that crosses segment boundaries&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Segment authority&lt;/strong>&lt;/td>
 &lt;td>The system responsible for segment routing and policy (core router in production)&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="segment-requirements">
 Segment Requirements
 &lt;a class="anchor" href="#segment-requirements">#&lt;/a>
&lt;/h2>
&lt;h3 id="1-management-segment">
 1. Management Segment
 &lt;a class="anchor" href="#1-management-segment">#&lt;/a>
&lt;/h3>
&lt;p>The management segment contains infrastructure management plane systems.&lt;/p></description></item></channel></rss>