<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tenant on Deevnet Infrastructure Platform</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/</link><description>Recent content in Tenant on Deevnet Infrastructure Platform</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/index.xml" rel="self" type="application/rss+xml"/><item><title>Networking</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/networking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/networking/</guid><description>&lt;h1 id="tenant-networking">
 Tenant Networking
 &lt;a class="anchor" href="#tenant-networking">#&lt;/a>
&lt;/h1>
&lt;p>Defines the network isolation model for tenant workloads.&lt;/p>
&lt;hr>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>Tenant networking provides:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Isolation&lt;/strong> — Tenants cannot see each other&amp;rsquo;s traffic&lt;/li>
&lt;li>&lt;strong>Controlled access&lt;/strong> — Explicit rules for shared services&lt;/li>
&lt;li>&lt;strong>Scalability&lt;/strong> — New tenants get dedicated network segments&lt;/li>
&lt;li>&lt;strong>Security boundaries&lt;/strong> — Limit blast radius of compromised workloads&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="vlan-isolation-model">
 VLAN Isolation Model
 &lt;a class="anchor" href="#vlan-isolation-model">#&lt;/a>
&lt;/h2>
&lt;p>Each tenant receives a dedicated VLAN:&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Tenant&lt;/th>
 &lt;th>VLAN ID&lt;/th>
 &lt;th>Subnet&lt;/th>
 &lt;th>Purpose&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>grooveiq&lt;/code>&lt;/td>
 &lt;td>100&lt;/td>
 &lt;td>10.100.0.0/24&lt;/td>
 &lt;td>IoT backend services&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>vintronics&lt;/code>&lt;/td>
 &lt;td>101&lt;/td>
 &lt;td>10.101.0.0/24&lt;/td>
 &lt;td>Electronics projects&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>moneyrouter&lt;/code>&lt;/td>
 &lt;td>102&lt;/td>
 &lt;td>10.102.0.0/24&lt;/td>
 &lt;td>Financial tracking&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>VLAN IDs and subnets are assigned from a reserved range to avoid conflicts
with substrate segments (Management, Trusted, Storage, IoT, Guest).&lt;/p></description></item><item><title>Management</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/management/</guid><description>&lt;h1 id="tenant-management">
 Tenant Management
 &lt;a class="anchor" href="#tenant-management">#&lt;/a>
&lt;/h1>
&lt;p>Defines the lifecycle and operational model for tenant workloads.&lt;/p>
&lt;hr>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>Tenant management provides:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Lifecycle control&lt;/strong> — Create, update, and destroy tenant environments&lt;/li>
&lt;li>&lt;strong>Observability&lt;/strong> — Logs, metrics, and alerting scoped to tenants&lt;/li>
&lt;li>&lt;strong>Access control&lt;/strong> — Who can manage which tenants&lt;/li>
&lt;li>&lt;strong>Operational clarity&lt;/strong> — Clear boundaries between tenants&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="tenant-lifecycle">
 Tenant Lifecycle
 &lt;a class="anchor" href="#tenant-lifecycle">#&lt;/a>
&lt;/h2>
&lt;h3 id="create">
 Create
 &lt;a class="anchor" href="#create">#&lt;/a>
&lt;/h3>
&lt;p>Creating a new tenant involves:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Reserve VLAN and subnet&lt;/strong> — Allocate from tenant IP range&lt;/li>
&lt;li>&lt;strong>Configure network infrastructure&lt;/strong> — Add VLAN interface, DHCP scope, firewall zone&lt;/li>
&lt;li>&lt;strong>Provision tenant&lt;/strong> — Deploy VMs and DNS records via Terraform&lt;/li>
&lt;li>&lt;strong>Configure observability&lt;/strong> — Set up log/metric collection for tenant&lt;/li>
&lt;/ol>
&lt;h3 id="update">
 Update
 &lt;a class="anchor" href="#update">#&lt;/a>
&lt;/h3>
&lt;p>Updating a tenant may include:&lt;/p></description></item><item><title>Building</title><link>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/building/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/architecture/tenant/building/</guid><description>&lt;h1 id="tenant-building">
 Tenant Building
 &lt;a class="anchor" href="#tenant-building">#&lt;/a>
&lt;/h1>
&lt;p>Defines the provisioning model for tenant workloads.&lt;/p>
&lt;hr>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>Tenant building provides:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Declarative infrastructure&lt;/strong> — Define tenant environments as code&lt;/li>
&lt;li>&lt;strong>Reproducibility&lt;/strong> — Recreate tenant environments reliably&lt;/li>
&lt;li>&lt;strong>Drift detection&lt;/strong> — Identify manual changes&lt;/li>
&lt;li>&lt;strong>Lifecycle automation&lt;/strong> — Create, update, destroy via automation&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="terraform-first-approach">
 Terraform-First Approach
 &lt;a class="anchor" href="#terraform-first-approach">#&lt;/a>
&lt;/h2>
&lt;p>Unlike substrate infrastructure (automation-first), tenant workloads use &lt;strong>Terraform&lt;/strong>:&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Aspect&lt;/th>
 &lt;th>Substrate (Automation)&lt;/th>
 &lt;th>Tenant (Terraform)&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Change frequency&lt;/strong>&lt;/td>
 &lt;td>Rare, deliberate&lt;/td>
 &lt;td>Frequent, agile&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>State model&lt;/strong>&lt;/td>
 &lt;td>Procedural, idempotent&lt;/td>
 &lt;td>Declarative, stateful&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Drift detection&lt;/strong>&lt;/td>
 &lt;td>Manual verification&lt;/td>
 &lt;td>Built-in plan/apply&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Lifecycle&lt;/strong>&lt;/td>
 &lt;td>Configure existing&lt;/td>
 &lt;td>Create/destroy&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Use case&lt;/strong>&lt;/td>
 &lt;td>Infrastructure config&lt;/td>
 &lt;td>VM provisioning&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="why-terraform-for-tenants">
 Why Terraform for Tenants?
 &lt;a class="anchor" href="#why-terraform-for-tenants">#&lt;/a>
&lt;/h3>
&lt;ol>
&lt;li>&lt;strong>Declarative definitions&lt;/strong> — Define what should exist, not how to create it&lt;/li>
&lt;li>&lt;strong>State tracking&lt;/strong> — Know exactly what&amp;rsquo;s deployed&lt;/li>
&lt;li>&lt;strong>Plan before apply&lt;/strong> — Preview changes before execution&lt;/li>
&lt;li>&lt;strong>Destroy support&lt;/strong> — Clean up tenant resources completely&lt;/li>
&lt;li>&lt;strong>Proxmox provider&lt;/strong> — Native Terraform support for VM lifecycle&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="tenant-provisioning-workflow">
 Tenant Provisioning Workflow
 &lt;a class="anchor" href="#tenant-provisioning-workflow">#&lt;/a>
&lt;/h2>
&lt;h3 id="1-define-tenant-infrastructure">
 1. Define Tenant Infrastructure
 &lt;a class="anchor" href="#1-define-tenant-infrastructure">#&lt;/a>
&lt;/h3>
&lt;p>Create Terraform configuration for tenant VMs:&lt;/p></description></item></channel></rss>