[pdm-devel] [PATCH proxmox-datacenter-manager 4/4] ui: pve: node: add update tab

Lukas Wagner l.wagner at proxmox.com
Tue Sep 2 17:14:27 CEST 2025


This adds a new tab for PVE nodes where available updates are listed.

The 'Upgrade' button is disabled for now, this needs additional work.

Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
 ui/src/pve/node/mod.rs | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/ui/src/pve/node/mod.rs b/ui/src/pve/node/mod.rs
index 0190611b..2ef2aaea 100644
--- a/ui/src/pve/node/mod.rs
+++ b/ui/src/pve/node/mod.rs
@@ -1,5 +1,6 @@
 use std::rc::Rc;
 
+use proxmox_yew_comp::AptPackageManager;
 use yew::{
     virtual_dom::{VComp, VNode},
     Context,
@@ -67,6 +68,9 @@ impl yew::Component for NodePanelComp {
             .with_child(tr! {"Node '{0}'", props.node})
             .into();
 
+        let remote = props.remote.clone();
+        let node = props.node.clone();
+
         TabPanel::new()
             .class(pwt::css::FlexFit)
             .title(title)
@@ -78,6 +82,22 @@ impl yew::Component for NodePanelComp {
                     .icon_class("fa fa-tachometer"),
                 move |_| NodeOverviewPanel::new(props.remote.clone(), props.node.clone()).into(),
             )
+            .with_item_builder(
+                TabBarItem::new()
+                    .key("update_view")
+                    .label(tr!("Updates"))
+                    .icon_class("fa fa-refresh"),
+                move |_| {
+                    let base_url = format!("/pve/remotes/{remote}/nodes/{node}/apt");
+                    let task_base_url = format!("/pve/remotes/{remote}/tasks");
+
+                    AptPackageManager::new()
+                        .base_url(base_url)
+                        .task_base_url(task_base_url)
+                        .enable_upgrade(false)
+                        .into()
+                },
+            )
             .into()
     }
 }
-- 
2.47.2





More information about the pdm-devel mailing list