Goverseer is a tool for monitoring some kind of upstream, and taking actions when a change is detected. In some ways it is similar to consul-template, except Goverseer does not handle templating. Instead it is focused on watching for changes and taking some kind of action based on those changes.
Goverseer is configured using a yaml config file. The goverseer start
command
takes a path to the config file. If a config path is not provided,
/etc/goverseer.yaml
will be used.
# Example goverseer config
---
name: example
watcher:
type: time
config:
poll_seconds: 1
executioner:
type: log
config:
tag: example
The available values for watcher.type
are:
file
: File Watchergce_metadata
: GCE Metadata Watchertime
: Time Watcher
The available values for executioner.type
are:
log
: Log Executionershell
: Shell Executioner
The configuration options for watcher.config
and executioner.config
are
determined by the selected type. See the documentation for the specific watcher
and executioner type for more details on available configuration options.
To build Goverseer, simply run make build
. Once complete, you should see a
binary in the root of your checkout.
To run locally during development, run go run ./cmd/goverseer --help
.
To run all tests, run make test
.