summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2022-08-04 22:17:54 +0300
committerPaul Buetow <paul@buetow.org>2022-08-04 22:17:54 +0300
commit3f005c6ef3f35087221051afc4a70a4deb104c91 (patch)
tree10d7dc6992fb34de3811c069d515958688a3df46
parent23b88eada5e53e408a369e67bab58a7fc61a52f1 (diff)
add gemtexter.sh updater
-rw-r--r--frontends/Rexfile19
-rw-r--r--frontends/scripts/gemtexter.sh.tpl34
2 files changed, 53 insertions, 0 deletions
diff --git a/frontends/Rexfile b/frontends/Rexfile
index e61cfb1..8662227 100644
--- a/frontends/Rexfile
+++ b/frontends/Rexfile
@@ -110,6 +110,24 @@ task 'uptimed', group => 'frontends',
service 'uptimed', ensure => 'started';
};
+desc 'Configure the gemtexter sites';
+task 'gemtexter', group => 'frontends',
+ sub {
+ file '/usr/local/bin/gemtexter.sh',
+ content => template('./scripts/gemtexter.sh.tpl'),
+ owner => 'root',
+ group => 'wheel',
+ mode => '744';
+
+ file '/etc/daily.local',
+ ensure => 'present',
+ owner => 'root',
+ group => 'wheel',
+ mode => '644';
+
+ append_if_no_such_line '/etc/daily.local', '/usr/local/bin/gemtexter.sh';
+ };
+
desc 'Configure ACME client';
task 'acme', group => 'frontends',
sub {
@@ -311,6 +329,7 @@ task 'commons', group => 'frontends',
base();
uptimed();
httpd();
+ gemtexter();
acme();
acme_invoke();
inetd();
diff --git a/frontends/scripts/gemtexter.sh.tpl b/frontends/scripts/gemtexter.sh.tpl
new file mode 100644
index 0000000..a5a0aba
--- /dev/null
+++ b/frontends/scripts/gemtexter.sh.tpl
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+function ensure_site {
+ dir=$1
+ repo=$2
+ branch=$3
+
+ basename=$(basename $dir)
+ parent=$(dirname $dir)
+
+ if [ ! -d $parent ]; then
+ mkdir -p $parent
+ fi
+
+ cd $parent
+ if [ ! -d $basename ]; then
+ git clone $repo -b $branch --single-branch $basename
+ else
+ cd $basename
+ git pull
+ fi
+}
+
+for site in foo.zone snonux.land; do
+ ensure_site \
+ /var/gemini/$site \
+ https://codeberg.org/snonux/$site \
+ content-gemtext
+ ensure_site \
+ /var/www/htdocs/gemtexter/$site \
+ https://codeberg.org/snonux/$site \
+ content-html
+done
+