server list, logs removed, driver/plan wip
This commit is contained in:
15
app/Data/Deployments/Plan.php
Normal file
15
app/Data/Deployments/Plan.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace App\Data\Deployments;
|
||||
|
||||
class Plan
|
||||
{
|
||||
/**
|
||||
* @param Step[] $steps
|
||||
*/
|
||||
public function __construct(
|
||||
public array $steps = [],
|
||||
) {
|
||||
//
|
||||
}
|
||||
}
|
||||
11
app/Data/Deployments/Step.php
Normal file
11
app/Data/Deployments/Step.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Data\Deployments;
|
||||
|
||||
class Step
|
||||
{
|
||||
public function __construct(
|
||||
) {
|
||||
//
|
||||
}
|
||||
}
|
||||
8
app/Drivers/DatabaseDriver.php
Normal file
8
app/Drivers/DatabaseDriver.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Drivers;
|
||||
|
||||
interface DatabaseDriver extends Driver
|
||||
{
|
||||
//
|
||||
}
|
||||
8
app/Drivers/Driver.php
Normal file
8
app/Drivers/Driver.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Drivers;
|
||||
|
||||
interface Driver
|
||||
{
|
||||
//
|
||||
}
|
||||
10
app/Drivers/Postgres/Postgres17Driver.php
Normal file
10
app/Drivers/Postgres/Postgres17Driver.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Drivers\Postgres;
|
||||
|
||||
use App\Drivers\DatabaseDriver;
|
||||
|
||||
class Postgres17Driver implements DatabaseDriver
|
||||
{
|
||||
// @todo
|
||||
}
|
||||
11
app/Enums/ServiceStatus.php
Normal file
11
app/Enums/ServiceStatus.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum ServiceStatus: string
|
||||
{
|
||||
case RUNNING = 'running';
|
||||
case STOPPED = 'stopped';
|
||||
case ERROR = 'error';
|
||||
case UNKNOWN = 'unknown';
|
||||
}
|
||||
@@ -92,13 +92,6 @@ class ServerController extends Controller
|
||||
sudoPassword: $sudoPassword,
|
||||
))->delay(now()->addSeconds(5));
|
||||
|
||||
logger('server created');
|
||||
logger($createdServer->id);
|
||||
logger($createdServer->ipv4);
|
||||
logger($createdServer->ipv6);
|
||||
logger($createdServer->rootPassword);
|
||||
logger($sudoPassword);
|
||||
|
||||
session()->flash('sudo_password', $sudoPassword);
|
||||
|
||||
return redirect()->route('servers.show', ['organisation' => $organisation->id, 'server' => $server->id]);
|
||||
|
||||
@@ -43,21 +43,12 @@ class ProvisionServer implements ShouldQueue, ShouldBeEncrypted
|
||||
]);
|
||||
logger('executing script on server');
|
||||
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;
|
||||
}
|
||||
|
||||
logger('script executed on server');
|
||||
logger($result->getOutput());
|
||||
logger($result->getErrorOutput());
|
||||
logger($result->getExitCode());
|
||||
|
||||
$this->server->update([
|
||||
'status' => ServerStatus::PROVISIONING,
|
||||
]);
|
||||
|
||||
@@ -34,12 +34,6 @@ class WaitForServerToConnect implements ShouldQueue, ShouldBeEncrypted
|
||||
->execute('echo "Connected"');
|
||||
|
||||
if (! $process->isSuccessful()) {
|
||||
logger('root pw: ' . $this->rootPassword);
|
||||
logger('server not reachable');
|
||||
logger('exit code' . $process->getExitCode());
|
||||
logger('output');
|
||||
logger($process->getOutput());
|
||||
logger($process->getErrorOutput());
|
||||
$this->release(15);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Drivers\Driver;
|
||||
use App\Enums\ServiceStatus;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
@@ -10,6 +12,13 @@ class Service extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
protected function casts(): array
|
||||
{
|
||||
return [
|
||||
'status' => ServiceStatus::class,
|
||||
];
|
||||
}
|
||||
|
||||
public function server(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Server::class);
|
||||
@@ -19,4 +28,9 @@ class Service extends Model
|
||||
{
|
||||
return $this->hasMany(Slice::class);
|
||||
}
|
||||
|
||||
public function driver()//: Driver
|
||||
{
|
||||
// @todo. This is the class that controls the service
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user