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: exampleThe 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.