From: Matt Birkholz <matt@birchwood-abbey.net> Date: Mon, 1 Apr 2024 23:01:27 +0000 (-0500) Subject: Update README.html. X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=f94be3dd69b03bbb61aa6f84e70228fee00437da;p=Network Update README.html. --- diff --git a/README.html b/README.html index e4eed84..b3b9823 100644 --- a/README.html +++ b/README.html @@ -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-03-12 Tue 10:37 --> +<!-- 2024-04-01 Mon 17:59 --> <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="org8911127"> +<pre class="example" id="orgb020477"> | = _|||_ @@ -116,7 +116,7 @@ found in <a href="Institute/private/vars.yml"><q>Institute/private/vars.yml</q>< </p> <div class="org-src-container"> -<q>public/vars.yml</q><pre class="src src-conf">--- +<a href="public/vars.yml"><q>public/vars.yml</q></a><pre class="src src-conf">--- domain_name: birchwood-abbey.net full_name: Birchwood Abbey @@ -136,15 +136,15 @@ with Apache2, spooling email with Postfix and serving it with Dovecot-IMAPd, and hosting a VPN with OpenVPN. </p> </div> -<div id="outline-container-org0722391" class="outline-3"> -<h3 id="org0722391"><span class="section-number-3">3.1.</span> Install Emacs</h3> +<div id="outline-container-orgd21e868" class="outline-3"> +<h3 id="orgd21e868"><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. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf">--- - name: Install Emacs. become: yes <span class="org-variable-name">apt: pkg</span>=emacs @@ -164,7 +164,7 @@ from there, forwarding <code>sysadm</code> to a real person. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install abbey email aliases. become: yes blockinfile: @@ -184,7 +184,7 @@ from there, forwarding <code>sysadm</code> to a real person. </div> <div class="org-src-container"> -<q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-front/handlers/main.yml"><q>roles_t/abbey-front/handlers/main.yml</q></a><pre class="src src-conf">--- - name: New aliases. become: yes command: newaliases @@ -265,7 +265,7 @@ like <code>git-tasks</code> and <code>git-handlers</code>. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> <<git-tasks>> </pre> </div> @@ -303,7 +303,7 @@ like <code>git-tasks</code> and <code>git-handlers</code>. </div> <div class="org-src-container"> -<q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/handlers/main.yml"><q>roles_t/abbey-front/handlers/main.yml</q></a><pre class="src src-conf"> <<git-handlers>> </pre> </div> @@ -481,6 +481,21 @@ filename suffixes. </Directory> </pre> </div> + +<p> +The following <q>.htaccess</q> file works with the directives above. It +declares most the native source files in the current directory tree to +be plain text, so that they are displayed rather than downloaded. +</p> + +<div class="org-src-container"> +<a href=".htaccess"><q>.htaccess</q></a><pre class="src src-conf">ReadmeName notfound.html +IndexIgnore README.org +AddType text/plain attr campus_vpn cfg cnf conf crt daily_letsencrypt +AddType text/plain domain el htaccess idx j2 key old org pack pem +AddType text/plain private pub public_vpn req rev sample txt yml +</pre> +</div> </div> </div> <div id="outline-container-org1a605db" class="outline-3"> @@ -529,7 +544,7 @@ rest of the Let's Encrypt configuration is discussed in the following </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Configure Apache. become: yes vars: @@ -549,7 +564,7 @@ rest of the Let's Encrypt configuration is discussed in the following </div> <div class="org-src-container"> -<q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/handlers/main.yml"><q>roles_t/abbey-front/handlers/main.yml</q></a><pre class="src src-conf"> <<apache-gitweb-handlers>> </pre> </div> @@ -573,7 +588,7 @@ The replacement <q>logrotate-mailer</q> does, and includes it in a </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Configure Apache log archival. become: yes lineinfile: @@ -613,7 +628,7 @@ The replacement <q>logrotate-mailer</q> does, and includes it in a </div> <div class="org-src-container"> -<q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/handlers/main.yml"><q>roles_t/abbey-front/handlers/main.yml</q></a><pre class="src src-conf"> - name: Reload systemd. become: yes systemd: @@ -630,7 +645,7 @@ page.) </p> <div class="org-src-container"> -<q>roles_t/abbey-front/files/logrotate-mailer.conf</q><pre class="src src-conf">[<span class="org-type">Service</span>] +<a href="roles_t/abbey-front/files/logrotate-mailer.conf"><q>roles_t/abbey-front/files/logrotate-mailer.conf</q></a><pre class="src src-conf">[<span class="org-type">Service</span>] <span class="org-variable-name">ExecStart</span>= <span class="org-variable-name">ExecStart</span>=/usr/sbin/logrotate \ --mail /usr/local/sbin/logrotate-mailer \ @@ -650,7 +665,7 @@ Droplet's ISP's Mom, the NSA/CIA/NWO. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/files/logrotate-mailer</q><pre class="src src-sh"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">bash</span><span class="org-comment"> -e</span> +<a href="roles_t/abbey-front/files/logrotate-mailer"><q>roles_t/abbey-front/files/logrotate-mailer</q></a><pre class="src src-sh"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">bash</span><span class="org-comment"> -e</span> <span class="org-keyword">if</span> [ <span class="org-string">"$#"</span> != 3 -o <span class="org-string">"$1"</span> != <span class="org-string">"-s"</span> ]; <span class="org-keyword">then</span> <span class="org-builtin">echo</span> <span class="org-string">"usage: $0 -s subject recipient"</span> 1>&2 @@ -695,11 +710,11 @@ certificate is a terminal session affair (with prompts and lines entered as shown below). </p> -<pre class="example" id="orgfd7e12d"> +<pre class="example" id="orgdef9c50"> $ sudo apt install python3-certbot-apache $ sudo certbot --apache -d birchwood-abbey.net ... -Enter email address (...) (Enter 'c' to cancel): webmaster@birchwood-a +Enter email address (...) (Enter 'c' to cancel): webmaster@birchwood- bbey.net ... Please read the Terms of Service at @@ -710,30 +725,30 @@ Would you be willing to share your email address... ... (Y)es/(N)o: Y ... -Deploying Certificate to VirtualHost /etc/apache2/sites-enabled/birchw +Deploying Certificate to VirtualHost /etc/apache2/sites-enabled/birch ood-abbey.net.conf -Please choose whether or not to redirect HTTP traffic to HTTPS, removi +Please choose whether or not to redirect HTTP traffic to HTTPS, remov ng HTTP access. -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: No redirect - Make no further changes to the webserver configuratio +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +1: No redirect - Make no further changes to the webserver configurati n. ... -Select the appropriate number [1-2] then [enter] (press 'c' to cancel) +Select the appropriate number [1-2] then [enter] (press 'c' to cancel : 1 -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Congratulations! You have successfully enabled https://birchwood-abbey +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Congratulations! You have successfully enabled https://birchwood-abbe .net You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=birchwood-abbey.net -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a - secure backup of this folder now. This configuration directory will + secure backup of this folder now. This configuration directory wil also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. ... @@ -742,7 +757,7 @@ IMPORTANT NOTES: Your key file has been saved at: /etc/letsencrypt/live/birchwood-abbey.net/privkey.pem Your cert will expire on 2019-01-13. To obtain a new or tweaked - version of this certificate in the future, simply run certbot again + version of this certificate in the future, simply run certbot agai with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" </pre> @@ -756,7 +771,7 @@ package is installed and its <q>live/</q> subdirectory is world readable. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install Certbot for Apache. become: yes <span class="org-variable-name">apt: pkg</span>=python3-certbot-apache @@ -789,7 +804,7 @@ restarted manually. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Use Let<span class="org-string">'s Encrypt certificate&key.</span> <span class="org-string"> file:</span> <span class="org-string"> state: link</span> @@ -813,7 +828,7 @@ The following task arranges to rotate Certbot's logs files. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install Certbot logrotate configuration. become: yes copy: @@ -824,7 +839,7 @@ The following task arranges to rotate Certbot's logs files. </div> <div class="org-src-container"> -<q>roles_t/abbey-front/files/certbot_logrotate</q><pre class="src src-conf"><span class="org-type">/var/log/letsencrypt/*.log</span> { +<a href="roles_t/abbey-front/files/certbot_logrotate"><q>roles_t/abbey-front/files/certbot_logrotate</q></a><pre class="src src-conf"><span class="org-type">/var/log/letsencrypt/*.log</span> { rotate 12 weekly compress @@ -844,7 +859,7 @@ are detected by keeping a copy in <q>/etc/letsencrypt~/</q> for comparison. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install Let<span class="org-string">'s Encrypt archive script.</span> <span class="org-string"> become: yes</span> <span class="org-string"> copy:</span> @@ -855,7 +870,7 @@ are detected by keeping a copy in <q>/etc/letsencrypt~/</q> for comparison. </div> <div class="org-src-container"> -<q>roles_t/abbey-front/files/cron.daily_letsencrypt</q><pre class="src src-sh"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">bash</span><span class="org-comment"> -e</span> +<a href="roles_t/abbey-front/files/cron.daily_letsencrypt"><q>roles_t/abbey-front/files/cron.daily_letsencrypt</q></a><pre class="src src-sh"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">bash</span><span class="org-comment"> -e</span> <span class="org-builtin">cd</span> /etc/ @@ -882,7 +897,7 @@ imported into <code>root@front</code>'s GnuPG key file. </p> <div class="org-src-container"> -<q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/tasks/main.yml"><q>roles_t/abbey-front/tasks/main.yml</q></a><pre class="src src-conf"> - name: Copy root@core<span class="org-string">'s public key.</span> <span class="org-string"> become: yes</span> <span class="org-string"> copy:</span> @@ -894,7 +909,7 @@ imported into <code>root@front</code>'s GnuPG key file. </div> <div class="org-src-container"> -<q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-front/handlers/main.yml"><q>roles_t/abbey-front/handlers/main.yml</q></a><pre class="src src-conf"> - name: Import root@core<span class="org-string">'s public key.</span> <span class="org-string"> become: yes</span> <span class="org-string"> command: gpg --import ~/.gnupg-root-pub.pem</span> @@ -914,8 +929,8 @@ with Postfix and Dovecot, and providing essential localnet services: NTP, DNS and DHCP. </p> </div> -<div id="outline-container-orgfa3f5c8" class="outline-3"> -<h3 id="orgfa3f5c8"><span class="section-number-3">4.1.</span> Include Abbey Variables</h3> +<div id="outline-container-org8eab1d7" class="outline-3"> +<h3 id="org8eab1d7"><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 @@ -927,7 +942,7 @@ directory, <q>playbooks/</q>. </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf">--- +<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: Include private abbey variables. include_vars: ../private/vars-abbey.yml </pre> @@ -947,7 +962,7 @@ packages). </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 additional packages. apt: pkg: [ libhtml-tree-perl, libjs-jquery, mit-scheme, gnuplot ] @@ -972,7 +987,7 @@ e.g. <code>mythtv@mythtv.birchwood-abbey.net</code>, locally.) </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 abbey email aliases. become: yes blockinfile: @@ -988,7 +1003,7 @@ e.g. <code>mythtv@mythtv.birchwood-abbey.net</code>, locally.) </div> <div class="org-src-container"> -<q>roles_t/abbey-core/handlers/main.yml</q><pre class="src src-conf">--- +<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: New aliases. become: yes command: newaliases @@ -1006,13 +1021,13 @@ services on Front and Core. See <a href="#org31d6bbb">3.3</a> and </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-core/tasks/main.yml"><q>roles_t/abbey-core/tasks/main.yml</q></a><pre class="src src-conf"> <<git-tasks>> </pre> </div> <div class="org-src-container"> -<q>roles_t/abbey-core/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-core/handlers/main.yml"><q>roles_t/abbey-core/handlers/main.yml</q></a><pre class="src src-conf"> <<git-handlers>> </pre> </div> @@ -1029,7 +1044,7 @@ site on Front. Their configurations include the same <a href="#org158c789"><cod </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 live website. become: yes vars: @@ -1061,7 +1076,7 @@ site on Front. Their configurations include the same <a href="#org158c789"><cod </div> <div class="org-src-container"> -<q>roles_t/abbey-core/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-core/handlers/main.yml"><q>roles_t/abbey-core/handlers/main.yml</q></a><pre class="src src-conf"> <<apache-gitweb-handlers>> </pre> </div> @@ -1079,7 +1094,7 @@ directives that enable user Git publishing with Gitweb (defined <a href="#org119 </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 house website. become: yes copy: @@ -1105,7 +1120,7 @@ The abbey uses the Apt-Cacher:TNG package cache on Core. The </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 Apt-Cacher:TNG. become: yes <span class="org-variable-name">apt: pkg</span>=apt-cacher-ng @@ -1113,20 +1128,21 @@ The abbey uses the Apt-Cacher:TNG package cache on Core. The </div> </div> </div> -<div id="outline-container-org2658c84" class="outline-3"> -<h3 id="org2658c84"><span class="section-number-3">4.8.</span> Use Cloister Apt Cache</h3> +<div id="outline-container-orgbfebaa2" class="outline-3"> +<h3 id="orgbfebaa2"><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. </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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: Use the local Apt package cache. become: yes copy: - content: | - Acquire::http::Proxy <span class="org-string">"http://apt-cacher.{{ domain_priv }}.:3142"</span>; + content: > + Acquire::http::Proxy + <span class="org-string">"http://apt-cacher.{{ domain_priv }}.:3142"</span>; dest: /etc/apt/apt.conf.d/01proxy <span class="org-variable-name">mode: u</span>=rw,g=r,o=r </pre> @@ -1158,7 +1174,7 @@ remaining on roots.) </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 NAGIOS monitoring for Core /home/. become: yes copy: @@ -1175,7 +1191,7 @@ remaining on roots.) </div> <div class="org-src-container"> -<q>roles_t/abbey-core/handlers/main.yml</q><pre class="src src-conf"> +<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: Reload NAGIOS4. become: yes systemd: @@ -1199,7 +1215,7 @@ recognizable temperature in the <code>sensors</code> output. </p> <div class="org-src-container"> -<q>roles_t/abbey-core/files/abbey_pisensors</q><pre class="src src-sh"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">sh</span> +<a href="roles_t/abbey-core/files/abbey_pisensors"><q>roles_t/abbey-core/files/abbey_pisensors</q></a><pre class="src src-sh"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">sh</span> <span class="org-variable-name">PATH</span>=<span class="org-string">"/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"</span> <span class="org-builtin">export</span> PATH @@ -1217,7 +1233,8 @@ recognizable temperature in the <code>sensors</code> output. <span class="org-builtin">echo</span> <span class="org-string">""</span> print_usage <span class="org-builtin">echo</span> <span class="org-string">""</span> - <span class="org-builtin">echo</span> <span class="org-string">"This plugin checks hardware status using the lm_sensors package."</span> + <span class="org-builtin">echo</span> <span class="org-string">"This plugin checks hardware status using"</span> <span class="org-sh-escaped-newline">\</span> + <span class="org-string">"the lm_sensors package."</span> <span class="org-builtin">echo</span> <span class="org-string">""</span> support <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> @@ -1225,55 +1242,56 @@ recognizable temperature in the <code>sensors</code> output. <span class="org-function-name">brief_data</span>() { <span class="org-builtin">echo</span> <span class="org-string">"$1"</span> | sed -n -E -e <span class="org-string">'</span> -<span class="org-string"> /^temp[0-9]+: +[-+][0-9.]+.?C/ { s/^temp[0-9]+: +([-+][0-9.]+).?C.*/ \1/; H }</span> +<span class="org-string"> /^temp[0-9]+: +[-+][0-9.]+.?C/ {</span> +<span class="org-string"> s/^temp[0-9]+: +([-+][0-9.]+).?C.*/ \1/; H }</span> <span class="org-string"> $ { x; s/\n//g; p }'</span> } <span class="org-keyword">case</span> <span class="org-string">"$1"</span><span class="org-keyword"> in</span> - --help) - print_help - <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> - ;; - -h) - print_help - <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> - ;; - --version) - print_revision $<span class="org-variable-name">PROGNAME</span> $<span class="org-variable-name">REVISION</span> - <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> - ;; - -V) - print_revision $<span class="org-variable-name">PROGNAME</span> $<span class="org-variable-name">REVISION</span> - <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> - ;; - *) - <span class="org-variable-name">sensordata</span>=<span class="org-sh-quoted-exec">`sensors 2>&1`</span> - <span class="org-variable-name">status</span>=$<span class="org-variable-name">?</span> - <span class="org-keyword">if </span><span class="org-builtin">test</span> ${<span class="org-variable-name">status</span>} -eq 127; <span class="org-keyword">then</span> - <span class="org-variable-name">text</span>=<span class="org-string">"SENSORS UNKNOWN - command not found"</span> - <span class="org-variable-name">text</span>=<span class="org-string">"$text (did you install lmsensors?)"</span> - <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_UNKNOWN</span> - <span class="org-keyword">elif </span><span class="org-builtin">test</span> ${<span class="org-variable-name">status</span>} -ne 0; <span class="org-keyword">then</span> - <span class="org-variable-name">text</span>=<span class="org-string">"WARNING - sensors returned state $status"</span> - <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_WARNING</span> - <span class="org-keyword">elif </span><span class="org-builtin">echo</span> ${<span class="org-variable-name">sensordata</span>} | egrep ALARM > /dev/null; <span class="org-keyword">then</span> - <span class="org-variable-name">text</span>=<span class="org-string">"SENSOR CRITICAL -`brief_data "${sensordata}"`"</span> - <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_CRITICAL</span> - <span class="org-keyword">elif </span><span class="org-builtin">echo</span> ${<span class="org-variable-name">sensordata</span>} | egrep FAULT > /dev/null <span class="org-sh-escaped-newline">\</span> - && <span class="org-builtin">test</span> <span class="org-string">"$1"</span> != <span class="org-string">"-i"</span> -a <span class="org-string">"$1"</span> != <span class="org-string">"--ignore-fault"</span>; <span class="org-keyword">then</span> - <span class="org-variable-name">text</span>=<span class="org-string">"SENSOR UNKNOWN - Sensor reported fault"</span> - <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_UNKNOWN</span> - <span class="org-keyword">else</span> - <span class="org-variable-name">text</span>=<span class="org-string">"SENSORS OK -`brief_data "${sensordata}"`"</span> - <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_OK</span> - <span class="org-keyword">fi</span> - - <span class="org-builtin">echo</span> <span class="org-string">"$text"</span> - <span class="org-keyword">if </span><span class="org-builtin">test</span> <span class="org-string">"$1"</span> = <span class="org-string">"-v"</span> -o <span class="org-string">"$1"</span> = <span class="org-string">"--verbose"</span>; <span class="org-keyword">then</span> - <span class="org-builtin">echo</span> ${<span class="org-variable-name">sensordata</span>} - <span class="org-keyword">fi</span> - <span class="org-keyword">exit</span> $<span class="org-variable-name">exit</span> - ;; +--help) + print_help + <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> + ;; +-h) + print_help + <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> + ;; +--version) + print_revision $<span class="org-variable-name">PROGNAME</span> $<span class="org-variable-name">REVISION</span> + <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> + ;; +-V) + print_revision $<span class="org-variable-name">PROGNAME</span> $<span class="org-variable-name">REVISION</span> + <span class="org-keyword">exit</span> $<span class="org-variable-name">STATE_OK</span> + ;; +*) + <span class="org-variable-name">sensordata</span>=<span class="org-sh-quoted-exec">`sensors 2>&1`</span> + <span class="org-variable-name">status</span>=$<span class="org-variable-name">?</span> + <span class="org-keyword">if </span><span class="org-builtin">test</span> ${<span class="org-variable-name">status</span>} -eq 127; <span class="org-keyword">then</span> + <span class="org-variable-name">text</span>=<span class="org-string">"SENSORS UNKNOWN - command not found"</span> + <span class="org-variable-name">text</span>=<span class="org-string">"$text (did you install lmsensors?)"</span> + <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_UNKNOWN</span> + <span class="org-keyword">elif </span><span class="org-builtin">test</span> ${<span class="org-variable-name">status</span>} -ne 0; <span class="org-keyword">then</span> + <span class="org-variable-name">text</span>=<span class="org-string">"WARNING - sensors returned state $status"</span> + <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_WARNING</span> + <span class="org-keyword">elif </span><span class="org-builtin">echo</span> ${<span class="org-variable-name">sensordata</span>} | egrep ALARM > /dev/null; <span class="org-keyword">then</span> + <span class="org-variable-name">text</span>=<span class="org-string">"SENSOR CRITICAL -`brief_data "${sensordata}"`"</span> + <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_CRITICAL</span> + <span class="org-keyword">elif </span><span class="org-builtin">echo</span> ${<span class="org-variable-name">sensordata</span>} | egrep FAULT > /dev/null <span class="org-sh-escaped-newline">\</span> + && <span class="org-builtin">test</span> <span class="org-string">"$1"</span> != <span class="org-string">"-i"</span> -a <span class="org-string">"$1"</span> != <span class="org-string">"--ignore-fault"</span>; <span class="org-keyword">then</span> + <span class="org-variable-name">text</span>=<span class="org-string">"SENSOR UNKNOWN - Sensor reported fault"</span> + <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_UNKNOWN</span> + <span class="org-keyword">else</span> + <span class="org-variable-name">text</span>=<span class="org-string">"SENSORS OK -`brief_data "${sensordata}"`"</span> + <span class="org-variable-name">exit</span>=$<span class="org-variable-name">STATE_OK</span> + <span class="org-keyword">fi</span> + + <span class="org-builtin">echo</span> <span class="org-string">"$text"</span> + <span class="org-keyword">if </span><span class="org-builtin">test</span> <span class="org-string">"$1"</span> = <span class="org-string">"-v"</span> -o <span class="org-string">"$1"</span> = <span class="org-string">"--verbose"</span>; <span class="org-keyword">then</span> + <span class="org-builtin">echo</span> ${<span class="org-variable-name">sensordata</span>} + <span class="org-keyword">fi</span> + <span class="org-keyword">exit</span> $<span class="org-variable-name">exit</span> + ;; <span class="org-keyword">esac</span> </pre> </div> @@ -1307,7 +1325,7 @@ included in <q>private/vars-abbey.yml</q>. </p> <div class="org-src-container"> -<q>private/vars-abbey.yml</q><pre class="src src-conf">devaron_addr: 10.84.138.10 +<a href="private/vars-abbey.yml"><q>private/vars-abbey.yml</q></a><pre class="src src-conf">devaron_addr: 10.84.138.10 kamino_addr: 192.168.56.14 kessel_addr: 10.84.138.8 </pre> @@ -1324,7 +1342,7 @@ rarely powered up. </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 cloister NAGIOS monitoring. become: yes template: @@ -1340,7 +1358,7 @@ rarely powered up. <h4 id="org2e4fb52"><span class="section-number-4">4.12.3.</span> NAGIOS Monitoring of Devaron</h4> <div class="outline-text-4" id="text-4-12-3"> <div class="org-src-container"> -<q>roles_t/abbey-core/templates/nagios-devaron.cfg</q><pre class="src src-conf"><span class="org-type">define host</span> { +<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> { use linux-server host_name devaron address {{ devaron_addr }} @@ -1395,7 +1413,7 @@ rarely powered up. <h4 id="orge8ccd3b"><span class="section-number-4">4.12.4.</span> NAGIOS Monitoring of Kamino</h4> <div class="outline-text-4" id="text-4-12-4"> <div class="org-src-container"> -<q>roles_t/abbey-core/templates/nagios-kamino.cfg</q><pre class="src src-conf"><span class="org-type">define host</span> { +<a href="roles_t/abbey-core/templates/nagios-kamino.cfg"><q>roles_t/abbey-core/templates/nagios-kamino.cfg</q></a><pre class="src src-conf"><span class="org-type">define host</span> { use linux-server host_name kamino address {{ kamino_addr }} @@ -1450,7 +1468,7 @@ rarely powered up. <h4 id="org4f9ed4f"><span class="section-number-4">4.12.5.</span> NAGIOS Monitoring of Kessel</h4> <div class="outline-text-4" id="text-4-12-5"> <div class="org-src-container"> -<q>roles_t/abbey-core/templates/nagios-kessel.cfg</q><pre class="src src-conf"><span class="org-type">define host</span> { +<a href="roles_t/abbey-core/templates/nagios-kessel.cfg"><q>roles_t/abbey-core/templates/nagios-kessel.cfg</q></a><pre class="src src-conf"><span class="org-type">define host</span> { use linux-server host_name kessel address {{ kessel_addr }} @@ -1513,7 +1531,7 @@ the campus as <code>http://www/analog.html</code>. </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 Analog. become: yes <span class="org-variable-name">apt: pkg</span>=analog @@ -1569,7 +1587,7 @@ user cloud accounts, found in files owned by <code>www-data</code>, files like </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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: Add Monkey to Nextcloud group. become: yes user: @@ -1589,7 +1607,7 @@ Monkey's photo processing scripts use <code>netpbm</code> commands like </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf"> +<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 netpbm. become: yes <span class="org-variable-name">apt: pkg</span>=netpbm @@ -1606,7 +1624,7 @@ minutes and <q>cronjob-midnight</q> at midnight. </p> <div class="org-src-container"> -<q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-:tangle"> +<a href="roles_t/abbey-core/tasks/main.yml"><q>roles_t/abbey-core/tasks/main.yml</q></a><pre class="src src-:tangle"> - name: Create Monkey's weather job. become: yes cron: @@ -1768,8 +1786,8 @@ clients: Android, Debian and Campus. The last type never roams, and is not associated with a member of the small institute. </p> </div> -<div id="outline-container-org527bdfd" class="outline-3"> -<h3 id="org527bdfd"><span class="section-number-3">6.1.</span> Use Cloister Apt Cache</h3> +<div id="outline-container-orgadf60c5" class="outline-3"> +<h3 id="orgadf60c5"><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 @@ -1783,12 +1801,13 @@ while. </p> <div class="org-src-container"> -<q>roles_t/abbey-cloister/tasks/main.yml</q><pre class="src src-conf">--- +<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: Use the local Apt package cache. become: yes copy: - content: | - Acquire::http::Proxy <span class="org-string">"http://apt-cacher.{{ domain_priv }}.:3142"</span>; + content: > + Acquire::http::Proxy + <span class="org-string">"http://apt-cacher.{{ domain_priv }}.:3142"</span>; dest: /etc/apt/apt.conf.d/01proxy <span class="org-variable-name">mode: u</span>=rw,g=r,o=r </pre> @@ -1808,7 +1827,7 @@ Raspberry Pis (architecture <code>aarch64</code>) only. </p> <div class="org-src-container"> -<q>roles_t/abbey-cloister/tasks/main.yml</q><pre class="src src-conf"> +<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 abbey_pisensors NAGIOS plugin. become: yes copy: @@ -1829,7 +1848,7 @@ Raspberry Pis (architecture <code>aarch64</code>) only. </div> <div class="org-src-container"> -<q>roles_t/abbey-cloister/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-cloister/handlers/main.yml"><q>roles_t/abbey-cloister/handlers/main.yml</q></a><pre class="src src-conf"> - name: Reload NRPE server. become: yes systemd: @@ -1839,15 +1858,15 @@ Raspberry Pis (architecture <code>aarch64</code>) only. </div> </div> </div> -<div id="outline-container-org605136e" class="outline-3"> -<h3 id="org605136e"><span class="section-number-3">6.3.</span> Install Emacs</h3> +<div id="outline-container-orgf7b4d3a" class="outline-3"> +<h3 id="orgf7b4d3a"><span class="section-number-3">6.3.</span> Install Emacs</h3> <div class="outline-text-3" id="text-6-3"> <p> The monks of the abbey are masters of the staff and Emacs. </p> <div class="org-src-container"> -<q>roles_t/abbey-cloister/tasks/main.yml</q><pre class="src src-conf"> +<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 monastic software. become: yes <span class="org-variable-name">apt: pkg</span>=emacs @@ -1907,7 +1926,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="orgcd76ea9"> +<pre class="example" id="org2decee3"> monkey@new$ owdir ... /26.2153B6000000/ @@ -1938,7 +1957,7 @@ one weather host, <code>anoat</code>. </p> <div class="org-src-container"> -<q>roles_t/abbey-weather/files/daemon-anoat</q><pre class="src src-perl"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/perl -w</span> +<a href="roles_t/abbey-weather/files/daemon-anoat"><q>roles_t/abbey-weather/files/daemon-anoat</q></a><pre class="src src-perl"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/perl -w</span> <span class="org-comment-delimiter"># </span><span class="org-comment">-*- CPerl -*-</span> <span class="org-comment-delimiter">#</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Weather/daemon</span> @@ -2077,7 +2096,7 @@ installed by the following task. </p> <div class="org-src-container"> -<q>roles_t/abbey-weather/tasks/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-weather/tasks/main.yml"><q>roles_t/abbey-weather/tasks/main.yml</q></a><pre class="src src-conf">--- - name: Install weather daemon packages. become: yes <span class="org-variable-name">apt: pkg</span>=libtimedate-perl @@ -2096,7 +2115,7 @@ USB adapter (rather than a test "fake" adapter). </p> <div class="org-src-container"> -<q>roles_t/abbey-weather/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-weather/tasks/main.yml"><q>roles_t/abbey-weather/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install 1-Wire server. become: yes apt: @@ -2125,7 +2144,7 @@ Monkey on Core will want to download log records (files) using </p> <div class="org-src-container"> -<q>roles_t/abbey-weather/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-weather/tasks/main.yml"><q>roles_t/abbey-weather/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install Rsync. become: yes <span class="org-variable-name">apt: pkg</span>=rsync @@ -2146,7 +2165,7 @@ debugging the <code>sysadm</code> account is included in the <code>monkey</code> </p> <div class="org-src-container"> -<q>roles_t/abbey-weather/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-weather/tasks/main.yml"><q>roles_t/abbey-weather/tasks/main.yml</q></a><pre class="src src-conf"> - name: Create monkey. become: yes user: @@ -2187,7 +2206,7 @@ The <code>ExecStartPre=/bin/sleep 30</code> is intended to avoid recent hangs in </p> <div class="org-src-container"> -<q>roles_t/abbey-weather/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-weather/tasks/main.yml"><q>roles_t/abbey-weather/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install weather directory. become: yes file: @@ -2259,7 +2278,7 @@ The <code>ExecStartPre=/bin/sleep 30</code> is intended to avoid recent hangs in </div> <div class="org-src-container"> -<q>roles_t/abbey-weather/handlers/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-weather/handlers/main.yml"><q>roles_t/abbey-weather/handlers/main.yml</q></a><pre class="src src-conf">--- - name: Reload Systemd. become: yes command: systemctl daemon-reload @@ -2281,9 +2300,9 @@ The <code>ExecStartPre=/bin/sleep 30</code> is intended to avoid recent hangs in The abbey uses Zoneminder to record video from PoE IP HD security cameras. The Abbey DVR Role installs Zoneminder and configures it to record to <q>/Zoneminder/</q>, the mount point for a separate, large -storage volume. It follows the instructions in -<q>/usr/share/doc/zoneminder/README.Debian</q> to create the <code>zm</code> database -and configuring Apache. +storage volume. It follows the instructions in Zoneminder's +<q>README.Debian</q> (in <q>/usr/share/doc/zoneminder/</q>) to create the <code>zm</code> +database and configure Apache. </p> </div> <div id="outline-container-org4fe0a29" class="outline-3"> @@ -2343,8 +2362,8 @@ described in the final section, <a href="#org1115114">Configure Cameras</a>, bel </p> </div> </div> -<div id="outline-container-orgac6382f" class="outline-3"> -<h3 id="orgac6382f"><span class="section-number-3">8.4.</span> Include Abbey Variables</h3> +<div id="outline-container-org35b02fa" class="outline-3"> +<h3 id="org35b02fa"><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 @@ -2353,7 +2372,7 @@ playbook's directory, <q>playbooks/</q>. </p> <div class="org-src-container"> -<q>roles_t/abbey-dvr/tasks/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-dvr/tasks/main.yml"><q>roles_t/abbey-dvr/tasks/main.yml</q></a><pre class="src src-conf">--- - name: Include private abbey variables. include_vars: ../private/vars-abbey.yml </pre> @@ -2382,7 +2401,7 @@ and "Time Zone" in <q>/usr/share/doc/zoneminder/README.Debian.gz</q>. </p> <div class="org-src-container"> -<q>roles_t/abbey-dvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-dvr/tasks/main.yml"><q>roles_t/abbey-dvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install Zoneminder. become: yes <span class="org-variable-name">apt: pkg</span>=zoneminder @@ -2431,7 +2450,7 @@ and "Time Zone" in <q>/usr/share/doc/zoneminder/README.Debian.gz</q>. </div> <div class="org-src-container"> -<q>roles_t/abbey-dvr/handlers/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-dvr/handlers/main.yml"><q>roles_t/abbey-dvr/handlers/main.yml</q></a><pre class="src src-conf">--- - name: Restart MySQL. become: yes systemd: @@ -2452,7 +2471,7 @@ out of <q>/var/log/syslog</q>. </p> <div class="org-src-container"> -<q>roles_t/abbey-dvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-dvr/tasks/main.yml"><q>roles_t/abbey-dvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Use /var/log/zoneminder.log become: yes copy: @@ -2506,7 +2525,7 @@ the <code>apg -n 1 -x 12 -m 12</code> command. </p> <div class="org-src-container"> -<q>private/vars-abbey.yml</q><pre class="src src-conf">zoneminder_dbpass: gakJopbikJadsEdd +<a href="private/vars-abbey.yml"><q>private/vars-abbey.yml</q></a><pre class="src src-conf">zoneminder_dbpass: gakJopbikJadsEdd </pre> </div> @@ -2570,7 +2589,7 @@ or not (yet). </p> <div class="org-src-container"> -<q>roles_t/abbey-dvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-dvr/tasks/main.yml"><q>roles_t/abbey-dvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Test for /Zoneminder/. stat: path: /Zoneminder @@ -2610,7 +2629,7 @@ proper permissions and contains the correct password. </p> <div class="org-src-container"> -<q>roles_t/abbey-dvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-dvr/tasks/main.yml"><q>roles_t/abbey-dvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Set /etc/zm/zm.conf permissions. become: yes file: @@ -2636,7 +2655,7 @@ run. </p> <div class="org-src-container"> -<q>roles_t/abbey-dvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-dvr/tasks/main.yml"><q>roles_t/abbey-dvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Enable/Start Zoneminder. become: yes systemd: @@ -2770,8 +2789,8 @@ machine simply by adding it to the <code>tvrs</code> group. </p> </div> </div> -<div id="outline-container-org674d533" class="outline-3"> -<h3 id="org674d533"><span class="section-number-3">9.3.</span> Include Abbey Variables</h3> +<div id="outline-container-org5d81be5" class="outline-3"> +<h3 id="org5d81be5"><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 @@ -2780,7 +2799,7 @@ directory, <q>playbooks/</q>. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf">--- - name: Include private abbey variables. include_vars: ../private/vars-abbey.yml </pre> @@ -2824,7 +2843,7 @@ following. </p> <div class="org-src-container"> -<pre class="src src-diff"><span class="org-diff-header">diff --git a/roles/mythtv-deb/tasks/main.yml b/roles/mythtv-deb/tasks/main.yml</span> +<pre class="src src-diff"><span class="org-diff-header">diff --git a/roles/mythtv-deb/tasks/main.yml b/roles/mythtv-deb/tasks</span> <span class="org-diff-header">index 868c9b7..3dcf115 100644</span> <span class="org-diff-header">--- </span><span class="org-diff-header"><span class="org-diff-file-header">a/roles/mythtv-deb/tasks/main.yml</span></span> <span class="org-diff-header">+++ </span><span class="org-diff-header"><span class="org-diff-file-header">b/roles/mythtv-deb/tasks/main.yml</span></span> @@ -2836,7 +2855,7 @@ following. <span class="org-diff-context"> apt:</span> <span class="org-diff-context"> name:</span> <span class="org-diff-context"> '{{ lookup("flattened", deb_pkg_lst ) }}'</span> -<span class="org-diff-header">diff --git a/roles/qt5/tasks/qt5-deb.yml b/roles/qt5/tasks/qt5-deb.yml</span> +<span class="org-diff-header">diff --git a/roles/qt5/tasks/qt5-deb.yml b/roles/qt5/tasks/qt5-deb.ym</span> <span class="org-diff-header">index 7a1a0bc..26ba782 100644</span> <span class="org-diff-header">--- </span><span class="org-diff-header"><span class="org-diff-file-header">a/roles/qt5/tasks/qt5-deb.yml</span></span> <span class="org-diff-header">+++ </span><span class="org-diff-header"><span class="org-diff-file-header">b/roles/qt5/tasks/qt5-deb.yml</span></span> @@ -2852,7 +2871,7 @@ following. </div> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/mains.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/mains.yml"><q>roles_t/abbey-tvr/tasks/mains.yml</q></a><pre class="src src-conf"> - name: Install MythTV runtime requisites. become: yes apt: @@ -2911,7 +2930,7 @@ Several of the remaining installation steps are skipped unless </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Test for MythTV binary packages. stat: path: /usr/local/bin/mythtv-setup @@ -2931,7 +2950,7 @@ MythTV Backend needs to run as its own user: <code>mythtv</code>. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Create mythtv. become: yes user: @@ -2979,7 +2998,7 @@ kept in <q>private/vars-abbey.yml</q>, and generated e.g. with the <code>apg -n </p> <div class="org-src-container"> -<q>private/vars-abbey.yml</q><pre class="src src-conf">mythtv_dbpass: daJkibpoJkag +<a href="private/vars-abbey.yml"><q>private/vars-abbey.yml</q></a><pre class="src src-conf">mythtv_dbpass: daJkibpoJkag </pre> </div> @@ -3061,7 +3080,7 @@ This task installs the <q>mythtv-backend.service</q> file. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/mains.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/mains.yml"><q>roles_t/abbey-tvr/tasks/mains.yml</q></a><pre class="src src-conf"> - name: Create mythtv-backend service. become: yes copy: @@ -3090,7 +3109,7 @@ This task installs the <q>mythtv-backend.service</q> file. </div> <div class="org-src-container"> -<q>roles_t/abbey-tvr/handlers/main.yml</q><pre class="src src-conf">--- +<a href="roles_t/abbey-tvr/handlers/main.yml"><q>roles_t/abbey-tvr/handlers/main.yml</q></a><pre class="src src-conf">--- - name: Reload Systemd. become: yes command: systemctl daemon-reload @@ -3107,7 +3126,7 @@ bitter complaints. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Configure PHP date.timezone. become: yes lineinfile: @@ -3123,7 +3142,7 @@ bitter complaints. </div> <div class="org-src-container"> -<q>roles_t/abbey-tvr/handlers/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/handlers/main.yml"><q>roles_t/abbey-tvr/handlers/main.yml</q></a><pre class="src src-conf"> - name: Restart Apache2. become: yes systemd: @@ -3145,7 +3164,7 @@ creates that directory and ensures it has appropriate permissions. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Create MythTV storage area. become: yes file: @@ -3306,7 +3325,8 @@ Afterwards any re-configuration should use the following command. </p> <div class="org-src-container"> -<pre class="src src-sh">tv_grab_zz_sdjson --configure --config-file ~/.mythtv/Mr.Antenna.xmltv +<pre class="src src-sh">tv_grab_zz_sdjson --configure <span class="org-sh-escaped-newline">\</span> + --config-file ~/.mythtv/Mr.Antenna.xmltv </pre> </div> @@ -3316,8 +3336,8 @@ the list of "inputs" available in a postal code typically ends with the OTA (over the air) broadcasts. </p> -<pre class="example" id="orgb8f0d61"> -$ tv_grab_zz_sdjson --configure --config-file .mythtv/Mr.Antenna.xmltv +<pre class="example" id="org4c5b01d"> +$ 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] If you are migrating from a different grabber selecting an alternate @@ -3327,7 +3347,7 @@ Select channel ID format: 1: tv_grab_na_dd Format (eg: I12345.labs.zap2it.com) 2: MythTV Internal DD Grabber Format (eg: 12345) Select one: [0,1,2 (default=0)] -As the JSON data only includes the previously shown date normally the +As the JSON data only includes the previously shown date normally th XML output should only have the date. However some programs such as older versions of MythTV also need a time. Select previously shown format: @@ -3339,7 +3359,7 @@ Username: USERNAME Schedules Direct password. Password: PASSWORD ** POST https://json.schedulesdirect.org/20141201/token ==> 200 OK -** GET https://json.schedulesdirect.org/20141201/status ==> 200 OK (1s) +** GET https://json.schedulesdirect.org/20141201/status ==> 200 OK ( ** GET https://json.schedulesdirect.org/20141201/lineups ==> 200 OK This step configures the lineups enabled for your Schedules Direct account. It impacts all other configurations and programs using the @@ -3415,7 +3435,7 @@ away from <q>/var/log/syslog</q>) and rotates the log file. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf"> <span class="org-variable-name">- name: Install</span> =/etc/rsyslog.d/40-mythtv.conf. become: yes copy: @@ -3484,7 +3504,7 @@ The following tasks take care of the rest of the installation. </p> <div class="org-src-container"> -<q>roles_t/abbey-tvr/tasks/main.yml</q><pre class="src src-conf"> +<a href="roles_t/abbey-tvr/tasks/main.yml"><q>roles_t/abbey-tvr/tasks/main.yml</q></a><pre class="src src-conf"> - name: Install MythWeb requisites. become: yes apt: @@ -3520,7 +3540,7 @@ The following tasks take care of the rest of the installation. </div> <div class="org-src-container"> -<q>roles_t/abbey-tvr/templates/mythweb.conf.j2</q><pre class="src src-conf"><span class="org-comment-delimiter">#</span> +<a href="roles_t/abbey-tvr/templates/mythweb.conf.j2"><q>roles_t/abbey-tvr/templates/mythweb.conf.j2</q></a><pre class="src src-conf"><span class="org-comment-delimiter">#</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Apache configuration directives for MythWeb.</span> <span class="org-comment-delimiter">#</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Note that this file is maintained by the network administration.</span> @@ -3596,7 +3616,8 @@ program as user <code>mythtv</code>. </p> <div class="org-src-container"> -<pre class="src src-sh">tv_grab_zz_sdjson --configure --config-file ~/.mythtv/Mr.Antenna.xmltv +<pre class="src src-sh">tv_grab_zz_sdjson --configure <span class="org-sh-escaped-newline">\</span> + --config-file ~/.mythtv/Mr.Antenna.xmltv </pre> </div> @@ -3674,7 +3695,7 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>. </p> <div class="org-src-container"> -<q>ansible.cfg</q><pre class="src src-conf">[<span class="org-type">defaults</span>] +<a href="ansible.cfg"><q>ansible.cfg</q></a><pre class="src src-conf">[<span class="org-type">defaults</span>] <span class="org-variable-name">interpreter_python</span>=/usr/bin/python3 <span class="org-variable-name">vault_password_file</span>=Secret/vault-password <span class="org-variable-name">inventory</span>=hosts @@ -3687,7 +3708,7 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>. <h3 id="orgd0676df"><span class="section-number-3">10.2.</span> <q>hosts</q></h3> <div class="outline-text-3" id="text-10-2"> <div class="org-src-container"> -<q>hosts</q><pre class="src src-conf" id="orgc3f7e11">all: +<a href="hosts"><q>hosts</q></a><pre class="src src-conf" id="orgc3f7e11">all: vars: ansible_user: sysadm ansible_ssh_extra_args: -i Secret/ssh_admin/id_rsa @@ -3766,7 +3787,7 @@ institutional roles, then the liturgical roles. </p> <div class="org-src-container"> -<q>playbooks/site.yml</q><pre class="src src-conf">--- +<a href="playbooks/site.yml"><q>playbooks/site.yml</q></a><pre class="src src-conf">--- - name: Configure All hosts: all roles: [ all ] @@ -3850,7 +3871,7 @@ The script begins with the following prefix and trampolines. </p> <div class="org-src-container"> -<q>abbey</q><pre class="src src-perl"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/perl -w</span> +<a href="abbey"><q>abbey</q></a><pre class="src src-perl"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/perl -w</span> <span class="org-comment-delimiter">#</span> <span class="org-comment-delimiter"># </span><span class="org-comment">DO NOT EDIT. This file was tangled from README.org.</span> @@ -3880,7 +3901,7 @@ code block "duplicates" the action of the institute's </p> <div class="org-src-container"> -<q>playbooks/check-inst-vars.yml</q><pre class="src src-conf">- import_playbook: ../Institute/playbooks/check-inst-vars.yml +<a href="playbooks/check-inst-vars.yml"><q>playbooks/check-inst-vars.yml</q></a><pre class="src src-conf">- import_playbook: ../Institute/playbooks/check-inst-vars.yml </pre> </div> </div> @@ -3906,7 +3927,7 @@ a limit pattern. For example: <div class="org-src-container"> -<q>abbey</q><pre class="src src-perl"> +<a href="abbey"><q>abbey</q></a><pre class="src src-perl"> <span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"upgrade"</span>) { shift; <span class="org-type">my</span> @<span class="org-underline"><span class="org-variable-name">args</span></span> = ( <span class="org-string">"-e"</span>, <span class="org-string">"\@Secret/become.yml"</span> ); @@ -3927,7 +3948,7 @@ a limit pattern. For example: </div> <div class="org-src-container"> -<q>playbooks/upgrade.yml</q><pre class="src src-conf">- hosts: all +<a href="playbooks/upgrade.yml"><q>playbooks/upgrade.yml</q></a><pre class="src src-conf">- hosts: all tasks: - name: Upgrade packages. @@ -3961,7 +3982,7 @@ The script implements a <code>reboots</code> sub-command that looks for </p> <div class="org-src-container"> -<q>abbey</q><pre class="src src-perl"><span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"reboots"</span>) { +<a href="abbey"><q>abbey</q></a><pre class="src src-perl"><span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"reboots"</span>) { <span class="org-keyword">exec</span> (<span class="org-string">"ansible-playbook"</span>, <span class="org-string">"-e"</span>, <span class="org-string">"\@Secret/become.yml"</span>, <span class="org-string">"playbooks/reboots.yml"</span>); } @@ -3969,7 +3990,7 @@ The script implements a <code>reboots</code> sub-command that looks for </div> <div class="org-src-container"> -<q>playbooks/reboots.yml</q><pre class="src src-conf">--- +<a href="playbooks/reboots.yml"><q>playbooks/reboots.yml</q></a><pre class="src src-conf">--- - hosts: all tasks: @@ -3993,7 +4014,7 @@ operating system version of all abbey managed machines. </p> <div class="org-src-container"> -<q>abbey</q><pre class="src src-perl"><span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"versions"</span>) { +<a href="abbey"><q>abbey</q></a><pre class="src src-perl"><span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"versions"</span>) { <span class="org-keyword">exec</span> (<span class="org-string">"ansible-playbook"</span>, <span class="org-string">"-e"</span>, <span class="org-string">"\@Secret/become.yml"</span>, <span class="org-string">"playbooks/versarch.yml"</span>); } @@ -4001,7 +4022,7 @@ operating system version of all abbey managed machines. </div> <div class="org-src-container"> -<q>playbooks/versarch.yml</q><pre class="src src-conf">- hosts: all +<a href="playbooks/versarch.yml"><q>playbooks/versarch.yml</q></a><pre class="src src-conf">- hosts: all tasks: - debug: msg: >- @@ -4039,7 +4060,7 @@ last host in the previous play. </p> <div class="org-src-container"> -<q>abbey</q><pre class="src src-perl"><span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"tz"</span>) { +<a href="abbey"><q>abbey</q></a><pre class="src src-perl"><span class="org-keyword">if</span> ($<span class="org-variable-name">ARGV</span>[0] eq <span class="org-string">"tz"</span>) { <span class="org-type">my</span> $<span class="org-variable-name">city</span> = <span class="org-string">`cat /etc/timezone`</span>; chomp $<span class="org-variable-name">city</span>; <span class="org-type">my</span> $<span class="org-variable-name">zone</span> = <span class="org-string">`date +%Z`</span>; chomp $<span class="org-variable-name">zone</span>; print <span class="org-string">"Setting timezones to $city.\n"</span>; @@ -4051,7 +4072,7 @@ last host in the previous play. </div> <div class="org-src-container"> -<q>playbooks/timezone.yml</q><pre class="src src-conf">--- +<a href="playbooks/timezone.yml"><q>playbooks/timezone.yml</q></a><pre class="src src-conf">--- - hosts: core, dvrs, tvrs tasks: - name: Update timezone. @@ -4107,8 +4128,8 @@ last host in the previous play. <h3 id="org773e94c"><span class="section-number-3">11.7.</span> Abbey Command Help</h3> <div class="outline-text-3" id="text-11-7"> <div class="org-src-container"> -<q>abbey</q><pre class="src src-perl"><span class="org-keyword">die</span> - <span class="org-string">"usage: $0 [config,new,old,pass,client,upgrade,reboots,versions]\n"</span>; +<a href="abbey"><q>abbey</q></a><pre class="src src-perl"><span class="org-type">my</span> $<span class="org-variable-name">ops</span> = <span class="org-string">"config,new,old,pass,client,upgrade,reboots,versions"</span>; +<span class="org-keyword">die</span> <span class="org-string">"usage: $0 [$ops]\n"</span>; </pre> </div> </div> @@ -4821,7 +4842,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-03-12 Tue 10:37</p> +<p class="date">Created: 2024-04-01 Mon 17:59</p> <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> </div> </body>