[pve-devel] More cloud-init options

Dominik Csapak d.csapak at proxmox.com
Mon Feb 26 08:56:03 CET 2024

On 2/18/24 09:32, Jackson Pfeffer via pve-devel wrote:
> Hello,

Hi, sorry for the late answer. I'll try to answer your points
as good as possible, but just ask if you have any concrete questions

> As a newcomer to the Proxmox VE community, I'd love to contribute. Being
> new I would appreciate any guidance or feedback you have about anything I
> could do to fit in with community practices / rules / expectations -
> official, unspoken, or otherwise. Also, sorry for the long-ish email.

The most important info is on
(i guess you saw that already)

As a general rule, I'd first search the bug tracker[0] for existing
or similar issues as what you want to solve, and probably
discussing there first/further.

Also, if you already have some concrete ideas, it'd be good
to discuss them here on the list first before actually sending
patches. That way one can avoid unnecessary back and forth
about e.g. an approach that is not suitable for the project.

Also after sending a patch, it might take a bit until someone
answers, so it's okay after some amount of time (e.g. a few weeks)
to ping the mail if no one answered yet. please be patient ;)

> I want to enhance GUI control over cloud-init settings (at least user
> data). Ideally (in my mind at least) this could be accomplished by
> extending the existing list of GUI elements to include configuration
> options for every possible cloud init configuration parameter. However, I
> thought it might be easier to just add a "manual mode" that, when selected,
> takes the current-gui settings, converts them to a userdata.yml file, and
> then allows the user to edit that file in the GUI.

AFAIK there is already a feature request to somehow upload custom ci
configs via the gui. The problem here is that the way we handle such
'snippets' currently, does not properly integrate with the permission 
system (one user can either see/modify all snippets on a storage
or none, no fine grained control, e.g. per guest/vmid)

packing the custom data directly in the config is also not a good idea
because they will large fast (and must be included in snapshots,
backup, etc. then; that was the reason we opted for snippets on
storages in the past for that)

> While new to Perl and ExtJS, I'm interested in learning and contributing
> and I have contributed to other open source projects in the past (though
> none quite this large). Having reviewed the developer documentation and set
> up my development environment (hopefully completely?), I've cloned several
> of the repos (pve-common, pve-manager, proxmox-widget-toolkit,
> qemu-server), though I'm not 100% sure I need all of these or that I don't
> need others as well. I'm reaching out for feedback on this idea and seeking
> advice on where to begin.

the gui code for pve is split into two repositories:

proxmox-widget-toolkit - for mostly project agnostic code (pmg/pbs/pve)
pve-manager - for pve specific code (in www/manager6 )

the cloud init stuff is mostly in 'qemu-server' and the 'snippet' 
storage code in 'pve-storage'

> Thank you for your time, consideration, and help,
> Jackson

Hope i could help somewhat
happy hacking ;)

kind regards

0: https://bugzilla.proxmox.com

More information about the pve-devel mailing list