summaryrefslogtreecommitdiffstats
path: root/doc/service/user
diff options
context:
space:
mode:
Diffstat (limited to 'doc/service/user')
-rw-r--r--doc/service/user/.s6-svscan.html48
-rw-r--r--doc/service/user/goetia-runner.html36
-rw-r--r--doc/service/user/goetia-shutdown.html67
-rw-r--r--doc/service/user/s6-svscan-log.html39
4 files changed, 190 insertions, 0 deletions
diff --git a/doc/service/user/.s6-svscan.html b/doc/service/user/.s6-svscan.html
new file mode 100644
index 0000000..c861e00
--- /dev/null
+++ b/doc/service/user/.s6-svscan.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>user .s6-svscan</title>
+ <meta name="Description" content="Configuration directory for s6-svscan for the user supervision tree" />
+ <meta name="Keywords" content="goetia s6 s6-svscan user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The user .s6-svscan directory</h1>
+ <p>
+ The .s6-svscan directory contains scripts
+ that are executed if
+ <a href="https://skarnet.org/software/s6/s6-svscan.html">s6-svscan</a>
+ receives a signal or exits.
+ In this case its main use is to properly shutdown the
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision tree</a>
+ using:
+ </p>
+ <ul>
+ <li>
+ <a href="//0x53.net/software/goetia/goetia-base/bin/user-shutdown.html">user-shutdown</a>
+ upon receiving SIGTERM.
+ </li>
+ <li>
+ Deleting the <a href="//0x53.net/software/goetia/rundir.html">runtime directory</a>
+ of the user supervision tree in the <code>finish</code> script.
+ </li>
+ </ul>
+ <p>
+ The .s6-svscan directory is easily overlooked,
+ do not forget to symlink/copy it!
+ </p>
+ </body>
+</html>
diff --git a/doc/service/user/goetia-runner.html b/doc/service/user/goetia-runner.html
new file mode 100644
index 0000000..1e6591c
--- /dev/null
+++ b/doc/service/user/goetia-runner.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>user goetia-runner</title>
+ <meta name="Description" content="User service for running little scripts from the user supervision tree." />
+ <meta name="Keywords" content="goetia s6 service run user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The user goetia-runner service</h1>
+ <p>
+ This service allows to hand of execution of a commandline to the
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision tree</a>.
+ It is the "server side" counterpart to
+ <a href="//0x53.net/software/goetia/goetia-base/bin/user-run.html">user-run</a>.
+ To achieve that,
+ goetia-runner makes user of
+ <a href="https://skarnet.org/software/s6/s6-ipcserver.html">s6-ipcserver</a>
+ and
+ <a href="https://skarnet.org/software/s6/s6-sudod.html">s6-sudod</a>.
+ </p>
+ </body>
+</html>
diff --git a/doc/service/user/goetia-shutdown.html b/doc/service/user/goetia-shutdown.html
new file mode 100644
index 0000000..5652923
--- /dev/null
+++ b/doc/service/user/goetia-shutdown.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>user goetia-shutdown</title>
+ <meta name="Description" content="Script to tear down a user supervision tree." />
+ <meta name="Keywords" content="goetia s6 s6-rc shutdown user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The user goetia-shutdown service</h1>
+ <p>
+ The user goetia-shutdown service is used to tear down
+ <a href="//0x53.net/software/goetia/supervisiontree.html#user">user supervision trees</a>.
+ Upon being started it:
+ <ul>
+ <li>
+ It reads the <code>USER</code> environment variable,
+ if it is empty it exits 100.
+ </li>
+ <li>
+ It reads the <code>USERTREE</code> environment variable,
+ If it is empty it exits 100.
+ </li>
+ <li>
+ It checks whether the subdirectory
+ <code>${USER}/${USERTREE}</code>
+ of the
+ <a href="//0x53.net/software/goetia/rundir.html#user">user runtime directory</a>
+ exists. If not, meaning no user supervision tree is running, it exits 0.
+ </li>
+ <li>
+ It makes all of its stdout and stderr go to the
+ <a href="//0x53.net/software/goetia/goetia-base/service/user/s6-svscan-log.html">s6-svscan-log</a>
+ of the user supervision tree.
+ </li>
+ <li>
+ It stops all services managed by
+ <a href="https://skarnet.org/software/s6-rc/">s6-rc</a>.
+ </li>
+ <li>
+ It sends SIGHUP to s6-svscan-log of the user supervision tree.
+ This is important, since s6-svscan will keep the fifo open,
+ waiting for s6-svscan-log to exit, which in turn waits for
+ EOF before exiting itself.
+ SIGHUP tells s6-svscan-log to immediatly exit.
+ </li>
+ <li>
+ It tells
+ <a href="https://skarnet.org/software/s6/s6-svscan.html">s6-svscan</a>
+ to stop all remaining services and exit.
+ </li>
+ </ul>
+ </body>
+</html>
diff --git a/doc/service/user/s6-svscan-log.html b/doc/service/user/s6-svscan-log.html
new file mode 100644
index 0000000..f434517
--- /dev/null
+++ b/doc/service/user/s6-svscan-log.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>user s6-svscan-log</title>
+ <meta name="Description" content="User service for catch-all-logging a user supervision tree." />
+ <meta name="Keywords" content="goetia s6 log user supervision tree" />
+ </head>
+ <header>
+ <p>
+ <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a>
+ <br />
+ <a href="//0x53.net/software/goetia">goetia</a>
+ <br />
+ <a href="//0x53.net/software">Software</a>
+ <br />
+ <a href="//0x53.net">0x53.net</a>
+ </p>
+ </header>
+ <body>
+ <h1>The user s6-svscan-log service</h1>
+ <p>
+ This service writes all messages
+ that arrive at the
+ <a href="https://skarnet.org/software/s6/s6-svscan.html">s6-svscan</a>
+ process, as well as the stdout
+ of s6-svscan itself to a directory of the logdir format
+ (see <a href="https://skarnet.org/software/s6/s6-log.html">s6-log</a>
+ and
+ <a href="//0x53.net/software/goetia/logdir.html">logging directory</a>).
+ This is
+ <code>${XDG_STATE_HOME}/log/uncaught-logs</code>,
+ if <code>${XDG_STATE_HOME}</code> is unset it defaults to
+ <code>${HOME}/.local/state/log/uncaught-logs</code>
+ </p>
+ </body>
+</html>