Skip to content
A init/rc manager inspired by 66 and based on s6 suite
C++ D Meson
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
examples
include
src
subprojects
test
.clang-format
.gitignore
LICENSE
README.md
meson.build
meson_options.txt

README.md

tt

codecov CodeFactor

tt is a Work in Progress init and service manager inspired by 66 and based on the s6 suite.

tt tries to offer a valid alternative to systemd for PID 1 and service management. It uses the supervision to manage long running programs (deamons), log everything to files (no binary log interface) and provides an easy to use command line interface.

Inheriting s6-rc feature, the services must be compiled before being able to run. This is one of the biggest differences with the current service managers, which instead are based on runtime services.

tt is designed to run on both desktops and servers, and does not target embedded devices; if memory and space are constrained (e.g. you're configuring a router), then the use of s6 configured ad-hoc for that machine is recommended.

Planned features

  • Support for different types of services: oneshot, deamons and bundles
  • Predictable dependencies at build time
  • Asynchrounus start of the services (no run levels)
  • Log everything into files, no syslog needed for deamons
  • Low footprint
  • Target desktop and servers
  • Conditional dependencies for complex services (such as web apps)
  • Provides sane defaults
  • Prioritize usability

Getting started

Dependencies

tt depends on the following libraries:

You can install them using your package manager.

Building

To build tt a working C++ compiler is required. Meson will take care of the rest:

$ meson build
$ ninja -C build

Testing

tt test suite uses catch2 header-only library. If this dependency is not found on the system, meson will download a copy to use in the local repository. To run the tt test suite, execute the following commands:

$ meson -Dtests=enabled build
$ ninja -C build test

Contributing

Feel free to contribute by opening a Pull Request! Have a look at Github Issues for the current development tasks.

Formatting your changes

tt follows the Google C++ Style Guide and uses clang-format to apply this style. If you have clang-format installed, run the following command to format your changes:

$ ninja -C build clang-format

License

tt is licensed under the GPL-3.0 License - see LICENSE file for more details.

You can’t perform that action at this time.