mirror of
https://github.com/coollabsio/coolify.git
synced 2026-09-25 17:01:49 -04:00
feat(sentinel): make sentinel mandatory on regular servers
Remove the enable/disable toggle from the server UI, logs page, and Sentinel API so is_sentinel_enabled is derived and read-only. Enable existing regular servers via migration, start Sentinel after validate- and-install, and drop the daily ServerManagerJob restart.
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
DB::table('server_settings')
|
||||
->where('is_sentinel_enabled', false)
|
||||
->where('is_build_server', false)
|
||||
->where('is_swarm_manager', false)
|
||||
->where('is_swarm_worker', false)
|
||||
->where('force_disabled', false)
|
||||
->where('is_reachable', true)
|
||||
->where('is_usable', true)
|
||||
->update(['is_sentinel_enabled' => true]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
// Existing values cannot be distinguished from values enabled before this migration.
|
||||
}
|
||||
};
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Jobs\CheckAndStartSentinelJob;
|
||||
use App\Models\Server;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
@@ -13,6 +14,10 @@ class SentinelSeeder extends Seeder
|
||||
Server::chunk(100, function ($servers) {
|
||||
foreach ($servers as $server) {
|
||||
try {
|
||||
if ($server->isSentinelEnabled()) {
|
||||
$server->settings->is_sentinel_enabled = true;
|
||||
$server->settings->saveQuietly();
|
||||
}
|
||||
if (str($server->settings->sentinel_token)->isEmpty()) {
|
||||
$server->settings->generateSentinelToken(ignoreEvent: true);
|
||||
}
|
||||
@@ -25,11 +30,10 @@ class SentinelSeeder extends Seeder
|
||||
}
|
||||
|
||||
if (str($server->settings->sentinel_custom_url)->isEmpty()) {
|
||||
$url = $server->settings->generateSentinelUrl(ignoreEvent: true);
|
||||
if (str($url)->isEmpty()) {
|
||||
$server->settings->is_sentinel_enabled = false;
|
||||
$server->settings->save();
|
||||
}
|
||||
$server->settings->generateSentinelUrl(ignoreEvent: true);
|
||||
}
|
||||
if ($server->isFunctional() && $server->isSentinelEnabled() && filled($server->settings->sentinel_custom_url)) {
|
||||
CheckAndStartSentinelJob::dispatch($server);
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
Log::error('Error seeding sentinel: '.$e->getMessage());
|
||||
|
||||
Reference in New Issue
Block a user