From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id A05E51FF191 for ; Tue, 9 Sep 2025 17:54:26 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5ABEDE8CF; Tue, 9 Sep 2025 17:54:27 +0200 (CEST) From: Stefan Hanreich To: pdm-devel@lists.proxmox.com Date: Tue, 9 Sep 2025 17:54:12 +0200 Message-ID: <20250909155423.526917-1-s.hanreich@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.335 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RDNS_NONE 0.793 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [tree.rs, resource.rs, lib.rs, utils.rs, types.rs, resources.rs, remote.rs, mod.rs, cluster.pm, renderer.rs] Subject: [pdm-devel] [PATCH manager/proxmox{-api-types, -datacenter-manager} v2 0/8] Add SDN resources to dashboard + SDN zone overview tree X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" ## 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 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