From b2115580a595a07e396e6a442a9e8733e36330d9 Mon Sep 17 00:00:00 2001 From: Edu4rdSHL Date: Sun, 14 Mar 2021 00:58:19 -0500 Subject: [PATCH] Initial tools. --- nspawn-generate-list.service | 13 +++++++++++++ nspawn-generate-list.timer | 10 ++++++++++ nspawn-list-generator | 7 +++++++ 3 files changed, 30 insertions(+) create mode 100644 nspawn-generate-list.service create mode 100644 nspawn-generate-list.timer create mode 100755 nspawn-list-generator diff --git a/nspawn-generate-list.service b/nspawn-generate-list.service new file mode 100644 index 0000000..5a47de6 --- /dev/null +++ b/nspawn-generate-list.service @@ -0,0 +1,13 @@ +# /etc/systemd/system/nspawn-generate-list.service +[Unit] +Description=Generate list of available machines for hub.nspawn.org + +[Service] +Type=simple +WorkingDirectory=/var/www/html/storage +Restart=always +RestartSec=10 +ExecStart=/usr/bin/nspawn-list-generator + +[Install] +WantedBy=default.target diff --git a/nspawn-generate-list.timer b/nspawn-generate-list.timer new file mode 100644 index 0000000..07b98ed --- /dev/null +++ b/nspawn-generate-list.timer @@ -0,0 +1,10 @@ +# /etc/systemd/system/nspawn-generate-list.timer +[Unit] + Description=Generate list of available images for hub.nspawn.org + +[Timer] + OnUnitActiveSec=5m + +[Install] + WantedBy=timers.target + diff --git a/nspawn-list-generator b/nspawn-list-generator new file mode 100755 index 0000000..b3f5d55 --- /dev/null +++ b/nspawn-list-generator @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +if [ "$1" == "static" ]; then + find -maxdepth 3 -not -path '*/\.*' -not -empty -print |cut -c 3- |tr '/' ' ' |sort |awk 'NF == 3' |tr ' ' '/' | awk -F/ 'BEGIN {printf("%13s | %10s | %33s \n" ,"DISTRO", "VERSION", "INIT COMMAND")} {printf "%13s | %10s | nspawn -i %s/%s/%s\n", $1, $2, $1, $2, $3}' > list.txt +elif [ "$1" == "website" ]; then + find -maxdepth 3 -not -path '*/\.*' -not -empty -print |sort|cut -c 3- |tr '/' ' ' |awk 'NF == 3' |tr ' ' '/' | awk -F/ 'BEGIN {printf("| %13s | %10s | %25s | %20s |\n%13s | %10s | %25s | %20s |\n" ,"**Linux Distribution**", "**Version**", "**Init Command**", "**Download Link**", "--------------", "------------", "---------------------------", "--------------------")} {printf "| %13s | %10s | nspawn -i %s/%s/%s | [%s-%s](/storage/%s/%s/%s/image.%s.xz)|\n", toupper(substr($1,1,1))substr($1,2), $2, $1, $2, $3, $1, $3, $1, $2, $3, $3}' +fi