|
|
|
@ -2,17 +2,31 @@
|
|
|
|
|
|
|
|
|
|
Fedora CoreOS template for proxmox
|
|
|
|
|
|
|
|
|
|
## Create FCOS VM Template
|
|
|
|
|
|
|
|
|
|
### CloudInit
|
|
|
|
|
### Configuration
|
|
|
|
|
|
|
|
|
|
Only these parameters are supported by our cloudinit wrapper :
|
|
|
|
|
* **vmsetup.sh**
|
|
|
|
|
|
|
|
|
|
- User (only one default = admin)
|
|
|
|
|
- Passwd
|
|
|
|
|
- DNS domain
|
|
|
|
|
- DNS Servers
|
|
|
|
|
- SSH public key
|
|
|
|
|
- IP Config (ipv4 only)
|
|
|
|
|
```
|
|
|
|
|
TEMPLATE_VMID="1000" # Template Proxmox VMID
|
|
|
|
|
TEMPLATE_VMSTORAGE="thin-ssd" # Proxmox storage
|
|
|
|
|
SNIPPET_STORAGE="local" # Snippets storage for hook and ignition file
|
|
|
|
|
VMDISK_OPTIONS=",discard=on" # Add options to vmdisk
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* **fcos-base-tmplt.yaml**
|
|
|
|
|
|
|
|
|
|
The ignition file provided is only a working basis.
|
|
|
|
|
For a more advanced configuration go to https://docs.fedoraproject.org/en-US/fedora-coreos/
|
|
|
|
|
|
|
|
|
|
it contains :
|
|
|
|
|
|
|
|
|
|
* Correct fstrim service with no fstab file
|
|
|
|
|
* Install qemu-guest-agent on first boot
|
|
|
|
|
* Install Geco-iT CloudInit wrapper
|
|
|
|
|
* Raise console message logging level from DEBUG (7) to WARNING (4)
|
|
|
|
|
* Add Geco-iT motd/issue
|
|
|
|
|
|
|
|
|
|
### Script output
|
|
|
|
|
```
|
|
|
|
@ -52,3 +66,24 @@ update VM 900: -hookscript local:snippets/hook-fcos.sh
|
|
|
|
|
Convert VM 900 in proxmox vm template... [done]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Operation
|
|
|
|
|
|
|
|
|
|
Before starting an FCOS VM, we create an ignition file by merging the data from the cloudinit and the fcos-base-tmplt.yaml file.
|
|
|
|
|
Then we modify the configuration of the vm to add the loading of the ignition file and we reset the start of the vm.
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<img src="./screenshot/fcos_proxmox_first_start.png" alt="">
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
## CloudInit
|
|
|
|
|
|
|
|
|
|
Only these parameters are supported by our cloudinit wrapper:
|
|
|
|
|
|
|
|
|
|
* User (only one) default = admin
|
|
|
|
|
* Passwd
|
|
|
|
|
* DNS domain
|
|
|
|
|
* DNS Servers
|
|
|
|
|
* SSH public key
|
|
|
|
|
* IP Configuration (ipv4 only)
|
|
|
|
|
|
|
|
|
|
The settings are applied at boot
|
|
|
|
|