status, ['pending', 'running', 'waiting'])) wire:poll.4s @endif> @php $badge = ['pending' => 'pending', 'onboarding' => 'provisioning', 'active' => 'active', 'error' => 'failed', 'disabled' => 'suspended'][$host->status] ?? 'info'; @endphp
{{ __('hosts.back') }}

{{ $host->name }}

{{ __('hosts.status.'.$host->status) }}

{{ $host->public_ip }} · {{ $host->datacenter }}

@if ($run && $run->status === 'failed') {{ __('hosts.retry') }} @endif @if (in_array($host->status, ['active', 'disabled'], true)) {{ $host->status === 'active' ? __('hosts.detail.drain') : __('hosts.detail.activate') }} @endif {{ __('hosts.remove') }}
{{-- Health + resource overview --}} @php $hdot = ['online' => 'bg-success-bright', 'stale' => 'bg-warning', 'offline' => 'bg-danger'][$health]; $htone = ['online' => 'text-success', 'stale' => 'text-warning', 'offline' => 'text-danger'][$health]; $usedPct = $host->usedPct(); @endphp
{{-- Health --}}

{{ __('hosts.detail.health') }}

{{ __('hosts.health.'.$health) }}

{{ $host->last_seen_at ? __('hosts.detail.last_seen', ['time' => $host->last_seen_at->diffForHumans()]) : __('hosts.detail.never_seen') }}

{{-- Storage capacity --}}

{{ __('hosts.detail.storage') }}

@if ($host->total_gb)

{{ $host->availableGb() }} / {{ $host->freeGb() }} GB {{ __('hosts.free') }}

{{ __('hosts.detail.committed', ['gb' => $host->committedGb()]) }} · {{ __('hosts.detail.reserve_label') }} %
@else

{{ __('hosts.unknown') }}

@endif
{{-- Compute --}}

{{ __('hosts.detail.compute') }}

{{ $host->cpu_cores ?? '—' }}

{{ __('hosts.meta.cores') }}

{{ $host->total_ram_mb ? round($host->total_ram_mb / 1024).' GB' : '—' }}

{{ __('hosts.meta.ram') }}

{{-- Technical facts --}}
@foreach ([ ['meta.wg_ip', $host->wg_ip ?? __('hosts.unknown')], ['detail.node', $host->node ?? __('hosts.unknown')], ['meta.version', $host->pve_version ?? __('hosts.unknown')], ['detail.instances', (string) $instances->count()], ] as [$key, $value])

{{ __('hosts.'.$key) }}

{{ $value }}

@endforeach
{{-- Hosted instances --}}

{{ __('hosts.detail.hosted') }}

@if ($instances->isEmpty())

{{ __('hosts.detail.no_instances') }}

@else
@foreach ($instances as $inst) @php $ibadge = ['active' => 'active', 'provisioning' => 'provisioning', 'failed' => 'failed', 'suspended' => 'suspended', 'cancellation_scheduled' => 'warning'][$inst->status] ?? 'info'; @endphp @endforeach
{{ $inst->subdomain ?? '—' }} {{ __('billing.plan.'.$inst->plan) }} {{ $inst->disk_gb }} GB {{ __('hosts.istatus.'.$inst->status) }}
@endif
@if ($run && $run->status === 'failed')

{{ __('hosts.error_title') }}

{{ $run->error }}

@endif

{{ __('hosts.progress') }}

@if ($run) @else

{{ __('hosts.no_run') }}

@endif

{{ __('hosts.events') }}

@if ($events->isEmpty())

{{ __('hosts.no_run') }}

@else
    @foreach ($events as $event) @php $tone = ['advanced' => 'text-success', 'retry' => 'text-warning', 'failed' => 'text-danger', 'info' => 'text-muted'][$event->outcome] ?? 'text-muted'; @endphp
  1. {{ __('hosts.step.'.$event->step) }}

    {{ __('hosts.outcome.'.$event->outcome) }} · {{ __('hosts.attempt') }} {{ $event->attempt }} @if ($event->message) · {{ $event->message }} @endif

  2. @endforeach
@endif