This commit is contained in:
notCharles 2025-11-04 20:15:49 -05:00
parent 605c3c6b8a
commit 1f2d7025af
6 changed files with 107 additions and 284 deletions

View File

@ -5,6 +5,7 @@ namespace App\Filament\Admin\Resources\Nodes\Pages;
use App\Filament\Admin\Resources\Nodes\NodeResource;
use App\Models\Node;
use App\Repositories\Daemon\DaemonConfigurationRepository;
use App\Repositories\Daemon\DaemonRepository;
use App\Services\Helpers\SoftwareVersionService;
use App\Services\Nodes\NodeAutoDeployService;
use App\Services\Nodes\NodeUpdateService;
@ -38,6 +39,7 @@ use Filament\Schemas\Schema;
use Filament\Support\Enums\Alignment;
use Filament\Support\Enums\IconSize;
use Illuminate\Http\Client\ConnectionException;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\HtmlString;
use Phiki\Grammar\Grammar;
use Throwable;
@ -51,12 +53,15 @@ class EditNode extends EditRecord
private DaemonConfigurationRepository $daemonConfigurationRepository;
private DaemonRepository $daemonRepository;
private NodeUpdateService $nodeUpdateService;
public function boot(DaemonConfigurationRepository $daemonConfigurationRepository, NodeUpdateService $nodeUpdateService): void
public function boot(DaemonConfigurationRepository $daemonConfigurationRepository, NodeUpdateService $nodeUpdateService, DaemonRepository $daemonRepository): void
{
$this->daemonConfigurationRepository = $daemonConfigurationRepository;
$this->nodeUpdateService = $nodeUpdateService;
$this->daemonRepository = $daemonRepository;
}
/**
@ -643,271 +648,20 @@ class EditNode extends EditRecord
->icon('tabler-cloud-download')->iconButton()->iconSize(IconSize::ExtraLarge)
->visible(fn (Get $get) => !($get('pulled') ?? false))
->action(function (Get $get, Set $set, Node $node) {
$includeEndpoints = $get('include_endpoints') ?? false;
$includeLogs = $get('include_logs') ?? false;
$includeEndpoints = $get('include_endpoints') ?? true;
$includeLogs = $get('include_logs') ?? true;
$logLines = $get('log_lines') ?? 200;
$output = '
Pelican Wings - Diagnostics Report
|
| Versions
| ------------------------------
Wings: 1.0.0-beta18
Docker: 28.5.1
Kernel: 6.8.0-86-generic
OS: Ubuntu 24.04.3 LTS
|
| Wings Configuration
| ------------------------------
Panel Location: {redacted}
Internal Webserver: {redacted} : 8080
SSL Enabled: false
SSL Certificate: {redacted}
SSL Key: {redacted}
SFTP Server: {redacted} : 2022
SFTP Read-Only: false
Root Directory: /var/lib/pelican
Logs Directory: /var/log/pelican
Data Directory: /var/lib/pelican/volumes
Archive Directory: /var/lib/pelican/archives
Backup Directory: /var/lib/pelican/backups
Username: pelican
Server Time: Mon, 03 Nov 2025 20:32:34 +0100
Debug Mode: false
|
| Docker: Info
| ------------------------------
Server Version: 28.5.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
LoggingDriver: json-file
CgroupDriver: systemd
|
| Docker: Running Containers
| ------------------------------
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
00e2a3328817 ghcr.io/parkervcp/yolks:java_21 "/usr/bin/tini -g --…" 9 hours ago Up 9 hours 192.168.0.6:25570-25571->25570-25571/tcp, 192.168.0.6:25570-25571->25570-25571/udp d4da20d8-7852-4d3e-adbd-23dabfd365bc
a2c0edc05373 ghcr.io/parkervcp/yolks:java_21 "/usr/bin/tini -g --…" 9 hours ago Up 9 hours 192.168.0.6:8163->8163/tcp, 192.168.0.6:8163->8163/udp, 192.168.0.6:25566->25566/tcp, 192.168.0.6:25566->25566/udp 2e07026f-ef54-4125-ad02-1d4bdf673bd5
|
| Latest Wings Logs
| ------------------------------
INFO: [Oct 29 16:09:08.483] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 29 16:09:08.697] releasing exclusive lock for power action action=restart lock_id=36a890b2-b4d9-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 29 16:11:51.685] acquired exclusive lock on power actions, processing event... action=restart lock_id=99085fa9-b4d9-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 29 16:11:52.699] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 29 16:11:52.721] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 29 16:11:52.727] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 29 16:11:52.863] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 29 16:11:53.486] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 29 16:11:53.705] releasing exclusive lock for power action action=restart lock_id=99085fa9-b4d9-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:09.737] acquired exclusive lock on power actions, processing event... action=stop lock_id=f9b09611-b594-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:11.068] releasing exclusive lock for power action action=stop lock_id=f9b09611-b594-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:16.405] acquired exclusive lock on power actions, processing event... action=start lock_id=fdaa0eec-b594-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:16.405] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:16.423] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:16.431] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:16.569] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:33:17.236] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 30 14:33:17.468] releasing exclusive lock for power action action=start lock_id=fdaa0eec-b594-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:10.941] detected server as entering a crashed state; running crash handler server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:11.215] acquired exclusive lock on power actions, processing event... action=start lock_id=4218ab26-b595-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:11.215] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:11.242] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:11.247] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:11.394] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:35:12.011] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 30 14:35:12.213] releasing exclusive lock for power action action=start lock_id=4218ab26-b595-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:36.972] detected server as entering a crashed state; running crash handler server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:37.241] acquired exclusive lock on power actions, processing event... action=start lock_id=bce5c3c7-b595-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:37.241] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:37.268] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:37.274] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:37.408] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 14:38:38.013] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 30 14:38:38.233] releasing exclusive lock for power action action=start lock_id=bce5c3c7-b595-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:32.781] acquired exclusive lock on power actions, processing event... action=stop lock_id=b0b7d8cb-b59d-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:33.755] releasing exclusive lock for power action action=stop lock_id=b0b7d8cb-b59d-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:51.132] acquired exclusive lock on power actions, processing event... action=start lock_id=bba7e70d-b59d-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:51.132] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:51.151] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:51.158] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:51.293] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:35:52.539] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 30 15:35:52.750] releasing exclusive lock for power action action=start lock_id=bba7e70d-b59d-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:38:44.258] acquired exclusive lock on power actions, processing event... action=restart lock_id=22d8d9a7-b59e-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:38:45.155] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:38:45.180] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:38:45.184] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:38:45.321] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 15:38:45.986] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Oct 30 15:38:46.180] releasing exclusive lock for power action action=restart lock_id=22d8d9a7-b59e-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Oct 30 20:45:19.629] acquired exclusive lock on power actions, processing event... action=start lock_id=f757cb64-b5c8-11f0-b114-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Oct 30 20:45:19.629] syncing server configuration with panel server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Oct 30 20:45:19.646] performing server limit modification on-the-fly server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Oct 30 20:45:19.651] performing server limit modification on-the-fly server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Oct 30 20:45:19.783] completed server preflight, starting boot process... server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Oct 30 20:45:20.409] starting resource polling for container container_id=a67db310-6b08-4bd6-95d0-8fa0ac094a94 environment=docker
INFO: [Oct 30 20:45:20.581] releasing exclusive lock for power action action=start lock_id=f757cb64-b5c8-11f0-b114-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 2 14:04:23.873] acquired exclusive lock on power actions, processing event... action=restart lock_id=743befe7-b7ec-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:24.916] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:24.946] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:24.950] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:25.080] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:25.696] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Nov 2 14:04:25.898] releasing exclusive lock for power action action=restart lock_id=743befe7-b7ec-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:54.880] acquired exclusive lock on power actions, processing event... action=restart lock_id=86b72b02-b7ec-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:55.846] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:55.870] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:55.875] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:56.021] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:04:56.624] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Nov 2 14:04:56.866] releasing exclusive lock for power action action=restart lock_id=86b72b02-b7ec-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:06:00.814] acquired exclusive lock on power actions, processing event... action=restart lock_id=ae03f729-b7ec-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:06:01.786] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:06:01.811] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:06:01.816] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:06:01.949] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:06:02.559] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Nov 2 14:06:02.782] releasing exclusive lock for power action action=restart lock_id=ae03f729-b7ec-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:09:09.181] acquired exclusive lock on power actions, processing event... action=restart lock_id=1e4a85db-b7ed-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:09:10.844] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:09:10.870] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:09:10.875] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:09:11.019] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 2 14:09:11.612] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Nov 2 14:09:11.845] releasing exclusive lock for power action action=restart lock_id=1e4a85db-b7ed-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:29:55.678] acquired exclusive lock on power actions, processing event... action=stop lock_id=0a5f4aeb-b8a0-11f0-b114-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:29:57.339] releasing exclusive lock for power action action=stop lock_id=0a5f4aeb-b8a0-11f0-b114-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:30:03.828] acquired exclusive lock on power actions, processing event... action=stop lock_id=0f3ade97-b8a0-11f0-b114-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:30:04.976] releasing exclusive lock for power action action=stop lock_id=0f3ade97-b8a0-11f0-b114-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:30:07.759] acquired exclusive lock on power actions, processing event... action=stop lock_id=1192baef-b8a0-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:30:08.693] releasing exclusive lock for power action action=stop lock_id=1192baef-b8a0-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:14.511] acquired exclusive lock on power actions, processing event... action=start lock_id=5d1f839a-b8a0-11f0-b114-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:32:14.511] syncing server configuration with panel server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:32:14.532] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:32:14.539] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:32:14.558] completed server preflight, starting boot process... server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:32:23.070] starting resource polling for container container_id=d4da20d8-7852-4d3e-adbd-23dabfd365bc environment=docker
INFO: [Nov 3 11:32:23.288] releasing exclusive lock for power action action=start lock_id=5d1f839a-b8a0-11f0-b114-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:32:29.928] acquired exclusive lock on power actions, processing event... action=start lock_id=664ff8c0-b8a0-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:29.928] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:29.956] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:29.963] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:30.172] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:30.781] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Nov 3 11:32:30.941] releasing exclusive lock for power action action=start lock_id=664ff8c0-b8a0-11f0-b114-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:32:37.027] acquired exclusive lock on power actions, processing event... action=start lock_id=6a8b4f4c-b8a0-11f0-b114-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:32:37.027] syncing server configuration with panel server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:32:37.078] performing server limit modification on-the-fly server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:32:37.086] performing server limit modification on-the-fly server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:32:37.354] completed server preflight, starting boot process... server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:32:38.008] starting resource polling for container container_id=a67db310-6b08-4bd6-95d0-8fa0ac094a94 environment=docker
INFO: [Nov 3 11:32:38.244] releasing exclusive lock for power action action=start lock_id=6a8b4f4c-b8a0-11f0-b114-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:17.561] writing log files to disk path=/var/log/pelican/wings.log
INFO: [Nov 3 11:33:17.561] loading configuration from file config_file=/etc/pelican/config.yml
INFO: [Nov 3 11:33:17.569] configured wings with system timezone timezone=Etc/UTC
INFO: [Nov 3 11:33:17.569] checking for pelican system user username=pelican
INFO: [Nov 3 11:33:17.569] configured system user successfully gid=987 uid=999 username=pelican
INFO: [Nov 3 11:33:17.573] fetching list of servers from API
INFO: [Nov 3 11:33:17.920] processing servers returned by the API total_configs=3
INFO: [Nov 3 11:33:17.921] creating new server object from API response server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:17.921] creating new server object from API response server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.921] creating new server object from API response server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:17.922] finished processing server configurations duration=1.437131ms
INFO: [Nov 3 11:33:17.923] finished loading configuration for server server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.924] finished loading configuration for server server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:17.924] finished loading configuration for server server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:17.924] configuring server environment and restoring to previous state server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.924] configuring server environment and restoring to previous state server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:17.924] configuring server environment and restoring to previous state server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:17.929] acquired exclusive lock on power actions, processing event... action=start lock_id=82ec4f1e-b8a0-11f0-8e84-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:17.929] syncing server configuration with panel server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:17.929] acquired exclusive lock on power actions, processing event... action=start lock_id=82ec58b8-b8a0-11f0-8e84-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.929] syncing server configuration with panel server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.962] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.962] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:17.972] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:17.974] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:18.030] completed server preflight, starting boot process... server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:18.363] completed server preflight, starting boot process... server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:18.726] starting resource polling for container container_id=d4da20d8-7852-4d3e-adbd-23dabfd365bc environment=docker
INFO: [Nov 3 11:33:18.945] starting resource polling for container container_id=2e07026f-ef54-4125-ad02-1d4bdf673bd5 environment=docker
INFO: [Nov 3 11:33:19.048] releasing exclusive lock for power action action=start lock_id=82ec4f1e-b8a0-11f0-8e84-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:19.068] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:33:19.132] releasing exclusive lock for power action action=start lock_id=82ec58b8-b8a0-11f0-8e84-c4c6e6686181 server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:19.170] performing server limit modification on-the-fly server=2e07026f-ef54-4125-ad02-1d4bdf673bd5
INFO: [Nov 3 11:33:19.187] configuring system crons interval=1m0s subsystem=cron
INFO: [Nov 3 11:33:19.187] starting cron processes subsystem=cron
INFO: [Nov 3 11:33:19.187] configuring internal webserver host_address={redacted} host_port=8080 use_auto_tls=false use_ssl=false
INFO: [Nov 3 11:33:19.187] updating server states on Panel: marking installing/restoring servers as normal
INFO: [Nov 3 11:33:19.189] sftp server listening for connections listen={redacted}:2022 public_key=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbmgpOQrRSBPcV6HdGV7q/hhkcaqTfm1qMwRMVkqR4u
INFO: [Nov 3 11:33:31.226] acquired exclusive lock on power actions, processing event... action=start lock_id=8ad96daf-b8a0-11f0-8e84-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:31.226] syncing server configuration with panel server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:31.254] performing server limit modification on-the-fly server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:31.261] performing server limit modification on-the-fly server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:31.441] completed server preflight, starting boot process... server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:33:32.053] starting resource polling for container container_id=a67db310-6b08-4bd6-95d0-8fa0ac094a94 environment=docker
INFO: [Nov 3 11:33:32.748] releasing exclusive lock for power action action=start lock_id=8ad96daf-b8a0-11f0-8e84-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 11:34:41.678] acquired exclusive lock on power actions, processing event... action=restart lock_id=b4d7816c-b8a0-11f0-8e84-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:34:42.820] syncing server configuration with panel server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:34:42.843] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:34:42.849] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:34:42.860] completed server preflight, starting boot process... server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:34:43.448] starting resource polling for container container_id=d4da20d8-7852-4d3e-adbd-23dabfd365bc environment=docker
INFO: [Nov 3 11:34:43.671] releasing exclusive lock for power action action=restart lock_id=b4d7816c-b8a0-11f0-8e84-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:36:50.373] acquired exclusive lock on power actions, processing event... action=restart lock_id=018cd047-b8a1-11f0-8e84-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:36:51.507] syncing server configuration with panel server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:36:51.532] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:36:51.537] performing server limit modification on-the-fly server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:36:51.550] completed server preflight, starting boot process... server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
INFO: [Nov 3 11:36:52.179] starting resource polling for container container_id=d4da20d8-7852-4d3e-adbd-23dabfd365bc environment=docker
INFO: [Nov 3 11:36:52.378] releasing exclusive lock for power action action=restart lock_id=018cd047-b8a1-11f0-8e84-c4c6e6686181 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc
ERROR: [Nov 3 12:03:12.611] failed to send event over server websocket connection=413d4673-87a5-4a75-964c-ae3c931988b0 error=write tcp 192.168.0.6:8080->192.168.27.65:60410: write: broken pipe event=stats server=d4da20d8-7852-4d3e-adbd-23dabfd365bc subsystem=websocket
Stacktrace:
write tcp 192.168.0.6:8080->192.168.27.65:60410: write: broken pipe
github.com/pelican-dev/wings/router/websocket.(*Handler).listenForServerEvents.func1
github.com/pelican-dev/wings/router/websocket/listeners.go:100
github.com/pelican-dev/wings/router/websocket.(*Handler).listenForServerEvents
github.com/pelican-dev/wings/router/websocket/listeners.go:150
github.com/pelican-dev/wings/router/websocket.(*Handler).registerListenerEvents.func1
github.com/pelican-dev/wings/router/websocket/listeners.go:29
runtime.goexit
runtime/asm_amd64.s:1700
WARN: [Nov 3 12:03:12.612] error while processing server event; closing websocket connection connection=413d4673-87a5-4a75-964c-ae3c931988b0 server=d4da20d8-7852-4d3e-adbd-23dabfd365bc subsystem=websocket
ERROR: [Nov 3 12:03:12.612] error closing websocket connection connection=413d4673-87a5-4a75-964c-ae3c931988b0 error=close tcp 192.168.0.6:8080->192.168.27.65:60410: use of closed network connection server=d4da20d8-7852-4d3e-adbd-23dabfd365bc subsystem=websocket
Stacktrace:
close tcp 192.168.0.6:8080->192.168.27.65:60410: use of closed network connection
github.com/pelican-dev/wings/router/websocket.(*Handler).registerListenerEvents.func1
github.com/pelican-dev/wings/router/websocket/listeners.go:32
runtime.goexit
runtime/asm_amd64.s:1700
INFO: [Nov 3 20:11:14.652] acquired exclusive lock on power actions, processing event... action=stop lock_id=de180caf-b8e8-11f0-8e84-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
INFO: [Nov 3 20:11:17.115] releasing exclusive lock for power action action=stop lock_id=de180caf-b8e8-11f0-8e84-c4c6e6686181 server=a67db310-6b08-4bd6-95d0-8fa0ac094a94
';
try {
if ($includeEndpoints || $includeLogs) {
$set('pulled', true);
$set('log', $output);
$response = $this->daemonRepository->setNode($node)->getDiagnostics($logLines, $includeEndpoints, $includeLogs);
Notification::make()
->title('Logs Pulled')
->success()
->send();
}
$set('pulled', true);
$set('log', $response->body());
Notification::make()
->title('Logs Pulled')
->success()
->send();
} catch (ConnectionException $e) {
Notification::make()
->title(trans('admin/node.error_connecting', ['node' => $node->name]))
@ -920,30 +674,81 @@ runtime.goexit
Action::make('upload')
->label(trans('admin/node.diagnostics.upload'))
->visible(fn (Get $get) => $get('pulled') ?? false)
->icon('tabler-cloud-upload')->iconButton()->iconSize(IconSize::ExtraLarge),
->icon('tabler-cloud-upload')->iconSize(IconSize::ExtraLarge)
->action(function (Get $get) {
try {
$response = Http::asMultipart()->post('https://logs.pelican.dev', [
[
'name' => 'c',
'contents' => $get('log'),
],
[
'name' => 'e',
'contents' => '14d',
],
]);
if ($response->failed()) {
Notification::make()
->title(trans('admin/node.diagnostics.upload_failed'))
->body($response->status())
->danger()
->send();
return;
}
$data = $response->json();
$url = $data['url'];
Notification::make()
->title(trans('admin/node.diagnostics.logs_uploaded'))
->body("{$url}")
->success()
->actions([
Action::make('viewLogs')
->label(trans('admin/node.diagnostics.view_logs'))
->url($url)
->openUrlInNewTab(true),
])
->persistent()
->send();
} catch (\Exception $e) {
Notification::make()
->title(trans('admin/node.actions.upload_failed'))
->body($e->getMessage())
->danger()
->send();
}
}),
])
->schema([
Toggle::make('include_endpoints')
->hintIcon('tabler-question-mark')
->hintIconTooltip(trans('admin/node.diagnostics.include_endpoints_hint'))
->hintIcon('tabler-question-mark'),
->formatStateUsing(fn () => true),
Toggle::make('include_logs')
->live()
->hintIcon('tabler-question-mark')
->hintIconTooltip(trans('admin/node.diagnostics.include_logs_hint'))
->hintIcon('tabler-question-mark'),
->formatStateUsing(fn () => true),
Slider::make('log_lines')
->columnSpanFull()
->hiddenLabel()
->live()
->tooltips()->fillTrack()->pips()->steppedPips()
->visible(fn (Get $get) => $get('include_logs'))
->range(minValue: 100, maxValue: 500)
->step(50)
->default(200),
->step(25)
->formatStateUsing(fn () => 200),
Hidden::make('pulled'),
Hidden::make('uploaded'),
]),
Textarea::make('log')
->hiddenLabel()
->columnSpanFull()
->rows('35')
->rows(35)
->visible(fn (Get $get) => $get('pulled') ?? false),
]),
]),

View File

@ -16,6 +16,7 @@ use App\Services\Nodes\NodeUpdateService;
use App\Transformers\Api\Application\NodeTransformer;
use Dedoc\Scramble\Attributes\Group;
use Exception;
use Illuminate\Http\Client\Response;
use Illuminate\Http\JsonResponse;
use Spatie\QueryBuilder\QueryBuilder;
use Throwable;

View File

@ -22,6 +22,8 @@ use App\Models\Server;
use App\Models\Task;
use App\Models\User;
use App\Models\UserSSHKey;
use App\Repositories\Daemon\DaemonRepository;
use App\Repositories\Daemon\HttpDaemonRepository;
use App\Services\Helpers\SoftwareVersionService;
use Dedoc\Scramble\Scramble;
use Dedoc\Scramble\Support\Generator\OpenApi;
@ -127,5 +129,8 @@ class AppServiceProvider extends ServiceProvider
public function register(): void
{
Scramble::ignoreDefaultRoutes();
// Bind the daemon repository abstract to a concrete implementation so it is instantiable.
$this->app->bind(DaemonRepository::class, HttpDaemonRepository::class);
}
}

View File

@ -52,22 +52,6 @@ abstract class DaemonRepository
return Http::daemon($this->node, $headers)->throwIf(fn ($condition) => $this->enforceValidNodeToken($condition));
}
/**
* Fetch diagnostics from Wings.
*
* @throws ConnectionException
*/
public function getDiagnostics(int $logLines = 300, bool $includeEndpoints = true, bool $includeLogs = true): Response
{
$query = [
'include_endpoints' => $includeEndpoints,
'include_logs' => $includeLogs,
'log_lines' => $logLines,
];
return $this->getHttpClient()->get('/api/diagnostics', $query);
}
protected function enforceValidNodeToken(Response|bool $condition): bool
{
if (is_bool($condition)) {
@ -88,4 +72,23 @@ abstract class DaemonRepository
return true;
}
/**
* Retrieve diagnostics from the daemon for the current node.
*
*
* @throws ConnectionException
*/
public function getDiagnostics(int $lines, bool $includeEndpoints, bool $includeLogs): Response
{
Assert::isInstanceOf($this->node, Node::class);
return $this->getHttpClient()
->timeout(5)
->get('/api/diagnostics', [
'log_lines' => $lines,
'include_endpoints' => $includeEndpoints ? 'true' : 'false',
'include_logs' => $includeLogs ? 'true' : 'false',
]);
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace App\Repositories\Daemon;
class HttpDaemonRepository extends DaemonRepository
{
// Concrete instantiable implementation. Uses DaemonRepository's HTTP helper methods.
}

View File

@ -128,6 +128,7 @@ return [
'upload_to_pelican' => 'Upload Logs',
'logs_uploaded' => 'Logs Uploaded',
'upload_failed' => 'Log Upload Failed',
'view_logs' => 'View Logs',
'pull' => 'Pull',
'upload' => 'Upload',
],