Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mattn/goreman

foreman clone written in go language
https://github.com/mattn/goreman

devops foreman go golang

Last synced: 20 days ago
JSON representation

foreman clone written in go language

Awesome Lists containing this project

README

        

# Goreman

Clone of foreman written in golang.

https://github.com/ddollar/foreman

## Getting Started

go install github.com/mattn/goreman@latest

## Usage

goreman start

Will start all commands defined in the `Procfile` and display their outputs.
Any signals are forwarded to each process.

## Example

See [`_example`](_example/) directory

## License

MIT

## Design

The main goroutine loads `Procfile` and starts each command in the file. Afterwards, it is driven by the following two kinds of events, and then take proper action against the managed processes.

1. It receives a signal, which could be one of `SIGINT`, `SIGTERM`, and `SIGHUP`;
2. It receives an RPC call, which is triggered by the command `goreman run COMMAND [PROCESS...]`.

![design](images/design.png)

## Authors

Yasuhiro Matsumoto (a.k.a mattn)