diff --git a/app/Actions/Server/RemoveServer.php b/app/Actions/Server/RemoveServer.php new file mode 100644 index 000000000..8e92a51ae --- /dev/null +++ b/app/Actions/Server/RemoveServer.php @@ -0,0 +1,17 @@ +delete(); + } +} diff --git a/app/Actions/Server/StartSentinel.php b/app/Actions/Server/StartSentinel.php index a1d36a041..3fbe4b3a3 100644 --- a/app/Actions/Server/StartSentinel.php +++ b/app/Actions/Server/StartSentinel.php @@ -52,6 +52,6 @@ class StartSentinel $server->settings->is_sentinel_enabled = true; $server->settings->save(); - $server->sentinelUpdateAt(); + $server->sentinelHeartbeat(); } } diff --git a/app/Actions/Server/StopSentinel.php b/app/Actions/Server/StopSentinel.php index 68972f0f2..edb6843af 100644 --- a/app/Actions/Server/StopSentinel.php +++ b/app/Actions/Server/StopSentinel.php @@ -13,6 +13,6 @@ class StopSentinel public function handle(Server $server) { instant_remote_process(['docker rm -f coolify-sentinel'], $server, false); - $server->sentinelUpdateAt(isReset: true); + $server->sentinelHeartbeat(isReset: true); } } diff --git a/app/Http/Controllers/Api/ServersController.php b/app/Http/Controllers/Api/ServersController.php index 6d512e578..6d47769a9 100644 --- a/app/Http/Controllers/Api/ServersController.php +++ b/app/Http/Controllers/Api/ServersController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Api; +use App\Actions\Server\RemoveServer; use App\Actions\Server\ValidateServer; use App\Enums\ProxyStatus; use App\Enums\ProxyTypes; @@ -725,7 +726,7 @@ class ServersController extends Controller if ($server->definedResources()->count() > 0) { return response()->json(['message' => 'Server has resources, so you need to delete them before.'], 400); } - $server->delete(); + RemoveServer::dispatch($server); return response()->json(['message' => 'Server deleted.']); } diff --git a/app/Jobs/PushServerUpdateJob.php b/app/Jobs/PushServerUpdateJob.php index 3ef4b944a..cdc3788e5 100644 --- a/app/Jobs/PushServerUpdateJob.php +++ b/app/Jobs/PushServerUpdateJob.php @@ -96,7 +96,7 @@ class PushServerUpdateJob implements ShouldQueue $this->serverStatus(); - $this->server->sentinelUpdateAt(); + $this->server->sentinelHeartbeat(); $this->containers = collect(data_get($data, 'containers')); if ($this->containers->isEmpty()) { diff --git a/app/Livewire/Server/Delete.php b/app/Livewire/Server/Delete.php index ed2345b2a..2af56cb1c 100644 --- a/app/Livewire/Server/Delete.php +++ b/app/Livewire/Server/Delete.php @@ -2,6 +2,7 @@ namespace App\Livewire\Server; +use App\Actions\Server\RemoveServer; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; @@ -27,7 +28,7 @@ class Delete extends Component return; } - $this->server->delete(); + RemoveServer::run($this->server); return redirect()->route('server.index'); } catch (\Throwable $e) { diff --git a/app/Livewire/Server/Form.php b/app/Livewire/Server/Form.php index dadf9033d..40bff3873 100644 --- a/app/Livewire/Server/Form.php +++ b/app/Livewire/Server/Form.php @@ -157,7 +157,7 @@ class Form extends Component StopSentinel::dispatch($this->server); $this->server->settings->is_metrics_enabled = false; $this->server->settings->save(); - $this->server->sentinelUpdateAt(isReset: true); + $this->server->sentinelHeartbeat(isReset: true); } else { StartSentinel::run($this->server); } diff --git a/app/Models/Server.php b/app/Models/Server.php index 3639d9263..cb5aa4524 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -556,7 +556,7 @@ $schema://$host { return $encrypted; } - public function sentinelUpdateAt(bool $isReset = false) + public function sentinelHeartbeat(bool $isReset = false) { $this->sentinel_updated_at = $isReset ? now()->subMinutes(6000) : now(); $this->save(); @@ -568,7 +568,7 @@ $schema://$host { public function isSentinelEnabled() { - return $this->isMetricsEnabled() || $this->isServerApiEnabled(); + return $this->isMetricsEnabled() || $this->isServerApiEnabled() || !$this->isBuildServer(); } public function isMetricsEnabled()