govisor is a service management framework for Go and processes, inspired by Solaris SMF
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
govisor fixes #39 Prompt for user/password if required and not supplied Jun 9, 2016
govisord fixes #49 govisord logging should got to log, not stderr Jun 8, 2016
rest fixes #33 Seperate server from rest API client Sep 20, 2015
server fixes #33 Seperate server from rest API client Sep 20, 2015
.appveyor.yml fixes #33 Seperate server from rest API client Sep 20, 2015
.gitignore fixes #6 Implement HTTP client API Sep 3, 2015
.travis.yml fixes #1 Add .travis.yml Aug 27, 2015
AUTHORS Initial implementation of govisor. Aug 27, 2015
LICENSE Initial implementation of govisor. Aug 27, 2015
README.md fixes #44 Simplify installation instructions Apr 20, 2016
doc.go Initial implementation of govisor. Aug 27, 2015
errors.go fixes #48 creating multiple services with the same name breaks things Jun 8, 2016
govisor_test.go fixes #20 Add long polling support Sep 14, 2015
log.go fixes #18 Add optional TLS Sep 20, 2015
manager.go fixes #49 govisord logging should got to log, not stderr Jun 8, 2016
multilog.go fixes #8 Want log API Sep 1, 2015
process.go fixes #49 govisord logging should got to log, not stderr Jun 8, 2016
process_test.go fixes #49 govisord logging should got to log, not stderr Jun 8, 2016
process_test.sh fixes #45 working directory option in manifest May 20, 2016
properties.go Initial implementation of govisor. Aug 27, 2015
provider.go Initial implementation of govisor. Aug 27, 2015
service.go fixes #18 Add optional TLS Sep 20, 2015

README.md

govisor

Linux Status Windows Status GitHub License Issues Gitter GoDoc

package govisor is a framework for managing services. It supports dependency graphs of services, and handles starting, stopping, and restarting services as necessary. It also deals with failures, and supports self-healing, and has some advanced logging capabilities. It also offers a REST API for managing your services, as well as a nicer client API, and a snazzy little terminal application to monitor the services.

There is a daemon (govisord) that can be used to manage a tree of process in a manner similar to init or SMF or systemd. However, it is designed to be suitable for use by unprivileged users, and it is possible to run many copies of govisord on the same system (but you will have to choose different TCP management ports.)

Govisord listens by default at http://localhost:8321/

See govisord/main.go for a list of options, etc.

Govisor is designed for embedding as well. You can embed the manager into your own application. The REST API implementation provides a http.Handler, so you can also wrap or embed the API with other web services.

The govisor client application, "govisor", is in the govisor/ directory. It has a number of options, try it with -h to see them.

To install the daemon and client: go get -v github.com/gdamore/govisor/...