fix
This commit is contained in:
parent
f46493e885
commit
0d45d9980c
@ -12,7 +12,6 @@ class Form extends Component
|
||||
public Server $server;
|
||||
public $uptime;
|
||||
public $dockerVersion;
|
||||
public $dockerComposeVersion;
|
||||
|
||||
protected $rules = [
|
||||
'server.name' => 'required|min:6',
|
||||
@ -20,7 +19,7 @@ class Form extends Component
|
||||
'server.ip' => 'required',
|
||||
'server.user' => 'required',
|
||||
'server.port' => 'required',
|
||||
'server.settings.is_validated' => 'required',
|
||||
'server.settings.is_reachable' => 'required',
|
||||
'server.settings.is_part_of_swarm' => 'required'
|
||||
];
|
||||
public function mount()
|
||||
@ -36,7 +35,10 @@ class Form extends Component
|
||||
{
|
||||
try {
|
||||
$this->uptime = instant_remote_process(['uptime'], $this->server, false);
|
||||
if (!$this->uptime) {
|
||||
if ($this->uptime) {
|
||||
$this->server->settings->is_reachable = true;
|
||||
$this->server->settings->save();
|
||||
} else {
|
||||
$this->uptime = 'Server not reachable.';
|
||||
throw new \Exception('Server not reachable.');
|
||||
}
|
||||
@ -44,15 +46,10 @@ class Form extends Component
|
||||
if (!$this->dockerVersion) {
|
||||
$this->dockerVersion = 'Not installed.';
|
||||
} else {
|
||||
$this->server->settings->is_docker_installed = true;
|
||||
$this->server->settings->is_validated = true;
|
||||
$this->server->settings->is_usable = true;
|
||||
$this->server->settings->save();
|
||||
$this->emit('serverValidated');
|
||||
}
|
||||
$this->dockerComposeVersion = instant_remote_process(['docker compose version|head -2|grep -i version'], $this->server, false);
|
||||
if (!$this->dockerComposeVersion) {
|
||||
$this->dockerComposeVersion = 'Not installed.';
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return general_error_handler(err: $e, that: $this);
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ class InstanceProxyCheckJob implements ShouldQueue
|
||||
{
|
||||
try {
|
||||
$container_name = 'coolify-proxy';
|
||||
$servers = Server::whereRelation('settings', 'is_validated', true)->where('extra_attributes->proxy_type', ProxyTypes::TRAEFIK_V2)->get();
|
||||
$servers = Server::whereRelation('settings', 'is_reachable', true)->where('extra_attributes->proxy_type', ProxyTypes::TRAEFIK_V2)->get();
|
||||
|
||||
foreach ($servers as $server) {
|
||||
$status = get_container_status(server: $server, container_id: $container_name);
|
||||
|
@ -65,7 +65,7 @@ class Server extends BaseModel
|
||||
|
||||
static public function validated()
|
||||
{
|
||||
return Server::ownedByCurrentTeam()->whereRelation('settings', 'is_validated', true);
|
||||
return Server::ownedByCurrentTeam()->whereRelation('settings', 'is_reachable', true);
|
||||
}
|
||||
|
||||
static public function destinationsByServer(string $server_id)
|
||||
|
@ -8,7 +8,7 @@ class ServerSetting extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'server_id',
|
||||
'is_docker_installed',
|
||||
'is_usable',
|
||||
];
|
||||
public function server()
|
||||
{
|
||||
|
@ -50,7 +50,7 @@ function remote_process(
|
||||
function save_private_key_for_server(Server $server)
|
||||
{
|
||||
if (data_get($server, 'privateKey.private_key') === null) {
|
||||
$server->settings->is_validated = false;
|
||||
$server->settings->is_reachable = false;
|
||||
$server->settings->save();
|
||||
throw new \Exception("Server {$server->name} does not have a private key");
|
||||
}
|
||||
|
@ -16,8 +16,8 @@ return new class extends Migration
|
||||
$table->boolean('is_part_of_swarm')->default(false);
|
||||
$table->boolean('is_jump_server')->default(false);
|
||||
$table->boolean('is_build_server')->default(false);
|
||||
$table->boolean('is_validated')->default(false);
|
||||
$table->boolean('is_docker_installed')->default(false);
|
||||
$table->boolean('is_reachable')->default(false);
|
||||
$table->boolean('is_usable')->default(false);
|
||||
$table->foreignId('server_id');
|
||||
$table->timestamps();
|
||||
});
|
||||
|
@ -85,7 +85,7 @@ class ProductionSeeder extends Seeder
|
||||
'proxy_status' => ProxyStatus::EXITED->value
|
||||
]);
|
||||
$server = Server::create($server_details);
|
||||
$server->settings->is_validated = true;
|
||||
$server->settings->is_reachable = true;
|
||||
$server->settings->save();
|
||||
}
|
||||
if (StandaloneDocker::find(0) == null) {
|
||||
|
@ -15,12 +15,12 @@ class ServerSettingSeeder extends Seeder
|
||||
{
|
||||
$server_2 = Server::find(0)->load(['settings']);
|
||||
$server_2->settings->is_build_server = true;
|
||||
$server_2->settings->is_validated = true;
|
||||
$server_2->settings->is_reachable = true;
|
||||
$server_2->settings->save();
|
||||
|
||||
$server_3 = Server::find(1)->load(['settings']);
|
||||
$server_3->settings->is_part_of_swarm = false;
|
||||
$server_3->settings->is_validated = false;
|
||||
$server_3->settings->is_reachable = false;
|
||||
$server_3->settings->save();
|
||||
}
|
||||
}
|
||||
|
@ -79,15 +79,6 @@
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
function changePasswordFieldType(id) {
|
||||
const input = document.getElementById(id);
|
||||
if (input.type === 'password') {
|
||||
input.type = 'text';
|
||||
} else {
|
||||
input.type = 'password';
|
||||
}
|
||||
}
|
||||
|
||||
function copyToClipboard(text) {
|
||||
navigator.clipboard.writeText(text);
|
||||
Livewire.emit('message', 'Copied to clipboard.');
|
||||
@ -108,18 +99,17 @@
|
||||
if (message) Toaster.success(message)
|
||||
})
|
||||
</script>
|
||||
@else
|
||||
<script>
|
||||
function changePasswordFieldType(id) {
|
||||
const input = document.getElementById(id);
|
||||
if (input.type === 'password') {
|
||||
input.type = 'text';
|
||||
} else {
|
||||
input.type = 'password';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@endauth
|
||||
<script>
|
||||
function changePasswordFieldType(id) {
|
||||
const input = document.getElementById(id);
|
||||
if (input.type === 'password') {
|
||||
input.type = 'text';
|
||||
} else {
|
||||
input.type = 'password';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -9,7 +9,7 @@
|
||||
Delete
|
||||
</x-forms.button>
|
||||
@endif
|
||||
@if (!$server->settings->is_validated)
|
||||
@if (!$server->settings->is_reachable)
|
||||
<div class="w-full">
|
||||
<x-forms.button isHighlighted wire:click.prevent='validateServer'>
|
||||
Validate Server
|
||||
@ -45,14 +45,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($server->settings->is_validated)
|
||||
@if ($server->settings->is_reachable)
|
||||
<h3 class="pt-8 pb-4">Quick Actions</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<x-forms.button wire:click.prevent='validateServer'>
|
||||
Check Server Details
|
||||
</x-forms.button>
|
||||
<x-forms.button wire:click.prevent='installDocker'>
|
||||
@if ($server->settings->is_docker_installed)
|
||||
@if ($server->settings->is_usable)
|
||||
Reconfigure Docker Engine
|
||||
@else
|
||||
Install Docker Engine
|
||||
@ -71,9 +71,6 @@
|
||||
@isset($dockerVersion)
|
||||
<p>Docker Engine {{ $dockerVersion }}</p>
|
||||
@endisset
|
||||
@isset($dockerComposeVersion)
|
||||
<p>Compose: {{ $dockerComposeVersion }}</p>
|
||||
@endisset
|
||||
</div>
|
||||
@endisset
|
||||
</form>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div x-data="{ stopProxy: false }">
|
||||
<x-naked-modal show="stopProxy" action="stopProxy"
|
||||
message='Are you sure you would like to stop the proxy? All resources will be unavailable.' />
|
||||
@if ($server->settings->is_validated)
|
||||
@if ($server->settings->is_reachable)
|
||||
@if ($server->extra_attributes->proxy_type)
|
||||
<div x-init="$wire.checkProxySettingsInSync">
|
||||
<div wire:loading wire:target="checkProxySettingsInSync">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div>
|
||||
@if ($server->settings->is_validated)
|
||||
@if ($server->settings->is_reachable)
|
||||
@if ($server->extra_attributes->proxy_status === 'running')
|
||||
<div class="flex gap-4">
|
||||
<div class="group">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div>
|
||||
@if ($server->settings->is_validated)
|
||||
@if ($server->settings->is_reachable)
|
||||
<div wire:poll.10000ms="proxyStatus" x-init="$wire.proxyStatus">
|
||||
@if ($server->extra_attributes->proxy_status === 'running')
|
||||
<x-status.running />
|
||||
|
@ -7,7 +7,7 @@
|
||||
href="{{ route('server.show', ['server_uuid' => data_get($server, 'uuid')]) }}">
|
||||
<div class="group-hover:text-white">
|
||||
<div>{{ $server->name }}</div>
|
||||
@if (!$server->settings->is_validated)
|
||||
@if (!$server->settings->is_reachable)
|
||||
<div class="text-xs text-error">not validated</div>
|
||||
@endif
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user