[pdm-devel] [PATCH proxmox/datacenter-manager v2 00/14] initial auto-installer integration

Lukas Wagner l.wagner at proxmox.com
Tue Dec 9 14:38:48 CET 2025


Great work in general!

Tried this out on the latest master, seems to work as advertised.

Tested-by: Lukas Wagner <l.wagner at proxmox.com>

I found one small issue while testing, it seems like when you have a
'default' prepared answer which you then edit (keeping 'default'
checked), then one gets the follwowing error:

  'configuration 'test' is already the default answer'

On Fri Dec 5, 2025 at 12:25 PM CET, Christoph Heiss wrote:
> This series adds integration with our automated installer [0] for all our
> products. With this, Proxmox Datacenter Manager can be used for serving
> answer files via HTTP(S) in an automated fashion.
>
> It provides two new panels:
>
> - Automated Installations: List all past and currently ongoing
>   installations.
> - Prepared Answers: Enables users to do the whole CRUD cycle for
>   prepared answers, i.e. create new answers (from scratch or based on
>   existing ones), edit and delete.
>
> Permission-wise, everything is currently scoped on
> /system/auto-installation.
>
> UI
> ==
>
> Happy about feedback regarding the UI, especially the editing dialog! By
> the nature of it, the auto-installer has a lot more options than the
> standard GUI/TUI installer, and it's kind of hard to not fully cramp up
> the UI while still providing all options.
>
> The viewing of the system information and post-installation hook
> notification data is a bit bare-bones. For the first one, maybe
> displaying it as a tree (see also future work) could be a possibility,
> if we don't want to simply display raw JSON documents to the user.
>
> TOML API
> ========
>
> The auto-installer (currently) only supports TOML as input format for
> the answer, so we need to hack around a bit to serve TOML in the API.
> This is done in patch #12, by implementing the api method
> directly. 
>
> Serving TOML from an endpoint under /api2/json/ obviously is rather
> wrong, so I'm definitely open for suggestions. 
> We probably also don't want to implement `/api2/toml/` if I'd have to
> guess (or would that be possible selectively, i.e. just for this one
> endpoint?).
>
> Adding JSON support to proxmox-fetch-answer is on my list, but this
> would still be needed if we want to keep compatibility with older ISOs.
>
> Other future work
> =================
>
> - Switch the installer to use the `proxmox-installer-types` crate too
>   Left this out for now (though I have a mostly-done branch locally
>   already), to ease review.
>
> - Target filter selection by dropdown/tree
>   Based on the system information schema, a list of all possible
>   JSON pointers, or even a tree, could be generated and displayed to the
>   user, in a form consisting of the key, a text input for the value/glob
>   to match and a set of add/remove buttons for each filter.
>
> - Display/saving the installation progress/log. The progress log
>   generated by the auto-installer can be sent to PDM, showing it there
>   similar to tasks.
>   Requires changes to the auto-installer, so this would not be
>   backwards-compatible with older ISOs.

Not sure if worth the effort, but it could also be cool to 'stream' the
logs to PDM, so that one can get a.) a progress bar of the installation
status, and b.) the live output from the installation

>
> - Implement a "wait for answer"-ish system. Core idea here is that the
>   installer waits for PDM to provide in answer by implemented e.g. an
>   retry system. The use case is for to be able to effectively install
>   systems on demand, without the need for preparations.
>   Again requires changes to the auto-installer and wouldn't be
>   backwards-compatible.
>

Some different things that came to mind that could be cool:
  - Have some (basic) integration for the prepare-iso tool, where one could
    automatically download and generate an ISO that is configured with
    the correct URL/fingerprint and also the shared secret that I
    mentioned in one of the patches

 - Ability to add the new node as a remote, either automatically after
   it has been installed or on button-press from the 'Installations'
   screen (automatic could be tricky, since the root password of the
   node is never stored; manual could simply spawn the 'Add Remote'
   dialog prefilled with the values we already know)

 - Add a quick link in the 'Installations' page to open the web
   interface of the installed node.







More information about the pdm-devel mailing list