all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox Datacenter Manager development discussion
	<pdm-devel@lists.proxmox.com>,
	Shannon Sterz <s.sterz@proxmox.com>
Subject: Re: [pdm-devel] [PATCH datacenter-manager 2/3] ui: make NodeStatusPanel available as a widget
Date: Thu, 6 Nov 2025 22:10:01 +0100	[thread overview]
Message-ID: <fb29c24d-8aa0-4fb5-ab23-58fd441dbab4@proxmox.com> (raw)
In-Reply-To: <20251106124334.189955-6-s.sterz@proxmox.com>

Am 06.11.25 um 13:43 schrieb Shannon Sterz:
> Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
> ---
>  ui/src/administration/mod.rs |  4 +++-
>  ui/src/dashboard/types.rs    |  1 +
>  ui/src/dashboard/view.rs     | 15 ++++++++++++++-
>  3 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/ui/src/administration/mod.rs b/ui/src/administration/mod.rs
> index a9f7ac6..72a4ffa 100644
> --- a/ui/src/administration/mod.rs
> +++ b/ui/src/administration/mod.rs
> @@ -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]
> diff --git a/ui/src/dashboard/types.rs b/ui/src/dashboard/types.rs
> index c79c38a..ce4bbb7 100644
> --- a/ui/src/dashboard/types.rs
> +++ b/ui/src/dashboard/types.rs
> @@ -61,6 +61,7 @@ pub enum WidgetType {
>      TaskSummary {
>          grouping: TaskSummaryGrouping,
>      },
> +    NodeStatus,
>  }
> 
>  #[derive(Serialize, Deserialize, PartialEq, Clone, Copy)]
> diff --git a/ui/src/dashboard/view.rs b/ui/src/dashboard/view.rs
> index c781d99..b5cd722 100644
> --- a/ui/src/dashboard/view.rs
> +++ b/ui/src/dashboard/view.rs
> @@ -3,6 +3,7 @@ use std::rc::Rc;
>  use anyhow::Error;
>  use futures::join;
>  use js_sys::Date;
> +use proxmox_yew_comp::NodeStatusPanel;
>  use serde_json::json;
>  use yew::virtual_dom::{VComp, VNode};
> 
> @@ -123,6 +124,11 @@ fn render_widget(
>              let (hours, since) = get_task_options(refresh_config.task_last_hours);
>              create_task_summary_panel(statistics, remotes, hours, since)
>          }
> +        WidgetType::NodeStatus => {
> +            return NodeStatusPanel::new()
> +                .status_base_url("/nodes/localhost/status")
> +                .into()
> +        }
>      };
> 

While it might be OK to have as widget for remote node status in the dashboard, I
would not add the one from PDM here, that's IMO confusing, especially if it's
nowhere stated that it is in fact the one from PDM itself, given that all other
widgets show the status of remote resources.
I.e., the PBS dashboard is for the PBS instance itself, the PDM one is mainly for
the remote resources, they need to be handled a bit differently when deciding what
to add where, or at least ensure that it's clear that some info is from PDM itself.

But rather lets add a new tab to the Administration panel, there we can then also
add metrics graphs (memory, cpu, ...) for the local PDM itself in the future.
Could be still nice to implement a PDM specific overview for the dashboard, but
that should be probably something new with the specifics of PDM in mind, and can
be done separately.
Reboot/shutdown could then go in the toolbar there.

It also might be more useful to not show the "Show Fingerprint" button by default.
Adding that in this card was a bit of a stop-gap for PBS on it's own that I
implemented only because knowing the fingerprint is quite often a must-have for
being able to add a PBS as storage to a PVE cluster. As we do not can add a PDM
somewhere (in our projects) at all for now, there is really not such a need there.

FWIW, for PBS we have reduced the need for having this in the node status directly
too, as there we now got the "connection info" button/window available on the
Datastore summary page, which also includes the full datastore repository string,
and is thus more convenient than the dashboard one.
That's also why I'd not show this button by default at all, at least in the newer
Yew UI.


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


  reply	other threads:[~2025-11-06 21:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-06 12:43 [pdm-devel] [PATCH datacenter-manager/proxmox/yew-comp 0/6] add node status panel to proxmox datacenter manager Shannon Sterz
2025-11-06 12:43 ` [pdm-devel] [PATCH proxmox 1/1] node-status: add node status crate Shannon Sterz
2025-11-06 19:41   ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH yew-comp 1/2] node info: extend NodeStatus enum to include NodeStatus from proxmox-rs Shannon Sterz
2025-11-06 20:44   ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH yew-comp 2/2] node status panel: add a panel that show the current status of a node Shannon Sterz
2025-11-06 12:43 ` [pdm-devel] [PATCH datacenter-manager 1/3] api-types/api: add endpoints for querying the node's status Shannon Sterz
2025-11-06 20:57   ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH datacenter-manager 2/3] ui: make NodeStatusPanel available as a widget Shannon Sterz
2025-11-06 21:10   ` Thomas Lamprecht [this message]
2025-11-06 12:43 ` [pdm-devel] [PATCH datacenter-manager 3/3] nodes: remove unnecessary rustfmt::skip macro Shannon Sterz
2025-11-06 20:57   ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:44 ` [pdm-devel] [PATCH datacenter-manager/proxmox/yew-comp 0/6] add node status panel to proxmox datacenter manager Shannon Sterz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fb29c24d-8aa0-4fb5-ab23-58fd441dbab4@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=pdm-devel@lists.proxmox.com \
    --cc=s.sterz@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal