diff options
author | Andrew Dolgov <[email protected]> | 2023-10-25 17:53:49 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-10-25 17:53:49 +0300 |
commit | 31812726190407ae52f673b9c3184f5348c2fcc1 (patch) | |
tree | 1ef468769e7589a5d55eb402468d57229f3aa96a | |
parent | 865ecc87963dc3b26e66296616eef2a1cc41ac3f (diff) |
add healthcheck public method, map by default to /healthz
-rw-r--r-- | .docker/web-nginx/nginx.conf | 2 | ||||
-rw-r--r-- | classes/Config.php | 4 | ||||
-rw-r--r-- | classes/Handler_Public.php | 6 |
3 files changed, 11 insertions, 1 deletions
diff --git a/.docker/web-nginx/nginx.conf b/.docker/web-nginx/nginx.conf index c85e46ef3..9e2298897 100644 --- a/.docker/web-nginx/nginx.conf +++ b/.docker/web-nginx/nginx.conf @@ -34,6 +34,8 @@ http { internal; } + rewrite ${APP_BASE}/healthz ${APP_BASE}/public.php?op=healthcheck; + location ~ \.php$ { # regex to split $uri to $fastcgi_script_name and $fastcgi_path fastcgi_split_path_info ^(.+?\.php)(/.*)$; diff --git a/classes/Config.php b/classes/Config.php index 72d6c5106..2c2cd4d65 100644 --- a/classes/Config.php +++ b/classes/Config.php @@ -643,7 +643,9 @@ class Config { } } - if (count($errors) > 0 && php_sapi_name() != "cli") { ?> + if (count($errors) > 0 && php_sapi_name() != "cli") { + http_response_code(503); ?> + <!DOCTYPE html> <html> <head> diff --git a/classes/Handler_Public.php b/classes/Handler_Public.php index 8134eeff2..d0e434c8e 100644 --- a/classes/Handler_Public.php +++ b/classes/Handler_Public.php @@ -834,5 +834,11 @@ class Handler_Public extends Handler { exit; } + // implicit Config::sanity_check() does the actual checking */ + public function healthcheck() { + header("Content-Type: text/plain"); + print "OK"; + } + } ?> |