diff --git a/app/controllers/health_check_controller.rb b/app/controllers/health_check_controller.rb index 8ecc0414d246a174aef0006194e385138710ea23..599eae8f4ccf86ca7f46df600be5d8fd4b99a421 100644 --- a/app/controllers/health_check_controller.rb +++ b/app/controllers/health_check_controller.rb @@ -26,9 +26,9 @@ class HealthCheckController < ApplicationController @cache_expire = 10.seconds begin - cache_check - database_check - email_check + cache_check if Rails.configuration.health_check_cache_enabled + database_check if Rails.configuration.health_check_db_enabled + email_check if Rails.configuration.health_check_email_enabled rescue => e response = "Health Check Failure: #{e}" end diff --git a/config/application.rb b/config/application.rb index d23746fd7a09e0c9c423a20e56a7cdcf2da2d30b..e91ef48ab081f9ed69181ccf10872b007aba999a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -188,5 +188,9 @@ module Greenlight config.max_avatar_size = ENV['MAX_AVATAR_SIZE'].to_i.zero? ? 100_000 : ENV['MAX_AVATAR_SIZE'].to_i config.social_switching = ENV['SOCIAL_SWITCHING'] == "true" + + config.health_check_cache_enabled = ENV.fetch('ENABLE_HEALTH_CHECK_CACHE', 'true').casecmp?('true') + config.health_check_db_enabled = ENV.fetch('ENABLE_HEALTH_CHECK_DB', 'true').casecmp?('true') + config.health_check_email_enabled = ENV.fetch('ENABLE_HEALTH_CHECK_EMAIL', 'true').casecmp?('true') end end diff --git a/sample.env b/sample.env index 601f59163ed0597ef261517cdcc477c35a44339f..d62c0a19553b9d0847df22e352213bc98b6f32d0 100644 --- a/sample.env +++ b/sample.env @@ -371,3 +371,13 @@ MAX_AVATAR_SIZE=100000 # Due CCVE-2015-9284, this setting needs to be enabled for omniauth to respond GET requests. # ENABLE_OMNIAUTH_GET=true|<false> ENABLE_OMNIAUTH_GET=false + +# By default health_check proves the availability of CACHE, DB and EMAIL server +# but when the time of response requires is highly sensitive, in some cases it is necessary to disable +# them and relay only on the http response. In such case these env variables can be set. +# ENABLE_HEALTH_CHECK_CACHE=<true>|false +# ENABLE_HEALTH_CHECK_DB=<true>|false +# ENABLE_HEALTH_CHECK_EMAIL=<true>|false +ENABLE_HEALTH_CHECK_CACHE=true +ENABLE_HEALTH_CHECK_DB=true +ENABLE_HEALTH_CHECK_EMAIL=true