pre- and post-snapshot hooks

* stack-based execution model, documented in documentation
* circbuf for capturing hook output
* built-in hooks for postgres and mysql
* refactor docs, too much info on the jobs page, too difficult
  to discover snapshotting & hooks

Co-authored-by: Ross Williams <ross@ross-williams.net>
Co-authored-by: Christian Schwarz <me@cschwarz.com>

fixes #74
This commit is contained in:
Ross Williams
2019-07-26 19:12:21 +00:00
committed by Christian Schwarz
parent 00434f4ac9
commit 729c83ee72
39 changed files with 2580 additions and 279 deletions

View File

@ -20,6 +20,7 @@ type Logger interface {
WithField(field string, val interface{}) Logger
WithFields(fields Fields) Logger
WithError(err error) Logger
Log(level Level, msg string)
Debug(msg string)
Info(msg string)
Warn(msg string)
@ -158,6 +159,10 @@ func (l *loggerImpl) WithError(err error) Logger {
return l.WithField(FieldError, val)
}
func (l *loggerImpl) Log(level Level, msg string) {
l.log(level, msg)
}
func (l *loggerImpl) Debug(msg string) {
l.log(Debug, msg)
}