From 3d4e8b98673507df247fd34d8fe8941ce9048ad3 Mon Sep 17 00:00:00 2001
From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
Date: Wed, 8 Jan 2025 17:05:11 +0100
Subject: [PATCH] chore: switch up readonly lables to make more sense
---
.../Api/ApplicationsController.php | 10 ++---
app/Jobs/ApplicationDeploymentJob.php | 2 +-
app/Livewire/Project/Application/General.php | 2 +-
...01_08_154008_switch_up_readonly_labels.php | 39 +++++++++++++++++++
.../project/application/general.blade.php | 4 +-
5 files changed, 48 insertions(+), 9 deletions(-)
create mode 100644 database/migrations/2025_01_08_154008_switch_up_readonly_labels.php
diff --git a/app/Http/Controllers/Api/ApplicationsController.php b/app/Http/Controllers/Api/ApplicationsController.php
index 4df187c19..5265fbb37 100644
--- a/app/Http/Controllers/Api/ApplicationsController.php
+++ b/app/Http/Controllers/Api/ApplicationsController.php
@@ -863,7 +863,7 @@ class ApplicationsController extends Controller
$application->settings->save();
}
$application->refresh();
- if (! $application->settings->is_container_label_readonly_enabled) {
+ if ($application->settings->is_container_label_readonly_enabled) {
$application->custom_labels = str(implode('|coolify|', generateLabelsApplication($application)))->replace('|coolify|', "\n");
$application->save();
}
@@ -964,7 +964,7 @@ class ApplicationsController extends Controller
$application->settings->is_build_server_enabled = $useBuildServer;
$application->settings->save();
}
- if (! $application->settings->is_container_label_readonly_enabled) {
+ if ($application->settings->is_container_label_readonly_enabled) {
$application->custom_labels = str(implode('|coolify|', generateLabelsApplication($application)))->replace('|coolify|', "\n");
$application->save();
}
@@ -1061,7 +1061,7 @@ class ApplicationsController extends Controller
$application->settings->is_build_server_enabled = $useBuildServer;
$application->settings->save();
}
- if (! $application->settings->is_container_label_readonly_enabled) {
+ if ($application->settings->is_container_label_readonly_enabled) {
$application->custom_labels = str(implode('|coolify|', generateLabelsApplication($application)))->replace('|coolify|', "\n");
$application->save();
}
@@ -1150,7 +1150,7 @@ class ApplicationsController extends Controller
$application->settings->is_build_server_enabled = $useBuildServer;
$application->settings->save();
}
- if (! $application->settings->is_container_label_readonly_enabled) {
+ if ($application->settings->is_container_label_readonly_enabled) {
$application->custom_labels = str(implode('|coolify|', generateLabelsApplication($application)))->replace('|coolify|', "\n");
$application->save();
}
@@ -1214,7 +1214,7 @@ class ApplicationsController extends Controller
$application->settings->is_build_server_enabled = $useBuildServer;
$application->settings->save();
}
- if (! $application->settings->is_container_label_readonly_enabled) {
+ if ($application->settings->is_container_label_readonly_enabled) {
$application->custom_labels = str(implode('|coolify|', generateLabelsApplication($application)))->replace('|coolify|', "\n");
$application->save();
}
diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php
index addaf436a..4308f0f68 100644
--- a/app/Jobs/ApplicationDeploymentJob.php
+++ b/app/Jobs/ApplicationDeploymentJob.php
@@ -1683,7 +1683,7 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue
$this->application->custom_labels = base64_encode($labels->implode("\n"));
$this->application->save();
} else {
- if (! $this->application->settings->is_container_label_readonly_enabled) {
+ if ($this->application->settings->is_container_label_readonly_enabled) {
$labels = collect(generateLabelsApplication($this->application, $this->preview));
}
}
diff --git a/app/Livewire/Project/Application/General.php b/app/Livewire/Project/Application/General.php
index d1cc3476c..576f87801 100644
--- a/app/Livewire/Project/Application/General.php
+++ b/app/Livewire/Project/Application/General.php
@@ -153,7 +153,7 @@ class General extends Component
$this->is_preserve_repository_enabled = $this->application->settings->is_preserve_repository_enabled;
$this->is_container_label_escape_enabled = $this->application->settings->is_container_label_escape_enabled;
$this->customLabels = $this->application->parseContainerLabels();
- if (! $this->customLabels && $this->application->destination->server->proxyType() !== 'NONE' && ! $this->application->settings->is_container_label_readonly_enabled) {
+ if (! $this->customLabels && $this->application->destination->server->proxyType() !== 'NONE' && $this->application->settings->is_container_label_readonly_enabled === true) {
$this->customLabels = str(implode('|coolify|', generateLabelsApplication($this->application)))->replace('|coolify|', "\n");
$this->application->custom_labels = base64_encode($this->customLabels);
$this->application->save();
diff --git a/database/migrations/2025_01_08_154008_switch_up_readonly_labels.php b/database/migrations/2025_01_08_154008_switch_up_readonly_labels.php
new file mode 100644
index 000000000..aae089d9e
--- /dev/null
+++ b/database/migrations/2025_01_08_154008_switch_up_readonly_labels.php
@@ -0,0 +1,39 @@
+update([
+ 'is_container_label_readonly_enabled' => DB::raw('NOT is_container_label_readonly_enabled'),
+ ]);
+
+ Schema::table('application_settings', function (Blueprint $table) {
+ $table->boolean('is_container_label_readonly_enabled')->default(true)->change();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ DB::table('application_settings')
+ ->update([
+ 'is_container_label_readonly_enabled' => DB::raw('NOT is_container_label_readonly_enabled'),
+ ]);
+
+ Schema::table('application_settings', function (Blueprint $table) {
+ $table->boolean('is_container_label_readonly_enabled')->default(false)->change();
+ });
+ }
+};
diff --git a/resources/views/livewire/project/application/general.blade.php b/resources/views/livewire/project/application/general.blade.php
index bdcde8deb..38fe8dbeb 100644
--- a/resources/views/livewire/project/application/general.blade.php
+++ b/resources/views/livewire/project/application/general.blade.php
@@ -284,7 +284,7 @@
helper="By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$.
If you want to use env variables inside the labels, turn this off."
id="application.settings.is_container_label_escape_enabled" instantSave>
@endif
@@ -315,7 +315,7 @@
helper="By default, $ (and other chars) is escaped. So if you write $ in the labels, it will be saved as $$.
If you want to use env variables inside the labels, turn this off."
id="application.settings.is_container_label_escape_enabled" instantSave>