From e8dabde90633497d49f25dfd734f7bfcfe7395d8 Mon Sep 17 00:00:00 2001 From: "Harry (hjbdev)" Date: Sun, 30 Mar 2025 15:04:51 +0000 Subject: [PATCH] provision failure checks --- app/Jobs/Servers/ProvisionServer.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/Jobs/Servers/ProvisionServer.php b/app/Jobs/Servers/ProvisionServer.php index de34a7a..c54e410 100644 --- a/app/Jobs/Servers/ProvisionServer.php +++ b/app/Jobs/Servers/ProvisionServer.php @@ -35,10 +35,21 @@ class ProvisionServer implements ShouldQueue, ShouldBeEncrypted // Download the provision script and execute it // The script will run in the background - $ssh->execute("wget --quiet --output-document=provision.sh \"{$provisionScriptUrl}\" && chmod +x provision.sh && ./provision.sh &"); + $result = $ssh->execute("wget --quiet --output-document=provision.sh \"{$provisionScriptUrl}\" && chmod +x provision.sh && ./provision.sh &"); logger('executing script on server'); logger("wget --quiet --output-document=provision.sh \"{$provisionScriptUrl}\" && chmod +x provision.sh && ./provision.sh &"); + if (! $result->isSuccessful()) { + logger('failed to execute script on server'); + logger($result->getOutput()); + logger($result->getErrorOutput()); + logger($result->getExitCode()); + $this->server->update([ + 'status' => ServerStatus::PROVISIONING_FAILED, + ]); + return; + } + $this->server->update([ 'status' => ServerStatus::PROVISIONING, ]);