Cloud-init Configuration Notice

Cloud-init controls the metadata injected into your VM on first boot and whenever you regenerate the cloud-init drive. Use Apply to save and regenerate the ISO, Refresh to pull fresh values, and Reset to discard local edits. Manual installs (ISO workflows, Windows, or images without cloud-init) still require in-guest configuration.

Cloud-init Settings

These values map directly to the QEMU configuration (`ciuser`, `nameserver`, `ipconfigX`, etc.). Changes take effect on the next cloud-init run or boot.

Access & Credentials

Defaults used by cloud-init to create accounts and authorize SSH.

@if($this->accessCredentialsSynced) Synced @else Unsynced @endif
{{ $ciUser !== '' ? $ciUser : 'Template default (uses image-defined user)' }}

Use distro-friendly names. Leave blank to keep the template default.

@if(isset($server->password) && $server->password) •••••••••••• @else Password is sent via email on install. @endif @if(isset($server->password) && $server->password) @endif

Matches the Overview tab control. Use Save for database only, Save & Apply to push via cloud-init.

@if(isset($server->password) && $server->password) @endif
@forelse($sshKeys as $keyIndex => $key)
{{ $key }}
@empty

No user-provided keys. The default management key remains in place.

@endforelse
Add Key

Add as many keys as needed. The platform management key is always kept but never shown.

Runs apt/yum update && upgrade when cloud-init executes. Enable only if your template supports unattended upgrades.

Network Configuration

Each card corresponds to an ipconfigX. Configure IPv4 and IPv6 independently.

{{ count($networks) }} interfaces
@foreach($networks as $index => $network)
{{ $network['key'] }}

Network Device: NET{{ str_replace('ipconfig', '', $network['key']) }}

{{ !empty($network['ip']) ? $network['ip'] : '—' }}
{{ !empty($network['gw']) ? $network['gw'] : '—' }}
{{ !empty($network['ip6']) ? $network['ip6'] : '—' }}
{{ !empty($network['gw6']) ? $network['gw6'] : '—' }}
@if(($network['dhcp'] ?? false))
DHCP: Enabled
@endif

Leave fields blank to remove static addressing. If both IPv4 fields are empty, cloud-init omits the IPv4 stanza.

@endforeach

DNS Settings

Configures searchdomain and nameserver values.

@if($this->dnsSettingsSynced) Synced @else Unsynced @endif
{{ $dnsDomain !== '' ? $dnsDomain : 'Not configured (system default will be used)' }}

Appended to short hostnames for resolution.

@forelse($dnsServers as $dnsIndex => $resolver)
{{ $resolver }}
@empty

No resolvers configured. System defaults will apply.

@endforelse
Add Nameserver

Entries are applied in order. Add one IPv4/IPv6 resolver per line.

OS Type

Controls the ostype option used when generating cloud-init media.

@if($this->osTypeSynced) Synced @else Unsynced @endif

Determines whether the guest receives nocloud or config-drive metadata. Choose the entry that matches your template.

Tip: Pick a Windows option only for cloud-ready Windows images (cloudbase-init). Using a Windows entry on Linux templates prevents the nocloud ISO from mounting.
Refresh Reset Apply & Regenerate