Several fixes by Gemma, unverified
This commit is contained in:
@@ -5,9 +5,7 @@ This project provides an Ansible-based framework to automatically provision virt
|
||||
## 🚀 Features
|
||||
|
||||
- **Automated Host Setup**: Installs and configures `libvirt`, `qemu-kvm`, and `libguestfs-tools`.
|
||||
- **Immutable OS Support**: Handles the specific boot-time configuration requirements for:
|
||||
- **CoreOS/Flatcar**: Generates and injects Ignition JSON configurations.
|
||||
- **MicroOS**: Generates and injects Cloud-init user-data.
|
||||
- **Cloud-init Support**: Generates and injects Cloud-init user-data for all supported OSs via a NoCloud ISO.
|
||||
- **Custom User Provisioning**: Automatically creates a default user with a hashed password and injects your SSH public key.
|
||||
- **Modular Design**: Uses Ansible roles for host preparation, configuration generation, and VM provisioning.
|
||||
|
||||
@@ -67,9 +65,8 @@ Edit `vars/vms.yml` to add or modify the VMs you wish to deploy. You can specify
|
||||
## 🔍 How it Works
|
||||
|
||||
Since immutable OSs do not use traditional installers, this setup uses a "seed" approach:
|
||||
1. **Config Generation**: The `os_config` role creates a JSON (Ignition) or YAML (Cloud-init) file based on your variables.
|
||||
2. **Image Customization**: The `vm_provision` role downloads the official `.qcow2` cloud image and uses `virt-customize` (from `libguestfs-tools`) to inject the configuration directly into the disk image before the VM is started.
|
||||
3. **Deployment**: `virt-install` is used to create the VM with UEFI boot and the customized disk.
|
||||
1. **Config Generation**: The `os_config` role creates a YAML Cloud-init user-data file based on your variables.
|
||||
2. **Deployment**: `virt-install` is used to create the VM with UEFI boot. The `--cloud-init` flag is used to attach the configuration as a NoCloud ISO, which the immutable OSs (CoreOS, Flatcar, MicroOS) process at first boot.
|
||||
|
||||
## 🌐 Accessing your VMs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user