faster retries to avoid alerts
[distro-setup] / distro-end
index b1b7a9f30f2c69866fb2749e96b3878689c427b5..6e86d21a8487225e12b2cf82f0cdab43271cf56b 100755 (executable)
@@ -843,6 +843,8 @@ EOF
     # https://wiki.znc.in/self-message
     # https://wiki.znc.in/Query_buffers                                                \
       #
+    # for geekshed, there was no sasl support as far as I can tell,
+    # so I set to msg nickserv to identify upon connect.
     if ! getent passwd znc > /dev/null; then
       sudo useradd --create-home -d /var/lib/znc --system --shell /sbin/nologin --comment "Account to run ZNC daemon" --user-group znc
     fi
@@ -1548,23 +1550,30 @@ sudo chown -R debian-transmission:debian-transmission /var/lib/transmission-daem
 #
 # Changed the cache-size to 256 mb, reduces disk use.
 # It is a read & write cache.
-sudo ruby <<EOF
+if ! systemctl is-active transmission-daemon-nn &>/dev/null && \
+    ! systemctl is-active transmission-daemon; then
+  tmp=$(mktemp)
+  command sudo ruby <<EOF >$tmp
 require 'json'
 p = '/etc/transmission-daemon/settings.json'
-File.write(p, JSON.pretty_generate(JSON.parse(File.read(p)).merge({
-'rpc-whitelist-enabled' => false,
-'rpc-authentication-required' => false,
-'incomplete-dir' => '$tdir/partial-torrents',
-'incomplete-dir-enabled' => true,
-'download-dir' => '$tdir/torrents',
-"speed-limit-up" => 800,
-"speed-limit-up-enabled" => true,
-"peer-port" => 61486,
-"cache-size-mb" => 256,
-"ratio-limit" => 5.0,
-"ratio-limit-enabled" => false,
-})) + "\n")
+s = {
+  'rpc-whitelist-enabled' => false,
+  'rpc-authentication-required' => false,
+  'incomplete-dir' => '$tdir/partial-torrents',
+  'incomplete-dir-enabled' => true,
+  'download-dir' => '$tdir/torrents',
+  "speed-limit-up" => 800,
+  "speed-limit-up-enabled" => true,
+  "peer-port" => 61486,
+  "cache-size-mb" => 256,
+  "ratio-limit" => 5.0,
+  "ratio-limit-enabled" => false,
+}
+puts(JSON.pretty_generate(JSON.parse(File.read(p)).merge(s)))
 EOF
+  cat $tmp | sudo dd of=/etc/transmission-daemon/settings.json
+
+fi
 
 ####### end transmission
 
@@ -1907,6 +1916,31 @@ EOF
       sysd-prom-fail-install $ser
     done
 
+    ## get upstream because it has the react ui, which has localtime, and general better usability.
+    ## begin get latest upstream prometheus ###
+    cd /a/opt/promdl
+    url=$(curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | jq -r '.assets[].browser_download_url | match(".*linux-amd64.tar.gz$").string')
+    f=${url##*/}
+    if [[ -e $f ]]; then
+      timestamp=$(stat -c %Y $f)
+    else
+      timestamp=0
+    fi
+    m wget -nv -N $url
+    new_timestamp=$(stat -c %Y $f)
+    if [[ $timestamp != $new_timestamp || ! -e /usr/local/bin/prometheus ]]; then
+      ngset
+      to_rm=( !($f) )
+      ngreset
+      if (( ${#to_rm[@]} )); then
+        rm -rf ${to_rm[@]}
+      fi
+      m ex $f
+      dir=${f%.tar.gz}
+      s install $dir/prometheus $dir/promtool /usr/local/bin
+    fi
+    ## end get latest upstream prometheus ###
+
     ;;
   *)
     pi prometheus-node-exporter