feat(v5): add server clusters and CLI bootstrap

Create v5 cluster/server persistence, expose them on the home page,
and add a bootstrap endpoint backed by the coolify CLI. Add dev Lima
server sync support and update the dev script firewall flow.
This commit is contained in:
Andras Bacsai committed 2026-06-16 15:45:16 +02:00
1 parent 586588196d
commit 1e038fecae
16 files changed
+1389 -108

No files matched your search

+58
View File
@@ -0,0 +1,58 @@
<?php
namespace App\Models\V5;
use App\Models\PrivateKey;
use App\Models\Team;
use App\Models\User;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Server extends V5Model
{
protected $table = 'v5_servers';
protected $fillable = [
'team_id',
'cluster_id',
'created_by_user_id',
'private_key_id',
'name',
'host',
'ssh_user',
'ssh_port',
'status',
'capabilities',
'builder_enabled',
'builder_capacity',
'last_bootstrapped_at',
];
protected function casts(): array
{
return [
'capabilities' => 'array',
'builder_enabled' => 'boolean',
'last_bootstrapped_at' => 'datetime',
];
}
public function cluster(): BelongsTo
{
return $this->belongsTo(Cluster::class);
}
public function team(): BelongsTo
{
return $this->belongsTo(Team::class);
}
public function creator(): BelongsTo
{
return $this->belongsTo(User::class, 'created_by_user_id');
}
public function privateKey(): BelongsTo
{
return $this->belongsTo(PrivateKey::class);
}
}