feat(core): add dynamic label reset for application settings

This commit is contained in:
Andras Bacsai 2025-01-28 13:38:26 +01:00
parent 1ec15af1ad
commit e9fd2d8d6f

View file

@ -124,9 +124,20 @@ public function syncData(bool $toModel = false)
}
}
private function resetDefaultLabels()
{
if ($this->application->settings->is_container_label_readonly_enabled === false) {
return;
}
$customLabels = str(implode('|coolify|', generateLabelsApplication($this->application)))->replace('|coolify|', "\n");
$this->application->custom_labels = base64_encode($customLabels);
$this->application->save();
}
public function instantSave()
{
try {
$reset = false;
if ($this->isLogDrainEnabled) {
if (! $this->application->destination->server->isLogDrainEnabled()) {
$this->isLogDrainEnabled = false;
@ -140,7 +151,7 @@ public function instantSave()
$this->application->isGzipEnabled() !== $this->isGzipEnabled ||
$this->application->isStripprefixEnabled() !== $this->isStripprefixEnabled
) {
$this->dispatch('resetDefaultLabels', false);
$reset = true;
}
if ($this->application->settings->is_raw_compose_deployment_enabled) {
@ -149,6 +160,11 @@ public function instantSave()
$this->application->parse();
}
$this->syncData(true);
if ($reset) {
$this->resetDefaultLabels();
}
$this->dispatch('success', 'Settings saved.');
$this->dispatch('configurationChanged');
} catch (\Throwable $e) {