feat: debug mode for sentinel

This commit is contained in:
Andras Bacsai
2024-10-29 10:48:49 +01:00
parent c2a2757103
commit 74411e89e6
4 changed files with 43 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ class StartSentinel
$pushInterval = data_get($server, 'settings.sentinel_push_interval_seconds'); $pushInterval = data_get($server, 'settings.sentinel_push_interval_seconds');
$token = data_get($server, 'settings.sentinel_token'); $token = data_get($server, 'settings.sentinel_token');
$endpoint = data_get($server, 'settings.sentinel_custom_url'); $endpoint = data_get($server, 'settings.sentinel_custom_url');
$debug = data_get($server, 'settings.is_sentinel_debug_enabled');
$mountDir = '/data/coolify/sentinel'; $mountDir = '/data/coolify/sentinel';
$image = "ghcr.io/coollabsio/sentinel:$version"; $image = "ghcr.io/coollabsio/sentinel:$version";
if (! $endpoint) { if (! $endpoint) {
@@ -30,6 +31,7 @@ class StartSentinel
} }
$environments = [ $environments = [
'TOKEN' => $token, 'TOKEN' => $token,
'DEBUG' => $debug ? 'true' : 'false',
'PUSH_ENDPOINT' => $endpoint, 'PUSH_ENDPOINT' => $endpoint,
'PUSH_INTERVAL_SECONDS' => $pushInterval, 'PUSH_INTERVAL_SECONDS' => $pushInterval,
'COLLECTOR_ENABLED' => $server->isMetricsEnabled() ? 'true' : 'false', 'COLLECTOR_ENABLED' => $server->isMetricsEnabled() ? 'true' : 'false',

View File

@@ -27,6 +27,8 @@ class Form extends Component
public $delete_unused_networks = false; public $delete_unused_networks = false;
public string $name
public function getListeners() public function getListeners()
{ {
$teamId = auth()->user()->currentTeam()->id; $teamId = auth()->user()->currentTeam()->id;
@@ -56,6 +58,7 @@ class Form extends Component
'server.settings.sentinel_push_interval_seconds' => 'required|integer|min:10', 'server.settings.sentinel_push_interval_seconds' => 'required|integer|min:10',
'server.settings.sentinel_custom_url' => 'nullable|url', 'server.settings.sentinel_custom_url' => 'nullable|url',
'server.settings.is_sentinel_enabled' => 'required|boolean', 'server.settings.is_sentinel_enabled' => 'required|boolean',
'server.settings.is_sentinel_debug_enabled' => 'required|boolean',
'server.settings.server_timezone' => 'required|string|timezone', 'server.settings.server_timezone' => 'required|string|timezone',
]; ];
@@ -75,6 +78,7 @@ class Form extends Component
'server.settings.sentinel_metrics_history_days' => 'Metrics History', 'server.settings.sentinel_metrics_history_days' => 'Metrics History',
'server.settings.sentinel_push_interval_seconds' => 'Push Interval', 'server.settings.sentinel_push_interval_seconds' => 'Push Interval',
'server.settings.is_sentinel_enabled' => 'Server API', 'server.settings.is_sentinel_enabled' => 'Server API',
'server.settings.is_sentinel_debug_enabled' => 'Debug',
'server.settings.sentinel_custom_url' => 'Coolify URL', 'server.settings.sentinel_custom_url' => 'Coolify URL',
'server.settings.server_timezone' => 'Server Timezone', 'server.settings.server_timezone' => 'Server Timezone',
]; ];
@@ -159,6 +163,11 @@ class Form extends Component
$this->restartSentinel(); $this->restartSentinel();
} }
public function updatedServerSettingsIsSentinelDebugEnabled()
{
$this->restartSentinel();
}
public function instantSave() public function instantSave()
{ {
try { try {

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('server_settings', function (Blueprint $table) {
$table->boolean('is_sentinel_debug_enabled')->default(false);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('server_settings', function (Blueprint $table) {
$table->dropColumn('is_sentinel_debug_enabled');
});
}
};

View File

@@ -184,9 +184,13 @@
<div class="w-64"> <div class="w-64">
<x-forms.checkbox wire:model.live="server.settings.is_sentinel_enabled" label="Enable Sentinel" /> <x-forms.checkbox wire:model.live="server.settings.is_sentinel_enabled" label="Enable Sentinel" />
@if ($server->isSentinelEnabled()) @if ($server->isSentinelEnabled())
<x-forms.checkbox id="server.settings.is_sentinel_debug_enabled" label="Enable Sentinel Debug"
instantSave />
<x-forms.checkbox instantSave id="server.settings.is_metrics_enabled" <x-forms.checkbox instantSave id="server.settings.is_metrics_enabled"
label="Enable Metrics" /> label="Enable Metrics" />
@else @else
<x-forms.checkbox id="server.settings.is_sentinel_debug_enabled" label="Enable Sentinel Debug"
disabled instantSave />
<x-forms.checkbox instantSave disabled id="server.settings.is_metrics_enabled" <x-forms.checkbox instantSave disabled id="server.settings.is_metrics_enabled"
label="Enable Metrics" /> label="Enable Metrics" />
@endif @endif