danyspin97 / tt

A init/rc manager inspired by s6 and 66. Discontinued in favor of https://github.com/rinit-org/rinit
GNU General Public License v3.0
18 stars 3 forks source link
init services unix

tt

GitHub Liberapay receiving Build Status builds.sr.ht status Travis (.org) Coveralls github CodeFactor Codacy Badge Total alerts Language grade: C/C++ Sonar Quality Gate Sonar Violations (short format) Sonar Tech Debt CII Best Practices

tt is an init and service manager inspired by 66, s6 suite and deamontools.

tt offers 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.

The services must be compiled before being able to run; this is the biggest difference with the most used service managers (systemd, OpenRC, runit), which instead are based on runtime services.

Planned features

Getting started

Dependencies

tt supports the following compilers:

tt depends on the following libraries:

* if these libraries are not found in the system, meson will download and use a local copy.

Building

To build tt run the following commands:

$ meson build
$ ninja -C build

Testing

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:

Continuous Integration

tt is tested under 3 different CI platforms:

All Pull Requests must pass the CI and the static analyzers' checks before being accepted.

$ ninja -C build clang-format

Community

Develoment updates

tt development updates are posted on @danyspin97 blog.

Credits

tt is being developed by @danyspin97 and @Cogitri.

Thanks to @pac85 for its contributions and to all the people that shared ideas for tt.

Credits also to:

Third-party libraries included

License

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