[pdm-devel] [PATCH manager/proxmox{-api-types, -datacenter-manager} v2 0/8] Add SDN resources to dashboard + SDN zone overview tree

Stefan Hanreich s.hanreich at proxmox.com
Tue Sep 9 17:54:12 CEST 2025


## 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



More information about the pdm-devel mailing list