put some good stuff in the readme

master
rasul 5 years ago
parent 93f22c7dc3
commit 20c7cf9d70

@ -1,5 +1,89 @@
this is a work in progress
Sup is a small and simple process supervisor. Configuration file is sup.toml in
the current directory.
the idea is to be a sort of process/session manager sorta .xinitrc replacement
thing for x. configure the stuff you want to run in sup.toml then run sup. there
is no documentation at this time, so probably don't use this.
## Installing
```
cargo install https://gitlab.com/rascul/sup
```
## Running
Sup must find the config file sup.toml in the current directory.
## Features
### Restart
Sup can be configured to restart an application when it stops. There are three
conditions sup can watch for:
* Success: In this case, the application has done a normal shutdown and the
exit status is 0.
* Failure: If the application exits with a non zero exit status it is
considered to have failed.
* Terminated: The application was killed by some other mechanism.
### Holds
A hold may be placed on any number of application. If there are any holds, sup
will keep track and while any held applications are running, sup will not exit.
When all held applications are no longer running, and are not configured to
restart anymore, sup will close the other applications and shutdown. If no holds
are specified, sup will just keep running until it's killed.
## Configuration File
The configuration file is sup.toml and will be found in the current directory
when starting sup. This will change in the future. Sup uses the
[toml](https://github.com/toml-lang/toml) format to describe each application
to supervise.
### `[[App]]`
Each application instance to monitor will have an `[[App]]` section. The apps
will be started in the order as read from the file.
#### Required Entries
* name: The name of the application.
* command: The command to run, including path if necessary.
* args: An array of arguments to pass with the command. May be an empty array.
#### Optional Entries
* restart_on_success: Restart the app if it exits successfully. (Default: false)
* restart_on_failure: Restart the app if it fails. (Default: false)
* restart_on_terminate: Restart the app if it is terminated. (Default: false)
* wait: Don't run the next app until this one is finished. (Default: false)
* hold: Don't exit sup until this app has finished. (Default: false)
### Example
```
[[app]]
name = "x resource"
command = "xrdb"
args = ["~/.Xresources"]
wait = true
[[app]]
name = "terminal"
command = "alacritty"
args = []
restart_on_success = false
restart_on_failure = true
restart_on_terminate = true
hold = true
[[app]]
name = "environment"
command = "alacritty"
args = ["-e", "env"]
[[app]]
name = "window manager"
command = "twm"
args = []
hold = true
```

Loading…
Cancel
Save