Paul Stemmet
dc343acf44
As we expect this project to be mostly run as a system service, provide out of the box configuration files for systemd. Notably, we add a .socket file allowing systemd to lazily start kdnotify when a notify event is received on its socket. We also hardlink the socket out into the /run/ directory, such that keepalived does not need to peak inside kdnotify runtime dir. We also link the lifecycle of kdnotify to keepalived, as once it has been stopped it is unlikely we'll receive new messages. |
||
---|---|---|
buildinfo | ||
cmd | ||
config | ||
doc | ||
fifo | ||
handler | ||
schema/notify | ||
systemd | ||
tool | ||
watcher | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
kdnotify - A keepalived FIFO handler
This is a utility that is primary focused on integrating with Keepalived's
vrrp_notify_fifo_script
and vrrp_notify_fifo
configuration options.
It provides a more structured approach than Keepalived's suggested shell script, allowing users to specify rules for processing events, rather than requiring tedious and error prone handling of parsing and processing each event individually.
Usage
The primary usage of this binary requires two things:
- A configuration file in
/etc/kdnotify/config.yaml
- Enabling Keepalived to use this project for notifications via:
# Or in any other block where vrrp_notify_fifo_script is legal
global {
vrrp_notify_fifo_script "/bin/kdnotify watch" [username [groupname]]
}
Development
You can run make help
in the repo root to get a list of available targets, but these
are the most useful:
Target | Description |
---|---|
build |
Build the binary to build/kdnotify |
check |
Run project checks and lints |
install |
Install project to the provided Prefix= (defaults to /bin ) |
clean |
Cleans build directory |
Make sure you run check
before merging to master
.