readme.md (4934B)
1 # fiss (Friedel's Initialization and Service Supervision) 2 3 > 0.3.3 (May 2023) 4 5 fiss is a lightweight and easy-to-use tool for initializing and supervising long-running services on Unix-like systems. It provides a simple and reliable way to start, stop, and monitor services. It supports automatic restarts, logging, and customizable startup options. 6 7 fiss is inspired by tools like [runit](http://smarden.org/runit/) and [daemontools](http://cr.yp.to/daemontools.html), but it aims to be simpler and more flexible, while still providing a similar level of reliability and security. 8 9 ## Features 10 11 fiss provides the following features: 12 13 - Automatic restarts: If a service exits unexpectedly, fiss will automatically restart it, up to a configurable number of times. 14 - Logging: fiss captures the stdout and stderr of the service and writes them to log files, which can be rotated and compressed. 15 - Customizable startup options: fiss allows you to specify environment variables, working directory, umask, and other options for the service. 16 - Supervision: fiss monitors the service and ensures that it stays running, or else it terminates the service and retries later. 17 - Status monitoring: fiss provides a simple command-line interface to check the status of a service, including its uptime, PID, and exit code. 18 - Simple configuration: fiss uses a simple directory structure to store the configuration for each service, making it easy to manage and version control. 19 20 21 ## Thanks to 22 23 Thanks to D. J. Bernstein for [`daemontools`](http://cr.yp.to/daemontools.html) and build a sane and beautiful service management system. 24 25 Thanks to G. Pape to contribute and extend `daemontool` by building the init-system [`runit`](http://smarden.org/runit/). 26 27 Thanks to the contributers of [Void Linux](`https://voidlinux.org/`) for the [`runit-tools`](https://github.com/void-linux/void-runit) to make some scripts and programs around `runit` to make it an complete init-system for linux. 28 29 Without you, `fiss` would not be possible :heart:! 30 31 ## Contributing 32 33 Contributing is always welcome :grin:! 34 35 This is possible by issueing problems or ideas at [GitHub](https://github.com/friedelschoen/fiss/), I'll look forward to implement them. 36 37 Or if you got some free time left, you can add code to this project do a pull-request! To help you on your way, a little description: 38 39 | directory | description | 40 |-----------------------|-------------------------------------------------------| 41 | .github/ | workflows for github, like building | 42 | assets/ | assets for the docs-website | 43 | bin/ | resulting executables | 44 | bin/*.c | C-sources | 45 | bin/*.lnk | links to other executables<sup>1</sup> | 46 | bin/*.sh | shell-scripts | 47 | contrib/ | helpful files for contributing | 48 | contrib/command.txt | internal commands for service's `supervise/control` | 49 | contrib/docs.txt | custom documentation and manual format in docs/ | 50 | contrib/make.txt | custom make-headers | 51 | contrib/serialize.txt | serialization of `supervise/status` | 52 | docs/ | pages to include on the website | 53 | include/ | C-headers | 54 | man/ | manuals | 55 | mk/ | common files for `make` | 56 | share/ | files for `fiss`, should be installed at `/usr/share` | 57 | src/ | C-sources for executables | 58 | tools/ | tools for building | 59 | tools/make-docs.py | converts a `.txt`-file to `.html` | 60 | tools/make-man.py | converts a `.txt`-file to a roff-file | 61 | .clang-format | format-specification for `clang-format` | 62 | configure | configure behaviour of the resulting executables | 63 | fiss.svg | logo of fiss | 64 | LICENSE | license-text (zlib-license) | 65 | Makefile | makefile for gnu make | 66 | readme.md | what you are reading right now | 67 68 - <sup>1</sup>plain text files containing the name of the symbolic link 69 70 > :warning: please format your modification using `clang-format` and the `.clang-format` specifications! 71 72 ## Licensing 73 74 This project is licensed under the terms of the [zlib license](./LICENSE).