Modification : vm_{host,hosted,remote} -> {host,local,remote}/ .
[lhc/ateliers.git] / remote / runit-configure
diff --git a/remote/runit-configure b/remote/runit-configure
new file mode 100755 (executable)
index 0000000..0a9a5ea
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh -eu
+# SYNTAX: $sv [...] -- $sv_options
+tool=$(readlink -e "${0%/*}/..")
+. "$tool"/remote/lib.sh
+
+if test $# = 0
+ then
+       set +x
+       "$tool"/remote/ssh sudo sv status \
+        $(sudo find /etc/sv \
+        -mindepth 1 -maxdepth 1 -type d \
+        -printf '%p\n' | sort)
+ else
+       services=
+       while [ $# -gt 0 ]
+        do case $1 in
+                (--) shift; break;;
+                (*) services="$services ${1#etc/sv/}"; shift;;
+                esac
+        done
+       for sv in $(find "$tool"/etc/sv \
+        -mindepth 1 -maxdepth 1 -type d \
+        -false $(printf -- '-or -name %s\n' $services) \
+        -printf '%f\n')
+        do
+               (
+               test ! -r "$tool"/etc/sv/"$sv"/remote.sh ||
+               .         "$tool"/etc/sv/"$sv"/remote.sh || return 1
+               )
+        done
+ fi