<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bootstrap Node on Deevnet Infrastructure Platform</title><link>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/</link><description>Recent content in Bootstrap Node on Deevnet Infrastructure Platform</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/index.xml" rel="self" type="application/rss+xml"/><item><title>Workstation Role</title><link>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/workstation-role/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/workstation-role/</guid><description>&lt;h1 id="workstation-role">
 Workstation Role
 &lt;a class="anchor" href="#workstation-role">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>The &lt;code>workstation&lt;/code> role configures a host as a &lt;strong>developer/admin workstation&lt;/strong> with users, development tools, and infrastructure automation tooling.&lt;/p>
&lt;hr>
&lt;h2 id="capabilities">
 Capabilities
 &lt;a class="anchor" href="#capabilities">#&lt;/a>
&lt;/h2>
&lt;h3 id="user-management">
 User Management
 &lt;a class="anchor" href="#user-management">#&lt;/a>
&lt;/h3>
&lt;ul>
&lt;li>Creates dev users with configurable primary/extra groups&lt;/li>
&lt;li>Fetches SSH public keys from GitHub&lt;/li>
&lt;li>Sets up home directories and shell preferences&lt;/li>
&lt;/ul>
&lt;h3 id="development-tools">
 Development Tools
 &lt;a class="anchor" href="#development-tools">#&lt;/a>
&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Category&lt;/th>
 &lt;th>Packages&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Core&lt;/strong>&lt;/td>
 &lt;td>git, vim, tmux, golang&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>ISO/Image&lt;/strong>&lt;/td>
 &lt;td>Tools for working with disk images&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>X11&lt;/strong>&lt;/td>
 &lt;td>Display support for GUI tools&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="hashicorp-tools">
 HashiCorp Tools
 &lt;a class="anchor" href="#hashicorp-tools">#&lt;/a>
&lt;/h3>
&lt;p>Configures the HashiCorp RPM repository and installs:&lt;/p></description></item><item><title>Artifacts Role</title><link>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/artifacts-role/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/artifacts-role/</guid><description>&lt;h1 id="artifacts-role">
 Artifacts Role
 &lt;a class="anchor" href="#artifacts-role">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>The artifacts server enables &lt;strong>air-gapped provisioning&lt;/strong> for substrate hosts. Target machines fetch all installation artifacts from the local server—no internet connectivity required during provisioning.&lt;/p>
&lt;p>Goals:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Air-gap capability&lt;/strong> — Substrate hosts install without upstream dependencies&lt;/li>
&lt;li>&lt;strong>Single source of truth&lt;/strong> — All provisioning artifacts in one location&lt;/li>
&lt;li>&lt;strong>Reproducibility&lt;/strong> — Known artifacts yield known outcomes&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="current-capabilities">
 Current Capabilities
 &lt;a class="anchor" href="#current-capabilities">#&lt;/a>
&lt;/h2>
&lt;p>The artifacts server provides:&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Artifact Type&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Kickstart files&lt;/strong>&lt;/td>
 &lt;td>OS installation automation scripts&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>PXE boot artifacts&lt;/strong>&lt;/td>
 &lt;td>Kernel, initrd, boot configuration&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Custom scripts&lt;/strong>&lt;/td>
 &lt;td>Post-install automation payloads&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>OS images&lt;/strong>&lt;/td>
 &lt;td>ISO images or extracted install trees&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Artifacts are served via HTTP at &lt;code>artifacts.&amp;lt;site&amp;gt;.deevnet.net&lt;/code>.&lt;/p></description></item><item><title>PXE Role</title><link>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/pxe-role/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/pxe-role/</guid><description>&lt;h1 id="pxe-role">
 PXE Role
 &lt;a class="anchor" href="#pxe-role">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>The PXE boot infrastructure enables &lt;strong>fully automated, zero-touch provisioning&lt;/strong> of bare-metal hosts. Hosts boot from the network, receive their OS installation automatically based on their MAC address, and require no human intervention.&lt;/p>
&lt;p>Goals:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Zero-touch&lt;/strong> — MAC-specific configs eliminate boot menus and manual selection&lt;/li>
&lt;li>&lt;strong>UEFI-native&lt;/strong> — Modern UEFI boot with network-enabled GRUB&lt;/li>
&lt;li>&lt;strong>Decoupled services&lt;/strong> — DHCP (Core Router) and TFTP (bootstrap node) are separate&lt;/li>
&lt;li>&lt;strong>Air-gap capable&lt;/strong> — All boot artifacts served from local infrastructure&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="use-cases">
 Use Cases
 &lt;a class="anchor" href="#use-cases">#&lt;/a>
&lt;/h2>
&lt;h3 id="primary-bare-metal-provisioning">
 Primary: Bare-Metal Provisioning
 &lt;a class="anchor" href="#primary-bare-metal-provisioning">#&lt;/a>
&lt;/h3>
&lt;p>PXE boot is the standard method for provisioning bare-metal hosts:&lt;/p></description></item><item><title>Network Controller Role</title><link>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/network-controller-role/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deevnet.github.io/deevnet-docs/docs/platforms/management-plane/bootstrap-node/network-controller-role/</guid><description>&lt;h1 id="network-controller-role">
 Network Controller Role
 &lt;a class="anchor" href="#network-controller-role">#&lt;/a>
&lt;/h1>
&lt;h2 id="purpose">
 Purpose
 &lt;a class="anchor" href="#purpose">#&lt;/a>
&lt;/h2>
&lt;p>The network controller role deploys &lt;strong>centralized management software&lt;/strong> for switches and access points as Podman containers managed by systemd.&lt;/p>
&lt;hr>
&lt;h2 id="controllers">
 Controllers
 &lt;a class="anchor" href="#controllers">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Site&lt;/th>
 &lt;th>Controller&lt;/th>
 &lt;th>Managed Devices&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>dvntm&lt;/strong>&lt;/td>
 &lt;td>TP-Link Omada SDN&lt;/td>
 &lt;td>SG2218 switch, EAP650-Outdoor AP&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>dvnt&lt;/strong>&lt;/td>
 &lt;td>Ubiquiti UniFi Network&lt;/td>
 &lt;td>USW-24-G2, US-8 switches, UAP-AC-M APs&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Both controllers run on the bootstrap node because they must be available for initial network configuration before VLANs exist.&lt;/p></description></item></channel></rss>