Update README.html.
authorMatt Birkholz <matt@birchwood-abbey.net>
Tue, 3 Sep 2024 14:53:25 +0000 (08:53 -0600)
committerMatt Birkholz <matt@birchwood-abbey.net>
Tue, 3 Sep 2024 14:53:25 +0000 (08:53 -0600)
README.html

index 2ec978082147ad974b92133d2d98d91b4d220f98..e7eabb9072a5ef8d6b70ed7167fb25d585bdc93d 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2024-05-08 Wed 14:38 -->
+<!-- 2024-09-03 Tue 08:46 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Birchwood Abbey Networks</title>
@@ -64,7 +64,7 @@ map is very similar, with differences mainly in terminology,
 philosophy, attitude.
 </p>
 
-<pre class="example" id="org6cd3100">
+<pre class="example" id="org666ada7">
                 |                                                   
                 =                                                   
               _|||_                                                 
@@ -108,11 +108,7 @@ philosophy, attitude.
 <div class="outline-text-2" id="text-2">
 <p>
 The abbey's public particulars are included below.  They are the
-public particulars of a small institute, nothing more.  As for the
-abbey's private parameters, in <q>private/vars-abbey.yml</q>, example lines
-(only! ;-) are included in the following chapters.  An example of the
-abbey's private institutional parameters, <q>private/vars.yml</q>, can be
-found in <a href="Institute/private/vars.yml"><q>Institute/private/vars.yml</q></a>.
+public particulars of a small institute, nothing more.
 </p>
 
 <div class="org-src-container">
@@ -124,6 +120,18 @@ full_name: Birchwood Abbey
 front_addr: 159.65.75.60
 </pre>
 </div>
+
+<p>
+The abbey's private institutional parameters are in
+<q>private/vars.yml</q>.  Example lines can be found in
+<a href="Institute/private/vars.yml"><q>Institute/private/vars.yml</q></a>.
+</p>
+
+<p>
+The abbey's private liturgical parameters are in
+<q>private/vars-abbey.yml</q>.  Example lines are included here and tangled
+into <a href="private_ex/vars-abbey.yml"><q>private_ex/vars-abbey.yml</q></a>.
+</p>
 </div>
 </div>
 <div id="outline-container-orgf21aecc" class="outline-2">
@@ -136,8 +144,8 @@ with Apache2, spooling email with Postfix and serving it with
 Dovecot-IMAPd, and hosting a VPN with OpenVPN.
 </p>
 </div>
-<div id="outline-container-org5fad937" class="outline-3">
-<h3 id="org5fad937"><span class="section-number-3">3.1.</span> Install Emacs</h3>
+<div id="outline-container-orgbdc000c" class="outline-3">
+<h3 id="orgbdc000c"><span class="section-number-3">3.1.</span> Install Emacs</h3>
 <div class="outline-text-3" id="text-3-1">
 <p>
 The monks of the abbey are masters of the staff (bo) and Emacs.
@@ -549,7 +557,7 @@ rest of the Let's Encrypt configuration is discussed in the following
         &lt;&lt;apache-gitweb&gt;&gt;
 
         IncludeOptional /etc/letsencrypt/options-ssl-apache.conf
-    dest: /etc/apache2/sites-available/{{ domain_name }}-vhost.conf
+    dest: /etc/apache2/sites-available/birchwood-abbey.net-vhost.conf
   notify: Restart Apache2.
 
 &lt;&lt;apache-gitweb-tasks&gt;&gt;
@@ -703,7 +711,7 @@ certificate is a terminal session affair (with prompts and lines
 entered as shown below).
 </p>
 
-<pre class="example" id="org251b0c7">
+<pre class="example" id="org39bc164">
 $ sudo apt install python3-certbot-apache
 $ sudo certbot --apache -d birchwood-abbey.net
 ...
@@ -922,8 +930,8 @@ with Postfix and Dovecot, and providing essential localnet services:
 NTP, DNS and DHCP.
 </p>
 </div>
-<div id="outline-container-org51ebdb0" class="outline-3">
-<h3 id="org51ebdb0"><span class="section-number-3">4.1.</span> Include Abbey Variables</h3>
+<div id="outline-container-orgf7f2984" class="outline-3">
+<h3 id="orgf7f2984"><span class="section-number-3">4.1.</span> Include Abbey Variables</h3>
 <div class="outline-text-3" id="text-4-1">
 <p>
 In this abbey specific document, most abbey particulars are not
@@ -1121,8 +1129,8 @@ The abbey uses the Apt-Cacher:TNG package cache on Core.  The
 </div>
 </div>
 </div>
-<div id="outline-container-orga2bd985" class="outline-3">
-<h3 id="orga2bd985"><span class="section-number-3">4.8.</span> Use Cloister Apt Cache</h3>
+<div id="outline-container-org1a716c3" class="outline-3">
+<h3 id="org1a716c3"><span class="section-number-3">4.8.</span> Use Cloister Apt Cache</h3>
 <div class="outline-text-3" id="text-4-8">
 <p>
 Core itself will benefit from using the package cache.
@@ -1135,7 +1143,7 @@ Core itself will benefit from using the package cache.
   copy:
     content: &gt;
       Acquire::http::Proxy
-      <span class="org-string">"http://apt-cacher.{{ domain_priv }}.:3142"</span>;
+      <span class="org-string">"http://apt-cacher.birchwood.private.:3142"</span>;
     dest: /etc/apt/apt.conf.d/01proxy
     <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
 </pre>
@@ -1294,8 +1302,8 @@ recognizable temperature in the <code>sensors</code> output.
 <h3 id="org362dff5"><span class="section-number-3">4.12.</span> Monitoring The Cloister</h3>
 <div class="outline-text-3" id="text-4-12">
 <p>
-The abbey adds monitoring for more servers: Kamino, Kessel and
-Devaron.  They are <code>abbey-cloister</code> servers, so they are configured as
+The abbey adds monitoring for more servers: Kamino, Kessel, and Ord
+Mantell.  They are <code>abbey-cloister</code> servers, so they are configured as
 small institute <code>campus</code> servers, like Gate, with an NRPE (a NAGIOS
 Remote Plugin Executor) server and an <code>inst_sensors</code> command.
 </p>
@@ -1304,7 +1312,7 @@ Remote Plugin Executor) server and an <code>inst_sensors</code> command.
 The configurations for the servers are very similar to Gate's, but are
 idiosyncratically in flux.  In particular, Kamino does not irritate
 <code>check_total_procs</code>, yet Kessel does.  Both are Pop!_OS 22.04, but
-Kessel is a wireless host while Kamino is wired.  Devaron, the
+Kessel is a wireless host while Kamino is wired.  Ord Mantell, the
 Raspberry Pi OS (ARM64) machine, uses the <code>abbey_pisensors</code> monitor.
 </p>
 </div>
@@ -1318,9 +1326,10 @@ included in <q>private/vars-abbey.yml</q>.
 </p>
 
 <div class="org-src-container">
-<a href="private/vars-abbey.yml"><q>private/vars-abbey.yml</q></a><pre class="src src-conf">devaron_addr:               10.84.138.10
+<a href="private_ex/vars-abbey.yml"><q>private_ex/vars-abbey.yml</q></a><pre class="src src-conf">---
 kamino_addr:                192.168.56.14
 kessel_addr:                10.84.138.8
+ord_mantell_addr:           10.84.138.10
 </pre>
 </div>
 </div>
@@ -1341,60 +1350,60 @@ rarely powered up.
   template:
     src: nagios-{{ item }}.cfg
     dest: /etc/nagios4/conf.d/{{ item }}.cfg
-  loop: [ devaron, kessel ]
+  loop: [ ord-mantell, kessel ]
   notify: Reload NAGIOS4.
 </pre>
 </div>
 </div>
 </div>
-<div id="outline-container-org2e4fb52" class="outline-4">
-<h4 id="org2e4fb52"><span class="section-number-4">4.12.3.</span> NAGIOS Monitoring of Devaron</h4>
+<div id="outline-container-org50c82d2" class="outline-4">
+<h4 id="org50c82d2"><span class="section-number-4">4.12.3.</span> NAGIOS Monitoring of Ord-Mantell</h4>
 <div class="outline-text-4" id="text-4-12-3">
 <div class="org-src-container">
-<a href="roles_t/abbey-core/templates/nagios-devaron.cfg"><q>roles_t/abbey-core/templates/nagios-devaron.cfg</q></a><pre class="src src-conf"><span class="org-type">define host</span> {
+<a href="roles_t/abbey-core/templates/nagios-ord-mantell.cfg"><q>roles_t/abbey-core/templates/nagios-ord-mantell.cfg</q></a><pre class="src src-conf"><span class="org-type">define host</span> {
     use                     linux-server
-    host_name               devaron
-    address                 {{ devaron_addr }}
+    host_name               ord-mantell
+    address                 {{ ord_mantell_addr }}
 }
 
 <span class="org-type">define service</span> {
     use                     generic-service
-    host_name               devaron
+    host_name               ord-mantell
     service_description     Root Partition
     check_command           check_nrpe!inst_root
 }
 
 <span class="org-comment-delimiter"># </span><span class="org-comment">define service {</span>
 <span class="org-comment-delimiter">#     </span><span class="org-comment">use                     generic-service</span>
-<span class="org-comment-delimiter">#     </span><span class="org-comment">host_name               devaron</span>
+<span class="org-comment-delimiter">#     </span><span class="org-comment">host_name               ord-mantell</span>
 <span class="org-comment-delimiter">#     </span><span class="org-comment">service_description     Current Load</span>
 <span class="org-comment-delimiter">#     </span><span class="org-comment">check_command           check_nrpe!check_load</span>
 <span class="org-comment-delimiter"># </span><span class="org-comment">}</span>
 
 <span class="org-type">define service</span> {
     use                     generic-service
-    host_name               devaron
+    host_name               ord-mantell
     service_description     Zombie Processes
     check_command           check_nrpe!check_zombie_procs
 }
 
 <span class="org-comment-delimiter"># </span><span class="org-comment">define service {</span>
 <span class="org-comment-delimiter">#     </span><span class="org-comment">use                     generic-service</span>
-<span class="org-comment-delimiter">#     </span><span class="org-comment">host_name               devaron</span>
+<span class="org-comment-delimiter">#     </span><span class="org-comment">host_name               ord-mantell</span>
 <span class="org-comment-delimiter">#     </span><span class="org-comment">service_description     Total Processes</span>
 <span class="org-comment-delimiter">#     </span><span class="org-comment">check_command           check_nrpe!check_total_procs</span>
 <span class="org-comment-delimiter"># </span><span class="org-comment">}</span>
 
 <span class="org-type">define service</span> {
     use                     generic-service
-    host_name               devaron
+    host_name               ord-mantell
     service_description     Swap Usage
     check_command           check_nrpe!inst_swap
 }
 
 <span class="org-type">define service</span> {
     use                     generic-service
-    host_name               devaron
+    host_name               ord-mantell
     service_description     Temperature Sensors
     check_command           check_nrpe!abbey_pisensors
 }
@@ -1513,10 +1522,99 @@ rarely powered up.
 </div>
 </div>
 </div>
-<div id="outline-container-orga9351cb" class="outline-3">
-<h3 id="orga9351cb"><span class="section-number-3">4.13.</span> Install Analog</h3>
+<div id="outline-container-org6e1d8e8" class="outline-3">
+<h3 id="org6e1d8e8"><span class="section-number-3">4.13.</span> Install Munin</h3>
 <div class="outline-text-3" id="text-4-13">
 <p>
+The abbey is experimenting with Munin.  NAGIOS is all about notifying
+the Sys. Admin. of failed services.  Munin is more about tracking
+trends in resource usage.
+</p>
+
+<div class="org-src-container">
+<a href="roles_t/abbey-core/tasks/main.yml"><q>roles_t/abbey-core/tasks/main.yml</q></a><pre class="src src-conf">
+- name: Install Munin.
+  become: yes
+  apt:
+    pkg: munin
+
+- name: Add {{ ansible_user }} to Munin group.
+  become: yes
+  user:
+    name: <span class="org-string">"{{ ansible_user }}"</span>
+    append: yes
+    groups: munin
+
+- name: Enable network access to Munin.
+  become: yes
+  lineinfile:
+    path: /etc/munin/apache24.conf
+    regexp: <span class="org-string">'([^#]*)Require'</span>
+    line: <span class="org-string">'\1Require all granted'</span>
+    backrefs: yes
+  notify: Restart Apache2.
+
+- name: Punt default Munin node.
+  become: yes
+  replace:
+    path: /etc/munin/munin.conf
+    regexp: <span class="org-string">'^\[localhost.*\n\n'</span>
+
+- name: Configure actual Munin nodes.
+  become: yes
+  copy:
+    content: |
+      [<span class="org-type">dantooine.birchwood.private</span>]
+          address 127.0.0.1
+
+      [<span class="org-type">anoat.birchwood.private</span>]
+          address {{ gate_addr }}
+
+      [<span class="org-type">kessel.birchwood.private</span>]
+          address {{ kessel_addr }}
+
+      [<span class="org-type">ord-mantell.birchwood.private</span>]
+          address {{ ord_mantell_addr }}
+    dest: /etc/munin/munin-conf.d/zzz-site.cfg
+  notify: Restart Munin.
+</pre>
+</div>
+
+<p>
+The core machine's sensors produce some unfortunate measurements.  The
+next task configures <code>libsensors</code> to ignore them.
+</p>
+
+<div class="org-src-container">
+<a href="roles_t/abbey-core/tasks/main.yml"><q>roles_t/abbey-core/tasks/main.yml</q></a><pre class="src src-conf">
+- name: Configure core sensors(1).
+  become: yes
+  copy:
+    content: |
+      chip <span class="org-string">"iwlwifi_1-virtual-0"</span>
+          ignore temp1
+
+      chip <span class="org-string">"acpitz-acpi-0"</span>
+          ignore temp1
+    dest: /etc/sensors.d/site.conf
+</pre>
+</div>
+
+<div class="org-src-container">
+<a href="roles_t/abbey-core/handlers/main.yml"><q>roles_t/abbey-core/handlers/main.yml</q></a><pre class="src src-conf">
+- name: Restart Munin.
+  become: yes
+  systemd:
+    service: munin
+    state: restarted
+</pre>
+</div>
+</div>
+</div>
+<div id="outline-container-orga9351cb" class="outline-3">
+<h3 id="orga9351cb"><span class="section-number-3">4.14.</span> Install Analog</h3>
+<div class="outline-text-3" id="text-4-14">
+<p>
 The abbey's public web site's access and error logs are emailed
 regularly to <code>webmaster</code>, who saves them in <q>/Logs/apache2-public/</q>
 and runs <code>analog</code> to generate <q>/WWW/campus/analog.html</q>, available to
@@ -1569,8 +1667,8 @@ the campus as <code>http://www/analog.html</code>.
 </div>
 </div>
 <div id="outline-container-org4cc42f5" class="outline-3">
-<h3 id="org4cc42f5"><span class="section-number-3">4.14.</span> Add Monkey to Web Server Group</h3>
-<div class="outline-text-3" id="text-4-14">
+<h3 id="org4cc42f5"><span class="section-number-3">4.15.</span> Add Monkey to Web Server Group</h3>
+<div class="outline-text-3" id="text-4-15">
 <p>
 Monkey needs to be in <code>www-data</code> so that it can run
 <q>/WWW/live/Photos/Private/cronjob</q> to publish photos from multiple
@@ -1592,8 +1690,8 @@ user cloud accounts, found in files owned by <code>www-data</code>, files like
 </div>
 </div>
 <div id="outline-container-orgb69761e" class="outline-3">
-<h3 id="orgb69761e"><span class="section-number-3">4.15.</span> Install netpbm For Photo Processing</h3>
-<div class="outline-text-3" id="text-4-15">
+<h3 id="orgb69761e"><span class="section-number-3">4.16.</span> Install netpbm For Photo Processing</h3>
+<div class="outline-text-3" id="text-4-16">
 <p>
 Monkey's photo processing scripts use <code>netpbm</code> commands like
 <code>jpegtopnm</code>.
@@ -1609,8 +1707,8 @@ Monkey's photo processing scripts use <code>netpbm</code> commands like
 </div>
 </div>
 <div id="outline-container-org9a9dc68" class="outline-3">
-<h3 id="org9a9dc68"><span class="section-number-3">4.16.</span> Configure Weather Updates</h3>
-<div class="outline-text-3" id="text-4-16">
+<h3 id="org9a9dc68"><span class="section-number-3">4.17.</span> Configure Weather Updates</h3>
+<div class="outline-text-3" id="text-4-17">
 <p>
 Monkey on Core runs <q>/WWW/campus/Weather/Private/cronjob</q> every 5
 minutes and <q>cronjob-midnight</q> at midnight.
@@ -1766,21 +1864,25 @@ Birchwood Abbey's cloister is a small institute campus.  The <code>campus</code>
 role configures all campus machines to trust the institute's CA, sync
 with the campus time server, and forward email to Core.  The
 <code>abbey-cloister</code> role additionally configures cloistered machines to
-use the cloister Apt cache, respond to Core's NAGIOS network monitor,
-and to install Emacs.  There are also a few OS specific tasks, namely
-configuration required on Raspberry Pi OS machines.
+use the cloister Apt cache, respond to Core's NAGIOS and Munin network
+monitors, and to install Emacs.  There are also a few OS specific
+tasks, namely configuration required on Raspberry Pi OS machines.
 </p>
 
 <p>
 Wireless clients are issued keys for the cloister VPN by the <code>./abbey
-client</code> command.  This command includes the institutional process
-described in <a href="Institute/README.html#org0ad53cf">The Client Command</a>.  The process handles three types of
-clients: Android, Debian and Campus.  The last type never roams, and
-is not associated with a member of the small institute.
+client</code> command which is currently identical to the <code>./inst client</code>
+command (described in <a href="Institute/README.html#org0ad53cf">The Client Command</a>).  The wireless, cloistered
+hosts never roam, are not associated with a member, and so are
+"campus" clients, issued keys with commands like this:
 </p>
+
+<pre class="example">
+./abbey client campus new-host-name
+</pre>
 </div>
-<div id="outline-container-orge45cd0c" class="outline-3">
-<h3 id="orge45cd0c"><span class="section-number-3">6.1.</span> Use Cloister Apt Cache</h3>
+<div id="outline-container-orga5b3bf9" class="outline-3">
+<h3 id="orga5b3bf9"><span class="section-number-3">6.1.</span> Use Cloister Apt Cache</h3>
 <div class="outline-text-3" id="text-6-1">
 <p>
 The Apt-Cacher:TNG program does not work well on the frontier, so is
@@ -1800,7 +1902,7 @@ while.
   copy:
     content: &gt;
       Acquire::http::Proxy
-      <span class="org-string">"http://apt-cacher.{{ domain_priv }}.:3142"</span>;
+      <span class="org-string">"http://apt-cacher.birchwood.private.:3142"</span>;
     dest: /etc/apt/apt.conf.d/01proxy
     <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
 </pre>
@@ -1851,10 +1953,55 @@ Raspberry Pis (architecture <code>aarch64</code>) only.
 </div>
 </div>
 </div>
-<div id="outline-container-org3c54304" class="outline-3">
-<h3 id="org3c54304"><span class="section-number-3">6.3.</span> Install Emacs</h3>
+<div id="outline-container-orgc166594" class="outline-3">
+<h3 id="orgc166594"><span class="section-number-3">6.3.</span> Install Munin Node</h3>
 <div class="outline-text-3" id="text-6-3">
 <p>
+Each cloistered host is a Munin node.
+</p>
+
+<div class="org-src-container">
+<a href="roles_t/abbey-cloister/tasks/main.yml"><q>roles_t/abbey-cloister/tasks/main.yml</q></a><pre class="src src-conf">
+- name: Install Munin Node.
+  become: yes
+  apt:
+    pkg: munin-node
+
+- name: Add {{ ansible_user }} to Munin group.
+  become: yes
+  user:
+    name: <span class="org-string">"{{ ansible_user }}"</span>
+    append: yes
+    groups: munin
+</pre>
+</div>
+
+<p>
+Again, one of our cloistered hosts has sensors producing unfortunate
+measurements.  The next task configures Anoat's <code>libsensors</code> to ignore
+them.
+</p>
+
+<div class="org-src-container">
+<a href="roles_t/abbey-cloister/tasks/main.yml"><q>roles_t/abbey-cloister/tasks/main.yml</q></a><pre class="src src-conf">
+- name: Configure {{ inventory_hostname }} sensors(1).
+  copy:
+    content: |
+      chip <span class="org-string">"iwlwifi_1-virtual-0"</span>
+          ignore temp1
+
+      chip <span class="org-string">"acpitz-acpi-0"</span>
+          ignore temp1
+    dest: /etc/sensors.d/site.conf
+  <span class="org-variable-name">when: inventory_hostname</span> == <span class="org-string">'anoat'</span>
+</pre>
+</div>
+</div>
+</div>
+<div id="outline-container-org5cff3f5" class="outline-3">
+<h3 id="org5cff3f5"><span class="section-number-3">6.4.</span> Install Emacs</h3>
+<div class="outline-text-3" id="text-6-4">
+<p>
 The monks of the abbey are masters of the staff and Emacs.
 </p>
 
@@ -1919,7 +2066,7 @@ Listing them (e.g. running <code>owdir /26.nnnnnnnn</code> or <code>owdir
 below.  A test session is shown below.
 </p>
 
-<pre class="example" id="org68684e4">
+<pre class="example" id="orgd2ab943">
 monkey@new$ owdir
 ...
     /26.2153B6000000/
@@ -2355,8 +2502,8 @@ described in the final section, <a href="#org1115114">Configure Cameras</a>, bel
 </p>
 </div>
 </div>
-<div id="outline-container-orgf821b20" class="outline-3">
-<h3 id="orgf821b20"><span class="section-number-3">8.4.</span> Include Abbey Variables</h3>
+<div id="outline-container-org114a404" class="outline-3">
+<h3 id="org114a404"><span class="section-number-3">8.4.</span> Include Abbey Variables</h3>
 <div class="outline-text-3" id="text-8-4">
 <p>
 Private variables in <q>private/vars-abbey.yml</q> are needed, and included
@@ -2518,7 +2665,7 @@ the <code>apg -n 1 -x 12 -m 12</code> command.
 </p>
 
 <div class="org-src-container">
-<a href="private/vars-abbey.yml"><q>private/vars-abbey.yml</q></a><pre class="src src-conf">zoneminder_dbpass:           gakJopbikJadsEdd
+<a href="private_ex/vars-abbey.yml"><q>private_ex/vars-abbey.yml</q></a><pre class="src src-conf">zoneminder_dbpass:           gakJopbikJadsEdd
 </pre>
 </div>
 
@@ -2782,8 +2929,8 @@ machine simply by adding it to the <code>tvrs</code> group.
 </p>
 </div>
 </div>
-<div id="outline-container-orgbbd0c82" class="outline-3">
-<h3 id="orgbbd0c82"><span class="section-number-3">9.3.</span> Include Abbey Variables</h3>
+<div id="outline-container-orge3238f6" class="outline-3">
+<h3 id="orge3238f6"><span class="section-number-3">9.3.</span> Include Abbey Variables</h3>
 <div class="outline-text-3" id="text-9-3">
 <p>
 Private variables in <q>private/vars-abbey.yml</q> are needed, as in the
@@ -2991,7 +3138,7 @@ kept in <q>private/vars-abbey.yml</q>, and generated e.g. with the <code>apg -n
 </p>
 
 <div class="org-src-container">
-<a href="private/vars-abbey.yml"><q>private/vars-abbey.yml</q></a><pre class="src src-conf">mythtv_dbpass:           daJkibpoJkag
+<a href="private_ex/vars-abbey.yml"><q>private_ex/vars-abbey.yml</q></a><pre class="src src-conf">mythtv_dbpass:           daJkibpoJkag
 </pre>
 </div>
 
@@ -3329,7 +3476,7 @@ the list of "inputs" available in a postal code typically ends with
 the OTA (over the air) broadcasts.
 </p>
 
-<pre class="example" id="orga364723">
+<pre class="example" id="org82b52c7">
 $ tv_grab_zz_sdjson --configure --config-file .mythtv/Mr.Antenna.xml
 Cache file for lineups, schedules and programs.
 Cache file: [/home/mythtv/.xmltv/tv_grab_zz_sdjson.cache]
@@ -3714,12 +3861,13 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>.
       ansible_become_password: <span class="org-string">"{{ become_anoat }}"</span>
     dantooine:
       ansible_become_password: <span class="org-string">"{{ become_dantooine }}"</span>
-    <span class="org-comment-delimiter"># </span><span class="org-comment">WebTVs (Desktops)</span>
-    devaron:
+    <span class="org-comment-delimiter"># </span><span class="org-comment">Campus</span>
     kamino:
       ansible_become_password: <span class="org-string">"{{ become_kamino }}"</span>
     kessel:
       ansible_become_password: <span class="org-string">"{{ become_kessel }}"</span>
+    ord-mantell:
+      ansible_become_password: <span class="org-string">"{{ become_ord_mantell }}"</span>
     <span class="org-comment-delimiter"># </span><span class="org-comment">Notebooks</span>
     endor:
       ansible_become_password: <span class="org-string">"{{ become_endor }}"</span>
@@ -3728,7 +3876,7 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>.
       ansible_user: matt
       ansible_become_password: <span class="org-string">"{{ become_geonosis }}"</span>
       postfix_mydestination: &gt;-
-        geonosis.{{ domain_priv }}
+        geonosis.birchwood.private
         geonosis
         geonosis.localdomain
         localhost.localdomain
@@ -3746,9 +3894,9 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>.
     campus:
       hosts:
         anoat:
-        devaron:
         kamino:
         kessel:
+        ord-mantell:
     weather:
       hosts:
         anoat:
@@ -3760,16 +3908,15 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>.
         dantooine:
     webtvs:
       hosts:
-        kessel:
-        devaron:
         kamino:
+        kessel:
+        ord-mantell:
     notebooks:
       hosts:
         endor:
         geonosis:
     builders:
       hosts:
-        devaron:
         geonosis:
         kamino:
 </pre>
@@ -4514,7 +4661,7 @@ interface on <code>new</code> is named <code>wlan0</code>.
 </p>
 
 <div class="org-src-container">
-=/etc/network/interfaces.d/wifi<pre class="src src-conf">auto wlan0
+<q>/etc/network/interfaces.d/wifi</q><pre class="src src-conf">auto wlan0
 iface wlan0 inet dhcp
     wpa-ssid <span class="org-string">"Birchwood Abbey"</span>
     wpa-psk <span class="org-string">"PASSWORD"</span>
@@ -4839,7 +4986,7 @@ to <q>private/db.campus_vpn</q>.)
 </div>
 <div id="postamble" class="status">
 <p class="author">Author: Matt Birkholz</p>
-<p class="date">Created: 2024-05-08 Wed 14:38</p>
+<p class="date">Created: 2024-09-03 Tue 08:46</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>