feat: add LXC container support to Proxmox extension
- Add is_lxc boolean column to ext_proxmox_nodes (default false, existing nodes unaffected) - Add LXC checkbox to admin node creation form (disabled on edit) - Dynamic API path selection via Node::vmType() (returns 'lxc' or 'qemu') - LXC deployment: syncLxcSettings() for cores, memory, swap, hostname, rootfs, net config - LXC network uses name=eth0 format with applyLxcPoolSettings() for VLAN/firewall/MTU - All lifecycle operations LXC-aware: install, suspend, unsuspend, terminate, upgrade, reinstall - VNC/xterm console uses correct type (lxc vs kvm) - All 20+ Livewire components use vmType() for Proxmox API paths - LXC user interface shows basic-only view (no advanced toggle, no KVM-specific tabs) - Basic tabs for LXC: Overview, Network Configuration, Backups, Console
This commit is contained in:
@@ -113,6 +113,11 @@ class NodeResource extends Resource
|
||||
->default(true)
|
||||
->helperText('Enable or disable VNC access for this node. (this requires the Proxmox instance to be on the same domain as the Paymenter installation)')
|
||||
->required(),
|
||||
Forms\Components\Checkbox::make('is_lxc')
|
||||
->label('LXC Container Node')
|
||||
->default(false)
|
||||
->helperText('Check to deploy LXC containers instead of KVM virtual machines on this node. Existing KVM nodes are unaffected.')
|
||||
->disabled(fn (string $operation): bool => $operation === 'edit'),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -141,6 +146,15 @@ class NodeResource extends Resource
|
||||
->sortable()
|
||||
->searchable()
|
||||
->toggleable(),
|
||||
Tables\Columns\IconColumn::make('is_lxc')
|
||||
->label('Type')
|
||||
->boolean()
|
||||
->trueIcon('ri-checkbox-circle-fill')
|
||||
->falseIcon('ri-close-circle-fill')
|
||||
->trueColor('info')
|
||||
->falseColor('gray')
|
||||
->formatStateUsing(fn (bool $state): string => $state ? 'LXC' : 'KVM')
|
||||
->toggleable(),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user