Eliminated explicit dependency installation and cleanup steps from all distribution-specific install scripts. This streamlines the scripts and delegates dependency management and cleanup to other processes or steps.
Introduces container setup scripts and install scripts for AlmaLinux, CentOS Stream, Devuan, Fedora, Gentoo, openEuler, openSUSE, Rocky Linux, and updates Alpine install script. Adds corresponding JSON metadata files for each distribution in the frontend. These changes enable streamlined LXC container creation and installation for a wide range of Linux distributions.
Changed all function bodies in misc/build.func to use 2-space indentation for improved readability and consistency. No logic changes were made; only whitespace and indentation were updated.
Simplifies and streamlines storage validation logic in create_lxc_container, removing redundant content checks and using direct exit codes for unsupported storage types. Updates error_handler.func with clearer, more specific Proxmox exit code explanations and improves code consistency and readability throughout error handling functions.
All function bodies in build.func are now consistently indented, improving code readability and maintainability. No logic changes were made; only whitespace and indentation were updated.
Introduces vm-manager.sh, a comprehensive Bash script for Proxmox VE to create, deploy, and list VM templates with optional cloud-init and post-install automation. Supports multiple Linux distributions, customizable resources, and post-install options for Docker, Podman, and Portainer.
Replaces manual first-boot installer injection with a Cloud-Init user-data configuration for fully automated UniFi OS Server setup. Cloud-Init is now always enabled and required, simplifying image preparation and installation monitoring. Updates messaging and installation flow to reflect Cloud-Init usage and removes legacy non-Cloud-Init support.
Disables 'unbound variable' errors at the start of the script to prevent issues with unset variables, and restores the previous shell options at the end. This ensures compatibility and avoids unexpected script failures.
Update the logic for detecting errors during base package pre-installation in unifi-os-server-vm.sh by checking for 'error' in the output. Also correct URLs in cloud-init.func to use the correct repository path.