[pdm-devel] [PATCH manager/proxmox-datacenter-manager 0/6] Add SDN resources to dashboard + SDN zone overview tree

Stefan Hanreich s.hanreich at proxmox.com
Tue Sep 9 12:08:27 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.

## Additional API endpoints:

* GET /resources/type/{resource_type}

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

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-datacenter-manager:

Stefan Hanreich (5):
  pdm-api-types: add sdn cluster resource
  server: api: add resources_by_type api call
  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                    |  14 +-
 lib/proxmox-api-types                        |   2 +-
 server/src/api/resources.rs                  | 131 +++++++-
 server/src/metric_collection/top_entities.rs |   1 +
 ui/Makefile                                  |   1 +
 ui/css/pdm.scss                              |  27 +-
 ui/images/icon-sdn.svg                       |  70 +++++
 ui/src/dashboard/mod.rs                      |  17 +-
 ui/src/dashboard/sdn_zone_panel.rs           | 155 ++++++++++
 ui/src/lib.rs                                |  13 +-
 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                      | 299 +++++++++++++++++++
 19 files changed, 929 insertions(+), 14 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:
  20 files changed, 934 insertions(+), 14 deletions(-)

-- 
Generated by git-murpp 0.8.0



More information about the pdm-devel mailing list