muhlba91 / pulumi-proxmoxve

A Pulumi provider for creating and managing Proxmox VE resources
Apache License 2.0
98 stars 12 forks source link

how to specifiy a config file to uploaded to vm then genereate seed.iso to setup vm with cloudinit? #283

Open echowings opened 3 months ago

echowings commented 3 months ago

Hi Team, How to specific a cloudinit file then let proxmxo ve le the virtual machine init with cloud-init ?

muhlba91 commented 3 months ago

does this help as an example? https://github.com/muhlba91/homelab-kubernetes-home-infrastructure/blob/main/src/lib/proxmox/create.ts#L39-L158

echowings commented 3 months ago

@muhlba91 Thanks for you quickly replay! I didn't know typescript. So is that a demon code for python? That would be great!

muhlba91 commented 3 months ago

the code linked was from my personal homelab stack - that's why it's also typescript as i prefer that.

regarding python: i assume you know python, so "translating" this typescript to python shouldn't be a big challenge, i guess. in the end, you need to create a File (https://github.com/muhlba91/pulumi-proxmoxve/blob/main/sdk/python/pulumi_proxmoxve/storage/file.py#L338) containing the cloud-init YAML file, and in your VirtualMachine (https://github.com/muhlba91/pulumi-proxmoxve/blob/main/sdk/python/pulumi_proxmoxve/vm/virtual_machine.py#L1737) you need to set the reference (the id) as the vendor config file id (https://github.com/muhlba91/pulumi-proxmoxve/blob/main/sdk/python/pulumi_proxmoxve/vm/_inputs.py#L1173) in the VM's initialization configuration (https://github.com/muhlba91/pulumi-proxmoxve/blob/main/sdk/python/pulumi_proxmoxve/vm/virtual_machine.py#L33C57-L33C89). just make sure to know which cloud-init type you need to set (in my case it was nocloud, some other distros/images might differ).