Crates.io | igniter |
lib.rs | igniter |
version | 0.1.2 |
source | src |
created_at | 2018-01-22 14:39:15.151174 |
updated_at | 2018-01-26 13:46:51.104081 |
description | A simple process manager written in Rust |
homepage | |
repository | https://github.com/pmarino90/igniter |
max_upload_size | |
id | 47811 |
size | 17,280 |
A simple process manager written in Rust.
UNDER ACTIVE DEVELOPMENT
Igniter was written for fun and profit, the idea behind it is to a simple process manager to be used while developing projects that need some always on dependencies.
So imagine to be developing a frontend application and you need the API active on your machine and maybe some other dependencies (a database for example), Igniter reads an .igniterc
file and starts all the processes described into the configuration file.
There are a lot of other process manangers into the wild and most of them use a daemon process which monitors and manages all the child processes. Igniter does not provide a global daemon but instead runs a monitor process for every launched one, so there is a one-to-one relationship bewteen the process to be launched and the one which monitors.
Igniter is in its early stages, under active development and for such reasons is not yet feature complete neither its code is near to be considered good or safe. A list of future development ideas can be found into a further paragraph.
Suggestion and/or requests are always welcome!
Given its dependencies the supported OSs are the ones which are supported by nix
(look here), this does not directly means that all the version are tested.
Currently there is no Windows support.
With cargo:
cargo install igniter
With an existing .igniterc
file into the current working directory issue igniter
from your terminal and Igniter will spawn all the processes defined into the configuration file.
Create an .igniterc
, TOML
syntax supported, file in the root of your project. It is always needed a .igniterc
file to start monitoring a process.
[[process]]
name = "process-1" # Required, the name of the process. Shown in list.
cmd = "process" # The actual command to launch, must be the command without arguments
args = [["-arg", "value"], ["--arg2"]] # Optional, must be an array of array
max_retries = 10 # Optional, defaults to 0
The above block can be repeated any time needed into the same file to describe other processes, just mind to change the name.
igniter 0.1.0
Paolo Marino <paolomarinos@gmail.com>
A simple process manager
USAGE:
igniter [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
list list active processes
monitor [INTERNAL] Monitors the provided command data as JSON
stop Stops an already running process given its name
[x] Process restart on fail
[x] Refactor
[] Environment variables
[] Log Management
[] Context awareness (Workspaces)
* First version
* Code refactor
* minor bug fixes
* Filters processes by their status on the system