All task files now use centralized helper functions, ensuring idempotency across all stages. Code is cleaner, more maintainable, and no breaking changes were introduced.
Updated the Debian image URL and path in the defaults/main.yml file to reflect the latest available images. This change ensures that the correct images are used for testing and deployment.
Updated the Debian image URL to point to a newer version (trixie) and updated the local cache path accordingly. This change reflects the latest available image for testing purposes.
Standardized the use of `retries` and `delay` variables in tasks to ensure consistent behavior, making it easier to manage and maintain the workflow. This change also enables better error handling and reduces potential issues with task execution.
Simplified the playbook structure by removing unnecessary tasks and adding comments for clarity. Also, added a rescue block to handle potential errors during execution.
- Added default configuration for VM creation in defaults/main.yml.
- Created tasks for configuring the VM with UEFI, TPM, disks, GPU, and Cloud-Init in tasks/configure-vm.yml.
- Implemented clone creation and configuration logic in tasks/create-clones.yml.
- Added template conversion functionality in tasks/create-template.yml.
- Developed base VM creation logic in tasks/create-vm.yml.
- Included image download and caching tasks in tasks/download-image.yml.
- Introduced utility tasks for common operations in tasks/helpers.yml.
- Organized main orchestration logic in tasks/main.yml, with clear stages for each operation.
- Added pre-flight checks to validate the environment before execution in tasks/preflight-checks.yml.
Updated the README.md file to improve readability and added notes on future improvements, such as API-based module support and automated post-deployment provisioning.