Hostdetailseite: die Adresse steht neben den IPs und ist ein Klick zur Proxmox-Oberflaeche
parent
c815aee0b5
commit
11ba7ee34f
|
|
@ -7,6 +7,7 @@ use App\Models\ProvisioningRun;
|
|||
use App\Provisioning\Jobs\AdvanceRunJob;
|
||||
use App\Provisioning\Jobs\CollectHostLoad;
|
||||
use App\Services\Proxmox\HostLoadSeries;
|
||||
use App\Support\HostName;
|
||||
use App\Support\PveVersion;
|
||||
use Illuminate\Support\Collection;
|
||||
use Livewire\Attributes\Layout;
|
||||
|
|
@ -159,6 +160,7 @@ class HostDetail extends Component
|
|||
'netout' => $this->latest($load['netout']),
|
||||
],
|
||||
'version' => PveVersion::parse($this->host->pve_version),
|
||||
'fqdn' => HostName::fqdn($this->host->name),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@ return [
|
|||
'build' => 'Bau',
|
||||
'onboarding_done' => 'Übernahme abgeschlossen',
|
||||
'node' => 'Node',
|
||||
'fqdn' => 'Adresse',
|
||||
'fqdn_hint' => 'Proxmox-Oberfläche — antwortet nur aus dem WireGuard-Tunnel.',
|
||||
'instances' => 'Instanzen',
|
||||
'hosted' => 'Gehostete Instanzen',
|
||||
'no_instances' => 'Auf diesem Host laufen noch keine Instanzen.',
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@ return [
|
|||
'storage' => 'Storage',
|
||||
'compute' => 'Compute',
|
||||
'node' => 'Node',
|
||||
'fqdn' => 'Address',
|
||||
'fqdn_hint' => 'Proxmox web UI — answers from inside the WireGuard tunnel only.',
|
||||
'instances' => 'Instances',
|
||||
'hosted' => 'Hosted instances',
|
||||
'no_instances' => 'No instances running on this host yet.',
|
||||
|
|
|
|||
|
|
@ -161,6 +161,24 @@
|
|||
<dd class="mt-0.5 truncate font-mono text-sm font-semibold text-ink">{{ __('hosts.unknown') }}</dd>
|
||||
@endif
|
||||
</div>
|
||||
{{-- Die Adresse, nicht bloß der Name: ein Klick landet auf der
|
||||
Proxmox-Oberfläche des Hosts. Sie antwortet nur aus dem Tunnel
|
||||
— SecureHostFirewall lässt 8006 ausschließlich aus dem
|
||||
Management-Subnetz zu, und der Name löst nur dort auf.
|
||||
|
||||
col-span-full statt eines sechsten schmalen Feldes: die Tafel
|
||||
hatte sechs Einträge in sechs Spalten, keine Lücke für einen
|
||||
siebten. Eine siebte schmale Spalte hätte die Adresse mitten im
|
||||
Domainnamen abgeschnitten — genau die Zeichenkette, die hier
|
||||
lesbar sein muss. Eine eigene, volle Zeile lässt sie stehen. --}}
|
||||
<div class="col-span-full min-w-0">
|
||||
<dt class="text-xs text-muted">{{ __('hosts.detail.fqdn') }}</dt>
|
||||
<dd class="mt-0.5 truncate font-mono text-sm font-semibold">
|
||||
<a href="https://{{ $fqdn }}:8006" target="_blank" rel="noopener"
|
||||
class="text-accent-text underline-offset-2 hover:underline"
|
||||
title="{{ __('hosts.detail.fqdn_hint') }}">{{ $fqdn }}</a>
|
||||
</dd>
|
||||
</div>
|
||||
</dl>
|
||||
|
||||
{{-- Die Reserve gehört hierher und nicht auf eine Kachel: die Kacheln
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
use App\Actions\StartHostOnboarding;
|
||||
use App\Livewire\Admin\HostCreate;
|
||||
use App\Livewire\Admin\HostDetail;
|
||||
use App\Models\Datacenter;
|
||||
use App\Models\Host;
|
||||
use App\Support\HostName;
|
||||
|
|
@ -140,3 +141,18 @@ it('nennt den Host im DNS so, wie die Konsole ihn nennt', function () {
|
|||
->and(HostTakeoverCommand::fqdnFor($host))
|
||||
->toBe(HostName::fqdn($host->name));
|
||||
});
|
||||
|
||||
it('zeigt auf der Detailseite die IP und die Domain', function () {
|
||||
$host = onboard();
|
||||
$host->update(['status' => 'active', 'wg_ip' => '10.66.0.100', 'public_ip' => '203.0.113.200']);
|
||||
|
||||
Livewire::actingAs(admin(), 'operator')
|
||||
->test(HostDetail::class, ['host' => $host])
|
||||
->assertSee('203.0.113.200')
|
||||
->assertSee('10.66.0.100')
|
||||
// Der Name allein hilft nicht, wenn niemand die Adresse dazu kennt.
|
||||
// 8006 ist die Proxmox-Oberfläche; SecureHostFirewall lässt sie nur aus
|
||||
// dem Tunnel zu, und der hostsdir-Eintrag löst nur dort auf.
|
||||
->assertSee('fsn-01.node.clupilot.com')
|
||||
->assertSee('https://fsn-01.node.clupilot.com:8006', false);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue