Jelajahi Sumber

Allow custom URL for selfhosted version of healthchecks (#1161)

causefx 7 tahun lalu
induk
melakukan
0bf846dce3

+ 2 - 1
api/config/default.php

@@ -222,5 +222,6 @@ return array(
 	'localIPTo' => '',
 	'sandbox' => 'allow-presentation,allow-forms,allow-same-origin,allow-pointer-lock,allow-scripts,allow-popups,allow-modals,allow-top-navigation',
 	'description' => 'Organizr - Accept no others',
-	'debugErrors' => true
+	'debugErrors' => true,
+	'healthChecksURL' => 'https://healthchecks.io/api/v1/checks/'
 );

+ 2 - 2
api/functions/homepage-connect-functions.php

@@ -80,12 +80,12 @@ function healthChecksTags($tags)
 
 function getHealthChecks($tags = null)
 {
-	if ($GLOBALS['homepageHealthChecksEnabled'] && !empty($GLOBALS['healthChecksToken']) && qualifyRequest($GLOBALS['homepageHealthChecksAuth'])) {
+	if ($GLOBALS['homepageHealthChecksEnabled'] && !empty($GLOBALS['healthChecksToken']) && !empty($GLOBALS['healthChecksURL']) && qualifyRequest($GLOBALS['homepageHealthChecksAuth'])) {
 		$api['content']['checks'] = array();
 		$tags = ($tags) ? healthChecksTags($tags) : '';
 		$healthChecks = explode(',', $GLOBALS['healthChecksToken']);
 		foreach ($healthChecks as $token) {
-			$url = 'https://healthchecks.io/api/v1/checks/' . $tags;
+			$url = qualifyURL($GLOBALS['healthChecksURL']) . '/' . $tags;
 			try {
 				$headers = array('X-Api-Key' => $token);
 				$options = (localURL($url)) ? array('verify' => false) : array();

+ 8 - 0
api/functions/homepage-functions.php

@@ -2080,6 +2080,14 @@ function getHomepageList()
 					)
 				),
 				'Connection' => array(
+					array(
+						'type' => 'input',
+						'name' => 'healthChecksURL',
+						'label' => 'URL',
+						'value' => $GLOBALS['healthChecksURL'],
+						'help' => 'URL for HealthChecks API',
+						'placeholder' => 'HealthChecks API URL'
+					),
 					array(
 						'type' => 'password-alt',
 						'name' => 'healthChecksToken',