Cloud-init Configuration Notice

Hostname, password, and networking settings are configured automatically via cloud-init. This applies to standard operating system installations that support cloud-init. However, if you are:

  • Installing from an ISO image
  • Configuring the operating system manually during installation
  • Using Windows (which does not support cloud-init)

You will need to manually configure networking, security settings, and hostname within the operating system, as cloud-init will not be available in these scenarios.

Server Details

Displays comprehensive information about your virtual machine including status, resource usage, network configuration, and system details.

Status: Shows the current power state of the VPS (running, stopped, etc.) with real-time updates.

Resources: Displays CPU, memory, disk, and network usage statistics. Data is automatically refreshed at regular intervals.

Network: Shows assigned IP addresses and network interface information configured for this virtual machine.

@php $cpuCores = max(1, (int)($status?->cpus ?? 1)); $cpuUsagePercent = round(max(0, ($status?->cpu ?? 0) * 100), 1); $memoryTotal = (int)($status?->maxmem ?? 0); $memoryUsed = (int)($status?->mem ?? 0); $memoryPercent = $memoryTotal > 0 ? round(($memoryUsed / $memoryTotal) * 100, 1) : 0; $badgeForPercent = function (float $value) { if ($value >= 100) { return ['label' => 'Over entitlement', 'class' => 'text-danger bg-danger/15']; } if ($value >= 85) { return ['label' => 'Watchlist', 'class' => 'text-warning bg-warning/15']; } return ['label' => 'Healthy', 'class' => 'text-success bg-success/15']; }; $cpuBadge = $badgeForPercent($cpuUsagePercent); $memoryBadge = $badgeForPercent($memoryPercent); $reportedUptime = $this->status && isset($this->status->uptime) ? $this->formatSeconds($this->status->uptime) : 'N/A'; $powerStats = $this->powerEventStats ?? [ 'starts' => 0, 'shutdowns' => 0, 'reboots' => 0, 'uptime_percent' => 0, 'samples' => 0, ]; $resourceAllocations = [ [ 'label' => 'CPU Allocation', 'used_percent' => $cpuUsagePercent, 'usage_summary' => number_format(($status?->cpu ?? 0) * $cpuCores, 2) . ' / ' . $cpuCores . ' vCPU', 'entitlement_label' => $cpuCores . ' vCPU entitlement', 'description' => 'Live hypervisor usage sampled directly from the cluster.', 'gradient' => 'linear-gradient(90deg, #38bdf8 0%, #6366f1 100%)', 'badge' => $cpuBadge, ], [ 'label' => 'Memory Allocation', 'used_percent' => $memoryPercent, 'usage_summary' => ($memoryTotal > 0 ? \Illuminate\Support\Number::fileSize(bytes: $memoryUsed) . ' / ' . \Illuminate\Support\Number::fileSize(bytes: $memoryTotal) : \Illuminate\Support\Number::fileSize(bytes: $memoryUsed) . ' / N/A'), 'entitlement_label' => $memoryTotal > 0 ? \Illuminate\Support\Number::fileSize(bytes: $memoryTotal) . ' entitlement' : 'Entitlement unavailable', 'description' => 'Calculated from the VPS\'s provisioned RAM.', 'gradient' => 'linear-gradient(90deg, #34d399 0%, #10b981 100%)', 'badge' => $memoryBadge, ], [ 'label' => 'Hypervisor Uptime', 'used_percent' => null, 'usage_summary' => $reportedUptime, 'entitlement_label' => ($powerStats['starts'] ?? 0) . ' starts • ' . ($powerStats['shutdowns'] ?? 0) . ' shutdowns • ' . ($powerStats['reboots'] ?? 0) . ' reboots', 'description' => 'Shows the live uptime reported by the hypervisor plus counts from the task history.', 'gradient' => 'linear-gradient(90deg, #a855f7 0%, #ec4899 100%)', 'badge' => ['label' => 'Live', 'class' => 'text-info bg-info/15'], ], ]; $networkRates = $this->networkRateStats ?? ['in_rate' => 0, 'out_rate' => 0]; $formatRate = function ($bytesPerSecond) { if ($bytesPerSecond >= 1073741824) { return number_format($bytesPerSecond / 1073741824, 2) . ' GiB/s'; } if ($bytesPerSecond >= 1048576) { return number_format($bytesPerSecond / 1048576, 2) . ' MiB/s'; } if ($bytesPerSecond >= 1024) { return number_format($bytesPerSecond / 1024, 2) . ' KiB/s'; } return number_format($bytesPerSecond, 0) . ' B/s'; }; $rateScale = 5 * 1024 * 1024; // 5 MiB/s caps the bar width $aggregateRate = ($networkRates['in_rate'] ?? 0) + ($networkRates['out_rate'] ?? 0); $totalNetworkBytes = (int) (($status?->netin ?? 0) + ($status?->netout ?? 0)); $totalNetworkFormatted = number_format($totalNetworkBytes / 1024 / 1024, 2); $lastSampleTimestamp = now()->toIso8601String(); @endphp

Server Health Snapshot

Live

CPU

{{ $cpuUsagePercent }}%

{{ number_format(($status?->cpu ?? 0) * $cpuCores, 2) }} / {{ $cpuCores }} vCPU

Memory

{{ $memoryPercent }}%

{{ $memoryTotal > 0 ? \Illuminate\Support\Number::fileSize(bytes: $memoryUsed) . ' / ' . \Illuminate\Support\Number::fileSize(bytes: $memoryTotal) : 'Unavailable' }}

Network Rate

{{ $formatRate($aggregateRate) }}

In {{ $formatRate($networkRates['in_rate'] ?? 0) }} • Out {{ $formatRate($networkRates['out_rate'] ?? 0) }}

Uptime

{{ $reportedUptime }}

{{ ($powerStats['starts'] ?? 0) }} starts • {{ ($powerStats['reboots'] ?? 0) }} reboots

Resource Allocation vs Entitlement

Compares your virtual machine's actual resource consumption against its allocated entitlements, providing real-time visibility into CPU, memory, and uptime metrics.

CPU Allocation: Shows live CPU usage as a percentage of your vCPU entitlement. Values are sampled directly from the Proxmox hypervisor and update with each status poll. The progress bar can exceed 100% to indicate over-allocation.

Memory Allocation: Displays current RAM usage compared to your provisioned memory entitlement. Calculated from the VM's allocated memory and updates in real-time as memory consumption changes.

Hypervisor Uptime: Shows the live uptime reported by the Proxmox hypervisor, plus power event statistics (starts, shutdowns, reboots) from the task history. This provides insight into VM stability and availability.

Status Badges: Color-coded badges indicate resource health: "Healthy" (green) for normal usage, "Watchlist" (yellow) when approaching limits (85%+), and "Over entitlement" (red) when exceeding allocated resources.

Instantly compare what this service is entitled to with how much it is consuming right now.

Values refresh alongside the live status poll.

@foreach($resourceAllocations as $resource)

{{ $resource['label'] }}

{{ $resource['usage_summary'] }}

{{ $resource['entitlement_label'] }}

{{ $resource['badge']['label'] }}
@if(!is_null($resource['used_percent']))
Usage {{ $resource['used_percent'] }}%
@endif

{{ $resource['description'] }}

@endforeach

Server Details

Configuration and access information

@if ($status && $status->status === 'running') @else @endif
{{ $status && $status->status === 'running' ? 'Running' : 'Stopped' }}
{{ $server->os?->name ?? 'Unknown' }}
{{ $server->hostname ?? $status?->name ?? 'N/A' }}
@if($server->primaryIpv4)
{{ $server->primaryIpv4->ip }}
@endif @if($server->primaryIpv6)
{{ $server->primaryIpv6->ip }}
@endif
@if($server->hasStoredPassword()) •••••••••••• @else Password is sent via email on install. @endif

Live Network Traffic

Real-time bandwidth monitoring • Updates every 30 seconds

Loading live network statistics…

@if($server->primaryIpv6)

Domain Name System (DNS)

IPv6 DNS records for your server

IPv6-based DNS records for {{ $server->primaryIpv6->ip }}

@foreach([ ['label' => 'Virtnet DNS', 'host' => str_replace(':', '-', $server->primaryIpv6->ip) . '.virtnet.host', 'provider' => 'Internally Provided'], ['label' => 'nip.io', 'host' => str_replace(':', '-', $server->primaryIpv6->ip) . '.nip.io', 'provider' => 'nip.io', 'url' => 'https://nip.io'], ['label' => 'sslip.io', 'host' => str_replace(':', '-', $server->primaryIpv6->ip) . '.sslip.io', 'provider' => 'sslip.io', 'url' => 'https://sslip.io'], ['label' => 'backname.io', 'host' => str_replace(':', '-', $server->primaryIpv6->ip) . '.backname.io', 'provider' => 'backname.io', 'url' => 'https://backname.io'], ] as $dns)
{{ $dns['host'] }}
@if(isset($dns['url'])) {{ $dns['provider'] }} ↗ @else {{ $dns['provider'] }} @endif
@endforeach

@ points the root domain directly to the server IP ({{ $server->primaryIpv6->ip }})
*.@ points all subdomains (wildcard) to the same IP ({{ $server->primaryIpv6->ip }})

@ — Represents the root domain (also called the apex domain). This means the base domain name (e.g. example.com) will point directly to the server IP.

*.@ — Represents a wildcard record. This ensures that any subdomain also points to the same server IP.

Together, using both @ and *.@ ensures that your server will respond to requests for the root domain and all possible subdomains.

rDNS PTR Records: Please make note that at no time will PTR records be generated for any IP address via the RIR systems. No exceptions will be made other than for direct contract business customers due to the security risks involved with allowing arbitrary PTR records to be set and the potential for abuse.

@endif

Notes

Store notes about this server, Markdown is supported. (Persists across sessions; cleared on reinstall)

@if($isEditingNotes)
@if($notesError)
{{ $notesError }}
@endif
Save
Saving...
Cancel
@else
@if($notes) {!! \Illuminate\Support\Str::markdown(e($notes), [ 'allow_unsafe_links' => false, 'renderer' => [ 'soft_break' => "
" ] ]) !!} @else

No notes stored. Click Edit to add notes.

@endif
Edit
@endif
@if(stripos($server->os?->name ?? '', 'Windows') !== false)

Windows Server

Installation and configuration notes

Windows Server Networking (IPv4/IPv6 Setup):

Cloud-init does not automatically configure IPv4 or IPv6 networking on Windows Server installations. Please configure the addresses manually as assigned in the control panel of your installation.

Windows Server Activation (Licensing):

No Windows Server license key is provided by Virtnet.bond. It is the responsibility of the account holder to provide and maintain active and compliant licensing with all Windows Server products.

Periodic Licensing Audits and User Compliance:

Virtnet.bond reserves the right to perform periodic audits of Windows Server installations to ensure compliance with Microsoft's licensing terms. Non-compliant installations may be subject to suspension or termination. If you have any questions regarding licensing compliance, please contact our support team.

@endif
@once @endonce