This is the new improved version of https://github.com/backslashbuild/conductor
New features:
- YAML based configurations
- Easier to specify scripts
- Event system - trigger the start and restart of scripts based on changes to the filesystem and exits of other scripts
- exit events
- specific exit codes
- file changes using watchers
- New UI - now entirely in the terminal using https://github.com/chjj/blessed
- Controllable via keys in the terminal
- Left and Right arrows to change selected task
- Up and Down arrows to scroll the logs view
- K to kill selected task
- R to restart or start selected process
- T to toggle tailing or scrolling mode
- Indicate tailing mode by changing the border colour
- Displaying list of key bindings
Possible future extended features
- Interpretation and mapping of JSON logs
- Extraction of Message
- Ability to select a log to see details of JSON properties
Usage:
$ npm install -g https://github.com/backslashbuild/conductor2
# cd to directory containing conductor.yml
$ conductor2
# or specify a different filename:
$ conductor2 ./example.yml
Example configuration:
tasks:
services/hi:
script: node ./test_server.js
cwd: ./src
auto_start: false
start_on:
- exit: services/init
restart_on:
- changes: ./src/test_server.js
services/init:
script: echo 'init.'