A service management tool written in Go
Go
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
src
.gitignore
LICENSE
NOTICE
README
SConstruct

README

Kickit
======

A runit replacement (sort of), written in Go.


Compiling
---------

Dependencies:

- A 'gc' Go compiler (not gccgo)
- A GOROOT environment variable
- goscons (https://github.com/alberts/goscons)

Now run `scons` in the kickit root.


Usage
-----

    kickit <service-directory>

Where <service-directory> is a directory containing zero or more service roots,
and each service root should contain a single executable called `run`.

Services can then be started, stopped and restarted by interacting with Kickit
over a Unix socket located at `<service-root>/.kcontrol` using the Kickit
protocol (see docs/protocol.txt).

Standard out of a service directorie's `run` file will be directed to
`log/main/current` within the service root.


In Comparison to Runit
----------------------

Kickit takes a lot of ideas from runit, but is different in a number of ways:

- All interaction is done with a single process
- Interaction takes place over a higher-level protocol
- There is currently no 'scanning' of the service directory, either at
  startup or any other time. All services must be explicitly started.
  This may change.


TODO
----

* Log rotating
* Service status retrieval
* Listing services (maybe)