all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Stefan Hanreich <s.hanreich@proxmox.com>
To: pdm-devel@lists.proxmox.com
Subject: [pdm-devel] [PATCH manager/proxmox{-api-types, -datacenter-manager} v2 0/8] Add SDN resources to dashboard + SDN zone overview tree
Date: Tue,  9 Sep 2025 17:54:12 +0200	[thread overview]
Message-ID: <20250909155423.526917-1-s.hanreich@proxmox.com> (raw)

## Introduction

This patch series adds the SDN cluster resources to the existing resource
infrastructure in PDM. It also adds a small panel to the dashboard that gives an
aggregated count of the status of SDN zones across all remotes. It also adds the
SDN resources to the resource tree.

It adds a new menu entry: SDN that acts as the top-level for all SDN-related
menu entries. The menu entry shows a tree of all SDN zones across all remotes,
as well as their current status.

I've decided to model the SDN entities as an enum, since in the future we want
to add additional SDN entities, and they all might have different properties.
This avoids a type where all additional properties have Option<> as well as
polluting the root Resource type with Sdn<Entity> variants.

## Changed API endpoints:

* GET /resources/list
  added resource-type parameter for filtering by type efficiently

## Notes for reviewers:
* is the structure for the SDN resources okay, or should we introduce a
  dedicated resource for different SDN entities (i.e. PveSdnZone,
  PveSdnFabric, .. instead of PveSdn(Zone::(_)))?
* is the new API endpoint okay or should we just use the existing search
  infrastructure for returning SDN resources instead of introducing a dedicated
  API endpoint?

## Changelog

Changes from v1 (Thank you very much @Dominik!)
* integrated type filtering into list endpoint
* fixed color of VNet icon in dark mode
* improved navigate_to function by introducing prefix variable
* fixed documentation for render_sdn_status_icon
* improved rendering logic for names in zone_tree
* removed unnecessary clippy macro
* removed submodule update in commit
* included pve-api.json updates
  there are more when running make pve-api.json against the new API and then pdm
  doesn't compile for me, so I've included the proxmox-api-types commits to
  spare any committer some work.

(left the refresh button as is for now, will revisit later)

pve-manager:

Stefan Hanreich (1):
  cluster: resources: add sdn property to cluster resources schema

 PVE/API2/Cluster.pm | 5 +++++
 1 file changed, 5 insertions(+)


proxmox-api-types:

Stefan Hanreich (2):
  cluster: resource: add sdn property
  regenerate

 pve-api-types/pve-api.json           | 5 +++++
 pve-api-types/src/generated/types.rs | 8 ++++++++
 2 files changed, 13 insertions(+)


proxmox-datacenter-manager:

Stefan Hanreich (5):
  pdm-api-types: add sdn cluster resource
  server: api: add resource-type parameter to list_resources
  ui: add sdn status report to dashboard
  ui: images: add sdn icon
  ui: sdn: add zone tree

 cli/client/src/resources.rs                  |  14 +
 lib/pdm-api-types/src/resource.rs            | 159 +++++++++-
 lib/pdm-client/src/lib.rs                    |  15 +-
 server/src/api/resources.rs                  |  55 +++-
 server/src/metric_collection/top_entities.rs |   1 +
 server/src/resource_cache.rs                 |   2 +-
 ui/Makefile                                  |   1 +
 ui/css/pdm.scss                              |  36 ++-
 ui/images/icon-sdn.svg                       |  70 +++++
 ui/src/dashboard/mod.rs                      |  17 +-
 ui/src/dashboard/sdn_zone_panel.rs           | 155 ++++++++++
 ui/src/lib.rs                                |  30 +-
 ui/src/main_menu.rs                          |  15 +-
 ui/src/pve/remote.rs                         |   1 +
 ui/src/pve/tree.rs                           |   1 +
 ui/src/pve/utils.rs                          |  16 +-
 ui/src/renderer.rs                           |   4 +
 ui/src/sdn/mod.rs                            |   3 +
 ui/src/sdn/zone_tree.rs                      | 300 +++++++++++++++++++
 19 files changed, 870 insertions(+), 25 deletions(-)
 create mode 100644 ui/images/icon-sdn.svg
 create mode 100644 ui/src/dashboard/sdn_zone_panel.rs
 create mode 100644 ui/src/sdn/zone_tree.rs


Summary over all repositories:
  22 files changed, 888 insertions(+), 25 deletions(-)

-- 
Generated by git-murpp 0.8.0

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


             reply	other threads:[~2025-09-09 15:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-09 15:54 Stefan Hanreich [this message]
2025-09-09 15:54 ` [pdm-devel] [PATCH pve-manager v2 1/1] cluster: resources: add sdn property to cluster resources schema Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-api-types v2 1/2] cluster: resource: add sdn property Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-api-types v2 2/2] regenerate Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 1/5] pdm-api-types: add sdn cluster resource Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 2/5] server: api: add resource-type parameter to list_resources Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 3/5] ui: add sdn status report to dashboard Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 4/5] ui: images: add sdn icon Stefan Hanreich
2025-09-09 15:54 ` [pdm-devel] [PATCH proxmox-datacenter-manager v2 5/5] ui: sdn: add zone tree Stefan Hanreich

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=20250909155423.526917-1-s.hanreich@proxmox.com \
    --to=s.hanreich@proxmox.com \
    --cc=pdm-devel@lists.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