lasthourcloud/app/Services/CoolifyProcess.php

46 lines
1.1 KiB
PHP
Raw Normal View History

2023-03-20 12:04:22 +00:00
<?php
namespace App\Services;
use App\Jobs\ExecuteCoolifyProcess;
use Spatie\Activitylog\Contracts\Activity;
class CoolifyProcess
{
protected Activity $activity;
// TODO Left 'root' as default user instead of 'coolify' because
// there's a task at TODO.md to run docker without sudo
public function __construct(
protected string $destination,
protected string $command,
protected ?int $port = 22,
protected ?string $user = 'root',
){
$this->activity = activity()
->withProperties([
'type' => 'COOLIFY_PROCESS',
'user' => $this->user,
'destination' => $this->destination,
'port' => $this->port,
'command' => $this->command,
'status' => ProcessStatus::HOLDING,
])
->log("Awaiting command to start...\n\n");
2023-03-20 12:04:22 +00:00
}
public function __invoke(): Activity
2023-03-20 12:04:22 +00:00
{
$job = new ExecuteCoolifyProcess($this->activity);
dispatch($job);
$this->activity->refresh();
ray($this->activity->id);
2023-03-20 12:04:22 +00:00
return $this->activity;
}
}