s6-rc
What is it ?
s6-rc is a service manager for s6-based systems, i.e. a suite of programs that can start and stop services, both long-running daemons and one-time initialization scripts, in the proper order according to a dependency tree. It ensures that long-running daemons are supervised by the s6 infrastructure, and that one-time scripts are also run in a controlled environment.
- Why such a program ?
- A high-level overview of s6-rc
- FAQ for s6-rc
- An overview of the repo tools in s6-rc
Installation
Requirements
- A POSIX-compliant system with a standard C development environment
- GNU make, version 3.81 or later
- skalibs version 2.15.0.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library.
- execline version 2.9.9.1 or later. It's a build-time and run-time requirement.
- s6 version 2.15.0.0 or later. It's a build-time and run-time requirement.
Licensing
s6-rc is free software. It is available under the ISC license.
Download
- The current released version of s6-rc is 0.6.1.1. You can access its checksum here.
- Alternatively, you can checkout a copy of the
s6-rc
git repository:
git clone git://git.skarnet.org/s6-rc
- There's also a Codeberg mirror, or a GitHub mirror, or a SourceHut mirror of the s6-rc git repository.
Compilation
- See the enclosed INSTALL file for installation details.
Upgrade notes
- This page lists the differences to be aware of between the previous versions of s6-rc and the current one.
Reference
Commands
Offline tools: creating and managing a compiled service database
Online tools: managing your live services
Upgrading from earlier s6-rc database formats
Programs used internally
- The s6-rc-dryrun internal program
- The s6-rc-oneshot-run internal program
- The s6-rc-fdholder-filler internal program
Management of source definition directories: the repo collection of tools
- An overview of the repo tools
- The s6-rc-repo-init program
- The s6-rc-repo-list program
- The s6-rc-repo-sync program
- The s6-rc-set-new program
- The s6-rc-set-copy program
- The s6-rc-set-delete program
- The s6-rc-set-change program
- The s6-rc-set-status program
- The s6-rc-set-fix program
- The s6-rc-set-commit program
- The s6-rc-set-install program
Related resources
Version 1.0.0.0 of s6-rc was in development for some time, but it was too ambitious a project and had to be scaled back. s6-rc is now focused on incremental improvement.
The s6-frontend project is a higher-level interface to the s6 ecosystem, and s6-rc in particular. If you're looking for an entry point to s6, s6-frontend is what you want. s6-rc is more of a part of the engine.
s6-rc manual pages
- Lennart Jablonka is providing the s6-rc documentation as a set of man pages.
Discussion
- s6-rc is discussed on the skaware mailing-list.
