From 4d4ecc6bbf985095e64cb2bf0ab7003ea2b54776 Mon Sep 17 00:00:00 2001 From: "Alex Ellis (OpenFaaS Ltd)" Date: Thu, 28 Nov 2019 20:26:28 +0000 Subject: [PATCH] Add -run-healthcheck flag This flag is useful for some users that prefer a scratch image that cannot execute a bash healthcheck. Instead they can execute the watchdog itself such as: "watchdog -run-healthcheck" It will return a non-zero exit code for when the lock file is not found. Signed-off-by: Alex Ellis (OpenFaaS Ltd) --- watchdog/main.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/watchdog/main.go b/watchdog/main.go index 74445d3f..46922abe 100644 --- a/watchdog/main.go +++ b/watchdog/main.go @@ -24,14 +24,30 @@ import ( ) var ( - versionFlag bool acceptingConnections int32 ) func main() { + var runHealthcheck bool + var versionFlag bool + flag.BoolVar(&versionFlag, "version", false, "Print the version and exit") + flag.BoolVar(&runHealthcheck, + "run-healthcheck", + false, + "Check for the a lock-file, when using an exec healthcheck. Exit 0 for present, non-zero when not found.") flag.Parse() + + if runHealthcheck { + if lockFilePresent() { + os.Exit(0) + } + + fmt.Fprintf(os.Stderr, "unable to find lock file.\n") + os.Exit(1) + } + printVersion() if versionFlag {