Merge pull request #6964 from coollabsio/andrasbacsai/healthcheck-removal-bug

Fix healthcheck reset when removed from Dockerfile
This commit is contained in:
Andras Bacsai 2025-10-22 08:31:27 +02:00 committed by GitHub
commit cb5462abfd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1804,7 +1804,9 @@ public function getFilesFromServer(bool $isInit = false)
public function parseHealthcheckFromDockerfile($dockerfile, bool $isInit = false)
{
$dockerfile = str($dockerfile)->trim()->explode("\n");
if (str($dockerfile)->contains('HEALTHCHECK') && ($this->isHealthcheckDisabled() || $isInit)) {
$hasHealthcheck = str($dockerfile)->contains('HEALTHCHECK');
if ($hasHealthcheck && ($this->isHealthcheckDisabled() || $isInit)) {
$healthcheckCommand = null;
$lines = $dockerfile->toArray();
foreach ($lines as $line) {
@ -1845,6 +1847,14 @@ public function parseHealthcheckFromDockerfile($dockerfile, bool $isInit = false
$this->save();
}
}
} elseif (! $hasHealthcheck && $this->custom_healthcheck_found) {
// HEALTHCHECK was removed from Dockerfile, reset to defaults
$this->custom_healthcheck_found = false;
$this->health_check_interval = 5;
$this->health_check_timeout = 5;
$this->health_check_retries = 10;
$this->health_check_start_period = 5;
$this->save();
}
}