- Added template typing so approved templates can represent either QEMU VMs or LXC containers.
- Added LXC template discovery from Proxmox storage `vztmpl` content in the admin template manager. - Added live LXC container provisioning through the Proxmox API with configurable rootfs storage and optional DHCP bridge. - Routed start, stop, delete, expiration, status, and IP refresh operations through typed Proxmox VM/LXC API paths. - Added Proxmox tags to newly created VMs and containers, including a sanitized per-user tag for easier PVE administration. - Updated the admin and portal UI to show VM versus LXC template/deployment types and generic Proxmox resource IDs. - Added schema upgrades for template provisioning type, LXC template references, and deployment resource type. - Documented LXC setup, storage permissions, and the new Proxmox settings.
This commit is contained in:
@@ -7,26 +7,26 @@ if (!defined('ABSPATH')) {
|
||||
interface SPP_Proxmox_Client
|
||||
{
|
||||
/**
|
||||
* @return array<int, array{vmId:int,name:string,cpuCores:int,memoryMb:int,diskGb:int,status:string}>
|
||||
* @return array<int, array<string, mixed>>
|
||||
*/
|
||||
public function list_templates(): array;
|
||||
|
||||
/**
|
||||
* @param array<string, int|string> $input
|
||||
* @param array<string, mixed> $input
|
||||
* @return array{vm_id:int}
|
||||
*/
|
||||
public function clone_vm(array $input): array;
|
||||
public function provision_instance(array $input): array;
|
||||
|
||||
public function start_vm(int $vm_id): void;
|
||||
public function start_instance(string $type, int $vm_id): void;
|
||||
|
||||
public function stop_vm(int $vm_id): void;
|
||||
public function stop_instance(string $type, int $vm_id): void;
|
||||
|
||||
public function delete_vm(int $vm_id): void;
|
||||
public function delete_instance(string $type, int $vm_id): void;
|
||||
|
||||
public function get_status(int $vm_id): string;
|
||||
public function get_status(string $type, int $vm_id): string;
|
||||
|
||||
/**
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function get_ip_addresses(int $vm_id): array;
|
||||
public function get_ip_addresses(string $type, int $vm_id): array;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user