public inbox for pdm-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pdm-devel] [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager
@ 2025-11-12 14:39 Shannon Sterz
  2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 1/2] node_info: only use build date from kernel version Shannon Sterz
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Shannon Sterz @ 2025-11-12 14:39 UTC (permalink / raw)
  To: pdm-devel

this series slightly adapts the previously applied node status panel and
integrates it into pdm. the first commit changes the way we display
kernel version, dropping the preempt mode and similar information to get
this more aligned with pve/pbs. the second commit makes the fingerprint
of the NodeStatusPanel opt-in. finally, the panel is integrated into pdm
as a new tab in the Node Status tab.

Changelog
---------

changes since v3:

- move shutdown and reboot button to the panel again and remove the
  additional toolbar. also make the panel appear like a card. (thanks @
  Lukas Wagner)

changes since v2:

- parts of this series got applied already (thanks @ Thomas Lamprecht)
- add a patch adapting the way we render the kernel version (thanks @
  Thomas Lamprecht & Lukas Wagner)
- make the node status panel a panel in a new "Node Status" tab in der
  "Administration" menu instead of a widget

changes since v1:

- move the node status panel to its own widget type in pdm
- properly import api feature (thanks @ Dominik Csapak)
- smaller clean ups (thanks @ Dominik Csapak)


proxmox-yew-comp:

Shannon Sterz (2):
  node_info: only use build date from kernel version
  node status panel: remove power management and make fingerprint opt-in

 src/node_info.rs         |  4 +++-
 src/node_status_panel.rs | 20 ++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)


proxmox-datacenter-manager:

Shannon Sterz (1):
  ui: add a Node Status tab to the administration panel

 ui/src/administration/mod.rs | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)


Summary over all repositories:
  3 files changed, 42 insertions(+), 9 deletions(-)

--
Generated by git-murpp 0.8.1


_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pdm-devel] [PATCH yew-comp v4 1/2] node_info: only use build date from kernel version
  2025-11-12 14:39 [pdm-devel] [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
@ 2025-11-12 14:39 ` Shannon Sterz
  2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 2/2] node status panel: remove power management and make fingerprint opt-in Shannon Sterz
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Shannon Sterz @ 2025-11-12 14:39 UTC (permalink / raw)
  To: pdm-devel

this aligns the output with pve and pbs [1]. this reduces noise and
only displays useful information to the user.

[1]: https://git.proxmox.com/?p=pve-manager.git;h=be04f8ee8a

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 src/node_info.rs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/node_info.rs b/src/node_info.rs
index 5604787..b7c0360 100644
--- a/src/node_info.rs
+++ b/src/node_info.rs
@@ -146,6 +146,8 @@ pub fn node_info(data: Option<NodeStatus>) -> Container {
         None => (String::new(), String::new(), String::new()),
     };
 
+    let build_date = k_version.split(['(', ')']).nth(1).unwrap_or("unknown");
+
     let boot_mode = if let Some(NodeStatus::Common(node_status)) = data {
         Some(&node_status.boot_info)
     } else {
@@ -247,7 +249,7 @@ pub fn node_info(data: Option<NodeStatus>) -> Container {
         .with_child(
             StatusRow::new(tr!("Kernel Version"))
                 .style("grid-column", "1/-1")
-                .status(format!("{} {} {}", k_sysname, k_release, k_version)),
+                .status(format!("{k_sysname} {k_release} ({build_date})")),
         )
         .with_optional_child(boot_mode.map(|m| {
             let mode = match m.mode {
-- 
2.47.3



_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pdm-devel] [PATCH yew-comp v4 2/2] node status panel: remove power management and make fingerprint opt-in
  2025-11-12 14:39 [pdm-devel] [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
  2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 1/2] node_info: only use build date from kernel version Shannon Sterz
@ 2025-11-12 14:39 ` Shannon Sterz
  2025-11-12 14:39 ` [pdm-devel] [PATCH datacenter-manager v4 1/1] ui: add a Node Status tab to the administration panel Shannon Sterz
  2025-11-13 13:55 ` [pdm-devel] Superseded: Re: [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
  3 siblings, 0 replies; 5+ messages in thread
From: Shannon Sterz @ 2025-11-12 14:39 UTC (permalink / raw)
  To: pdm-devel

the panel appeared to dense with all these tools being present. so
remove the reboot and power off button and make the fingerprint button
opt-in.

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 src/node_status_panel.rs | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/node_status_panel.rs b/src/node_status_panel.rs
index 3d37d80..14ee223 100644
--- a/src/node_status_panel.rs
+++ b/src/node_status_panel.rs
@@ -27,6 +27,10 @@ pub struct NodeStatusPanel {
     #[builder(IntoPropValue, into_prop_value)]
     #[prop_or_default]
     status_base_url: Option<AttrValue>,
+
+    #[builder(IntoPropValue, into_prop_value)]
+    #[prop_or_default]
+    fingerprint_button: bool,
 }
 
 impl NodeStatusPanel {
@@ -195,7 +199,7 @@ impl LoadableComponent for ProxmoxNodeStatusPanel {
             .as_ref()
             .map(|r| crate::NodeStatus::Common(r));
 
-        Panel::new()
+        let mut panel = Panel::new()
             .border(false)
             .class(FlexFit)
             .title(
@@ -224,7 +228,11 @@ impl LoadableComponent for ProxmoxNodeStatusPanel {
                     )
                     .icon_class("fa fa-power-off"),
             )
-            .with_tool(
+            .with_child(node_info(status))
+            .with_optional_child(self.error.as_ref().map(|e| error_message(&e.to_string())));
+
+        if ctx.props().fingerprint_button {
+            panel.add_tool(
                 Button::new(tr!("Show Fingerprint"))
                     .icon_class("fa fa-hashtag")
                     .class(ColorScheme::Primary)
@@ -232,10 +240,10 @@ impl LoadableComponent for ProxmoxNodeStatusPanel {
                         ctx.link()
                             .change_view_callback(|_| ViewState::FingerprintDialog),
                     ),
-            )
-            .with_child(node_info(status))
-            .with_optional_child(self.error.as_ref().map(|e| error_message(&e.to_string())))
-            .into()
+            );
+        }
+
+        panel.into()
     }
 }
 
-- 
2.47.3



_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pdm-devel] [PATCH datacenter-manager v4 1/1] ui: add a Node Status tab to the administration panel
  2025-11-12 14:39 [pdm-devel] [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
  2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 1/2] node_info: only use build date from kernel version Shannon Sterz
  2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 2/2] node status panel: remove power management and make fingerprint opt-in Shannon Sterz
@ 2025-11-12 14:39 ` Shannon Sterz
  2025-11-13 13:55 ` [pdm-devel] Superseded: Re: [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
  3 siblings, 0 replies; 5+ messages in thread
From: Shannon Sterz @ 2025-11-12 14:39 UTC (permalink / raw)
  To: pdm-devel

it show the current node status via the new NodeStatPanel and has
buttons for shutting down and rebooting the node.

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
---
 ui/src/administration/mod.rs | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/ui/src/administration/mod.rs b/ui/src/administration/mod.rs
index a9f7ac6..9a433c2 100644
--- a/ui/src/administration/mod.rs
+++ b/ui/src/administration/mod.rs
@@ -6,7 +6,7 @@ use pwt::props::StorageLocation;
 use yew::virtual_dom::{VComp, VNode};
 
 use pwt::state::NavigationContainer;
-use pwt::widget::{Container, MiniScrollMode, TabBarItem, TabPanel};
+use pwt::widget::{Column, Container, MiniScrollMode, Row, TabBarItem, TabPanel};
 
 use pwt_macros::builder;
 
@@ -16,7 +16,9 @@ use pwt_macros::builder;
 //mod services;
 //pub use services::Services;
 
-use proxmox_yew_comp::{AptPackageManager, AptRepositories, ExistingProduct, Syslog, Tasks};
+use proxmox_yew_comp::{
+    AptPackageManager, AptRepositories, ExistingProduct, NodeStatusPanel, Syslog, Tasks,
+};
 
 #[derive(Clone, PartialEq, Properties)]
 #[builder]
@@ -67,6 +69,27 @@ impl Component for PdmServerAdministration {
                 |_| Services::new().into(),
             )
             */
+            .with_item_builder(
+                TabBarItem::new()
+                    .key("status")
+                    .label(tr!("Node Status"))
+                    .icon_class("fa fa-book"),
+                move |_| {
+                    Column::new()
+                        .class(pwt::css::FlexFit)
+                        .with_child(
+                            Row::new()
+                                .class("pwt-content-spacer-padding")
+                                .class("pwt-content-spacer-colors")
+                                .class(pwt::css::FlexFit)
+                                .with_child(
+                                    NodeStatusPanel::new()
+                                        .status_base_url("/nodes/localhost/status"),
+                                ),
+                        )
+                        .into()
+                },
+            )
             .with_item_builder(
                 TabBarItem::new()
                     .key("updates")
-- 
2.47.3



_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pdm-devel] Superseded: Re: [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager
  2025-11-12 14:39 [pdm-devel] [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
                   ` (2 preceding siblings ...)
  2025-11-12 14:39 ` [pdm-devel] [PATCH datacenter-manager v4 1/1] ui: add a Node Status tab to the administration panel Shannon Sterz
@ 2025-11-13 13:55 ` Shannon Sterz
  3 siblings, 0 replies; 5+ messages in thread
From: Shannon Sterz @ 2025-11-13 13:55 UTC (permalink / raw)
  To: Shannon Sterz; +Cc: pdm-devel

Superseded-by: https://lore.proxmox.com/pdm-devel/20251113133208.426106-1-s.sterz@proxmox.com/

On Wed Nov 12, 2025 at 3:39 PM CET, Shannon Sterz wrote:
> this series slightly adapts the previously applied node status panel and
> integrates it into pdm. the first commit changes the way we display
> kernel version, dropping the preempt mode and similar information to get
> this more aligned with pve/pbs. the second commit makes the fingerprint
> of the NodeStatusPanel opt-in. finally, the panel is integrated into pdm
> as a new tab in the Node Status tab.
>
> Changelog
> ---------
>
> changes since v3:
>
> - move shutdown and reboot button to the panel again and remove the
>   additional toolbar. also make the panel appear like a card. (thanks @
>   Lukas Wagner)
>
> changes since v2:
>
> - parts of this series got applied already (thanks @ Thomas Lamprecht)
> - add a patch adapting the way we render the kernel version (thanks @
>   Thomas Lamprecht & Lukas Wagner)
> - make the node status panel a panel in a new "Node Status" tab in der
>   "Administration" menu instead of a widget
>
> changes since v1:
>
> - move the node status panel to its own widget type in pdm
> - properly import api feature (thanks @ Dominik Csapak)
> - smaller clean ups (thanks @ Dominik Csapak)
>
>
> proxmox-yew-comp:
>
> Shannon Sterz (2):
>   node_info: only use build date from kernel version
>   node status panel: remove power management and make fingerprint opt-in
>
>  src/node_info.rs         |  4 +++-
>  src/node_status_panel.rs | 20 ++++++++++++++------
>  2 files changed, 17 insertions(+), 7 deletions(-)
>
>
> proxmox-datacenter-manager:
>
> Shannon Sterz (1):
>   ui: add a Node Status tab to the administration panel
>
>  ui/src/administration/mod.rs | 27 +++++++++++++++++++++++++--
>  1 file changed, 25 insertions(+), 2 deletions(-)
>
>
> Summary over all repositories:
>   3 files changed, 42 insertions(+), 9 deletions(-)
>
> --
> Generated by git-murpp 0.8.1



_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-11-13 13:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-12 14:39 [pdm-devel] [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz
2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 1/2] node_info: only use build date from kernel version Shannon Sterz
2025-11-12 14:39 ` [pdm-devel] [PATCH yew-comp v4 2/2] node status panel: remove power management and make fingerprint opt-in Shannon Sterz
2025-11-12 14:39 ` [pdm-devel] [PATCH datacenter-manager v4 1/1] ui: add a Node Status tab to the administration panel Shannon Sterz
2025-11-13 13:55 ` [pdm-devel] Superseded: Re: [PATCH datacenter-manager/yew-comp v4 0/3] add node status panel to proxmox datacenter manager Shannon Sterz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal