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:
@@ -19,8 +19,21 @@ class Node extends Model
|
||||
'storage_location',
|
||||
'backup_location',
|
||||
'vnc_enabled',
|
||||
'is_lxc',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'is_lxc' => 'boolean',
|
||||
];
|
||||
|
||||
/**
|
||||
* Get the Proxmox API type path segment for this node (qemu or lxc).
|
||||
*/
|
||||
public function vmType(): string
|
||||
{
|
||||
return $this->is_lxc ? 'lxc' : 'qemu';
|
||||
}
|
||||
|
||||
public function servers()
|
||||
{
|
||||
return $this->hasMany(Server::class);
|
||||
|
||||
Reference in New Issue
Block a user