From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 686E91FF1A6 for ; Fri, 5 Dec 2025 12:26:56 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6FC4A15AA2; Fri, 5 Dec 2025 12:27:24 +0100 (CET) Mime-Version: 1.0 Date: Fri, 05 Dec 2025 12:26:49 +0100 Message-Id: From: "Christoph Heiss" To: "Proxmox Datacenter Manager development discussion" X-Mailer: aerc 0.21.0 References: <20251204125122.945961-1-c.heiss@proxmox.com> In-Reply-To: <20251204125122.945961-1-c.heiss@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1764933962308 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.097 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pdm-devel] [PATCH proxmox/datacenter-manager 00/13] initial auto-installer integration X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" v2 posted: https://lore.proxmox.com/pdm-devel/20251205112528.373387-1-c.heiss@proxmox.com/ On Thu Dec 4, 2025 at 1:51 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. > > 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. > Based on the system information schema, a list of all possible > JSON pointers 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. > > - 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. > > [0] https://pve.proxmox.com/wiki/Automated_Installation > > Diffstat > ======== > > proxmox: > > Christoph Heiss (8): > api-macro: allow $ in identifier name > network-types: move `Fqdn` type from proxmox-installer-common > network-types: implement api type for Fqdn > network-types: cidr: add family-independent constructor and access > network-types: add api wrapper type for std::net::IpAddr > installer-types: add common types used by the installer > installer-types: add types used by the auto-installer > installer-types: implement api type for all externally-used types > > Cargo.toml | 1 + > proxmox-api-macro/src/util.rs | 2 +- > proxmox-installer-types/Cargo.toml | 26 + > proxmox-installer-types/debian/changelog | 5 + > proxmox-installer-types/debian/control | 67 ++ > proxmox-installer-types/debian/debcargo.toml | 7 + > proxmox-installer-types/src/answer.rs | 1017 ++++++++++++++++++ > proxmox-installer-types/src/lib.rs | 183 ++++ > proxmox-installer-types/src/post_hook.rs | 239 ++++ > proxmox-network-types/Cargo.toml | 3 +- > proxmox-network-types/debian/control | 2 + > proxmox-network-types/src/fqdn.rs | 262 +++++ > proxmox-network-types/src/ip_address.rs | 98 +- > proxmox-network-types/src/lib.rs | 1 + > 14 files changed, 1909 insertions(+), 4 deletions(-) > create mode 100644 proxmox-installer-types/Cargo.toml > create mode 100644 proxmox-installer-types/debian/changelog > create mode 100644 proxmox-installer-types/debian/control > create mode 100644 proxmox-installer-types/debian/debcargo.toml > create mode 100644 proxmox-installer-types/src/answer.rs > create mode 100644 proxmox-installer-types/src/lib.rs > create mode 100644 proxmox-installer-types/src/post_hook.rs > create mode 100644 proxmox-network-types/src/fqdn.rs > > proxmox-datacenter-manager: > > Christoph Heiss (6): > api-types: add api types for auto-installer integration > config: add auto-installer configuration module > acl: wire up new /system/auto-installation acl path > server: api: add auto-installer integration module > ui: auto-installer: add installations overview panel > ui: auto-installer: add prepared answer configuration panel > > Cargo.toml | 6 + > debian/control | 5 + > lib/pdm-api-types/Cargo.toml | 3 + > lib/pdm-api-types/src/acl.rs | 4 +- > lib/pdm-api-types/src/auto_installer.rs | 441 +++++++++ > lib/pdm-api-types/src/lib.rs | 1 + > lib/pdm-config/Cargo.toml | 2 + > lib/pdm-config/src/auto_install.rs | 85 ++ > lib/pdm-config/src/lib.rs | 1 + > lib/pdm-config/src/setup.rs | 7 + > server/Cargo.toml | 4 + > server/src/api/auto_installer/mod.rs | 654 ++++++++++++++ > server/src/api/mod.rs | 2 + > ui/Cargo.toml | 4 + > ui/src/auto_installer/add_wizard.rs | 142 +++ > ui/src/auto_installer/answer_form.rs | 849 ++++++++++++++++++ > ui/src/auto_installer/edit_window.rs | 105 +++ > ui/src/auto_installer/installations_panel.rs | 289 ++++++ > ui/src/auto_installer/mod.rs | 15 + > .../auto_installer/prepared_answers_panel.rs | 233 +++++ > .../configuration/permission_path_selector.rs | 1 + > ui/src/lib.rs | 2 + > ui/src/main_menu.rs | 22 + > 23 files changed, 2875 insertions(+), 2 deletions(-) > create mode 100644 lib/pdm-api-types/src/auto_installer.rs > create mode 100644 lib/pdm-config/src/auto_install.rs > create mode 100644 server/src/api/auto_installer/mod.rs > create mode 100644 ui/src/auto_installer/add_wizard.rs > create mode 100644 ui/src/auto_installer/answer_form.rs > create mode 100644 ui/src/auto_installer/edit_window.rs > create mode 100644 ui/src/auto_installer/installations_panel.rs > create mode 100644 ui/src/auto_installer/mod.rs > create mode 100644 ui/src/auto_installer/prepared_answers_panel.rs _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel