From 2b4fa666ad17a4a3a5cad30b75e4b49d8a506197 Mon Sep 17 00:00:00 2001 From: Vasyka Date: Thu, 7 May 2026 07:45:46 +0000 Subject: [PATCH] diag: distinguish Coolify provisioning failures (not configured vs API fail) --- .../CompanyResource/Pages/CreateCompany.php | 5 +++-- app/Services/CompanyProvisioner.php | 20 ++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/Filament/Central/Resources/CompanyResource/Pages/CreateCompany.php b/app/Filament/Central/Resources/CompanyResource/Pages/CreateCompany.php index b1f33e6..b58a038 100644 --- a/app/Filament/Central/Resources/CompanyResource/Pages/CreateCompany.php +++ b/app/Filament/Central/Resources/CompanyResource/Pages/CreateCompany.php @@ -18,9 +18,10 @@ class CreateCompany extends CreateRecord $msg = "Admin: {$result['admin_email']}\nParolă: {$result['admin_password']}"; if ($result['deploy_triggered']) { - $msg .= "\nSubdomain adăugat în Coolify, redeploy declanșat (~90s)."; + $msg .= "\n✅ Subdomain adăugat în Coolify, redeploy declanșat (~90s)."; } else { - $msg .= "\n⚠️ Coolify nu e configurat — adaugă manual https://{$result['company']->slug}.service.mir.md:8000 la FQDN-ul aplicației."; + $detail = $result['coolify_message'] ?? 'unknown'; + $msg .= "\n⚠️ Provisioning automat eșuat ({$detail}). Adaugă manual https://{$result['company']->slug}.service.mir.md:8000 la FQDN-ul aplicației."; } Notification::make() diff --git a/app/Services/CompanyProvisioner.php b/app/Services/CompanyProvisioner.php index c46b63c..14fb2d2 100644 --- a/app/Services/CompanyProvisioner.php +++ b/app/Services/CompanyProvisioner.php @@ -83,12 +83,25 @@ class CompanyProvisioner // Add subdomain to Coolify FQDN list + trigger redeploy. $deployTriggered = false; + $coolifyMessage = null; $appUuid = (string) config('services.coolify.app_uuid'); - if ($this->coolify->isConfigured() && $appUuid !== '') { + + if (! $this->coolify->isConfigured()) { + $coolifyMessage = 'Coolify API nu e configurat (lipsesc env vars).'; + } elseif ($appUuid === '') { + $coolifyMessage = 'COOLIFY_APP_UUID lipsește.'; + } else { $url = $company->url(''); - $url = rtrim($url, '/') . ':8000'; // internal port suffix Coolify expects + $url = rtrim($url, '/') . ':8000'; if ($this->coolify->addDomain($appUuid, $url)) { - $deployTriggered = $this->coolify->deploy($appUuid, true); + if ($this->coolify->deploy($appUuid, true)) { + $deployTriggered = true; + $coolifyMessage = 'OK'; + } else { + $coolifyMessage = 'Domain adăugat dar redeploy a eșuat.'; + } + } else { + $coolifyMessage = 'addDomain Coolify eșuat (vezi log).'; } } @@ -97,6 +110,7 @@ class CompanyProvisioner 'admin_email' => $adminEmail, 'admin_password' => $plainPassword, 'deploy_triggered' => $deployTriggered, + 'coolify_message' => $coolifyMessage, ]; }); }