From 983061db31e02d62359dd8a0cb1e9f125950cfdb Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 13 Aug 2015 20:26:47 +0000 Subject: - add support for --livedir - doc fixes --- doc/overview.html | 15 ++++++++------- doc/s6-rc-compile.html | 17 ++++++++++++----- doc/s6-rc-db.html | 11 +++++++---- doc/s6-rc-init.html | 9 ++++++--- doc/s6-rc.html | 10 ++++++---- doc/why.html | 19 +++++++++++-------- 6 files changed, 50 insertions(+), 31 deletions(-) (limited to 'doc') diff --git a/doc/overview.html b/doc/overview.html index fd544a7..2a90ee6 100644 --- a/doc/overview.html +++ b/doc/overview.html @@ -42,7 +42,7 @@ means bringing services up, or bringing services down.

Supervision suites manage long-lived processes, a.k.a daemons, and sometimes call them services. -With s6-rc, those things are different: a long-lived process is +With s6-rc, things are a little different: a long-lived process is also called a longrun and is a service, but a service does not have to be a longrun. There is a second kind of service, which is called a oneshot, and which represents a change @@ -85,12 +85,13 @@ are both oneshots, both longruns, or a oneshot and a longrun.

- s6-rc also handles an additional kind of service: a bundle. -A bundle is just a collection of oneshots or longruns, described + Oneshots and longruns are called atomic services. +By opposition to atomic services, s6-rc also handles an +additional kind of service that it calls a bundle. +A bundle is just a collection of atomic services, described under a single name. A bundle definition can even contain other bundles, but ultimately a bundle will always represent a set of one -or more oneshots or longruns. A oneshot or longrun is called an -atomic service. +or more atomic services. Bundle names can be used anywhere with the s6-rc user interface, and they will internally be converted to a set of atomic services. An atomic service can depend on a bundle: it will @@ -147,8 +148,8 @@ supervision tree is up and running. s6-rc will only work if there is an active s6-svscan process monitoring a -scan -directory. On Linux, for instance, it is possible to achieve such a state +scan +directory. On Linux, for instance, it is possible to achieve such a state by using an init created by the s6-linux-init-maker tool: when control reaches stage 2, s6-svscan is guaranteed to run, diff --git a/doc/s6-rc-compile.html b/doc/s6-rc-compile.html index 44327ba..6e539e4 100644 --- a/doc/s6-rc-compile.html +++ b/doc/s6-rc-compile.html @@ -159,14 +159,15 @@ character are ignored. The file defines the direct dependencies of It is unnecessary to manually define complete sets of dependencies in the dependency file, because s6-rc will properly handle dependency chains. -anyway. If A depends on B, no matter the underlying +If A depends on B, no matter the underlying implementation of B, and the current implementation of B depends on C, then you should just put B in A/dependencies; when starting the set, s6-rc will start C first, then B, then A. If the underlying implementation of B changes and does not depend on C, then you will just have to -modify the dependencies for B, not for A +modify the dependencies for B, and the definition of A +will still be correct.

@@ -182,13 +183,16 @@ complain and exit 1.

For oneshots

@@ -255,7 +259,10 @@ about pipelines.
  • A mandatory regular file named run, as well as optional files named finish, notification-fd and nosetsid. These files will be copied, or recreated, in the generated -service directory. +service directory: +they are meant to be used by the +s6-supervise +process that will manage the longrun service.
  • Optional directories named data and env. These will be copied verbatim into the generated service directory.
  • An optional file named producer-for. If this file exists, then diff --git a/doc/s6-rc-db.html b/doc/s6-rc-db.html index a60658e..a9d8b9d 100644 --- a/doc/s6-rc-db.html +++ b/doc/s6-rc-db.html @@ -66,12 +66,15 @@ information to stdout, then exits 0.
  • compiled service database in compiled instead of the current live one.
  • -l live : assume the live -state is in live. Default is -/run/s6-rc. This option is ignored if the --c option has been given.
  • +state is in live. This option is ignored if the +-c option has been given. Default is +/run/s6-rc. The default can be changed at package +compilation time, by giving the --livedir=live +option to ./configure.
  • -u : for commands that use different data depending on whether it's about bringing the service up or down, -select the "up" data. This option is ignored when it is irrelevant.
  • +select the "up" data (this is the default). This option is +ignored when it is irrelevant.
  • -d : for commands that use different data depending on whether it's about bringing the service up or down, select the "down" data. This option is ignored when it is irrelevant.
  • diff --git a/doc/s6-rc-init.html b/doc/s6-rc-init.html index 39d11a7..3334525 100644 --- a/doc/s6-rc-init.html +++ b/doc/s6-rc-init.html @@ -35,7 +35,7 @@ invocation of the
  • compiled, live and scandir must be absolute paths.
  • s6-rc-init expects to find a compiled service database -in compiled. It expects to be able to create a directory +in compiled. It expects to be able to create a directory at live. It also expects that an instance of s6-svscan is running on scandir.
  • @@ -48,11 +48,12 @@ subdirectory of live, adds down files to the live copies and links them into scandir. It then triggers s6-svscan, which will pick up the new service directories and start -http://skarnet.org/software/s6/s6-supervise.html">s6-supervise +s6-supervise processes on them - but the service themselves will not be started right away, because of the down files.
  • s6-rc-init waits for all s6-supervise processes to be operational, then exits 0.
  • +

    Options

    @@ -70,7 +71,9 @@ Default is /etc/s6-rc/compiled. the live directory, which should not exist prior to running s6-rc-init, but should be under a writable filesystem - likely a RAM filesystem. Default is -/run/s6-rc. +/run/s6-rc. The default can be changed at compile time by +giving the --livedir=live option to +./configure.

    Typical usage

    diff --git a/doc/s6-rc.html b/doc/s6-rc.html index 75dba9a..1000159 100644 --- a/doc/s6-rc.html +++ b/doc/s6-rc.html @@ -50,7 +50,8 @@ change.