From: Lukas Wagner <l.wagner@proxmox.com>
To: pdm-devel@lists.proxmox.com
Subject: [pdm-devel] [PATCH datacenter-manager v3 00/12] add global remote update view
Date: Thu, 23 Oct 2025 14:44:08 +0200 [thread overview]
Message-ID: <20251023124420.244585-1-l.wagner@proxmox.com> (raw)
This series adds a new tab under "Remotes" called "Updates". It provides a
summary regarding the system update availability for all managed remotes.
Potential follow-up work:
- The "Refresh all" button, powered by the '/remote-updates/refresh' API
only retrieves a fresh list of available updates at the moment, but does not
invoke 'apt update' on the remote. The latter could be useful, either
always or if explicitly requested, but we probably should 'stream'
the node's task log to the PDM task log, so one can see the actual
progress and/or any problems.
- Remote task cache / task tracking needs a bit of work to correctly handle
PBS tasks, therefore the 'Update' (which *does* invoke 'apt update' on the
remote node) button for a *SINGLE* node does not work yet for PBS.
Changes since v2:
In the UI:
- Show text for collapsed remote tree item
- "All nodes up-to-date"
- "Some nodes nodes have pending updates"
- "Some nodes have pending updates, some nodes unavailable"
- ...
- Collapse single-node PVE remotes and PBS remotes into a single item
to reduce clicks needed
- Show remote and node in the header of the right-hand update list
- Some refactoring to make the code a tiny bit nicer
Changes since v1:
- Incorporated review feedback from Shannon - see commits for details
proxmox-datacenter-manager:
Lukas Wagner (12):
pdm-api-types: add types for remote upgrade summary
remote updates: add cache for remote update availability
api: add API for retrieving/refreshing the remote update summary
unprivileged api daemon: tasks: add remote update refresh task
pdm-client: add API methods for remote update summaries
pbs-client: add bindings for APT-related API calls
task cache: use separate functions for tracking PVE and PBS tasks
remote updates: add support for PBS remotes
api: add APT endpoints for PBS remotes
ui: add remote update view
ui: show new remote update view in the 'Remotes' section
remote updates: avoid unnecessary clone
lib/pdm-api-types/src/lib.rs | 2 +
lib/pdm-api-types/src/remote_updates.rs | 119 ++++
lib/pdm-client/src/lib.rs | 22 +
server/src/api/mod.rs | 3 +
server/src/api/pbs/mod.rs | 19 +-
server/src/api/pbs/node.rs | 9 +
server/src/api/pve/apt.rs | 119 ----
server/src/api/pve/mod.rs | 4 +-
server/src/api/pve/node.rs | 2 +-
server/src/api/remote_updates.rs | 222 ++++++++
server/src/bin/proxmox-datacenter-api/main.rs | 1 +
.../bin/proxmox-datacenter-api/tasks/mod.rs | 1 +
.../tasks/remote_updates.rs | 44 ++
server/src/pbs_client.rs | 51 ++
server/src/remote_tasks/mod.rs | 45 +-
server/src/remote_updates.rs | 236 +++++++-
ui/src/remotes/mod.rs | 10 +
ui/src/remotes/updates.rs | 530 ++++++++++++++++++
18 files changed, 1295 insertions(+), 144 deletions(-)
create mode 100644 lib/pdm-api-types/src/remote_updates.rs
create mode 100644 server/src/api/pbs/node.rs
delete mode 100644 server/src/api/pve/apt.rs
create mode 100644 server/src/api/remote_updates.rs
create mode 100644 server/src/bin/proxmox-datacenter-api/tasks/remote_updates.rs
create mode 100644 ui/src/remotes/updates.rs
Summary over all repositories:
18 files changed, 1295 insertions(+), 144 deletions(-)
--
Generated by murpp 0.9.0
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
next reply other threads:[~2025-10-23 12:44 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-23 12:44 Lukas Wagner [this message]
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 01/12] pdm-api-types: add types for remote upgrade summary Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 02/12] remote updates: add cache for remote update availability Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 03/12] api: add API for retrieving/refreshing the remote update summary Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 04/12] unprivileged api daemon: tasks: add remote update refresh task Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 05/12] pdm-client: add API methods for remote update summaries Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 06/12] pbs-client: add bindings for APT-related API calls Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 07/12] task cache: use separate functions for tracking PVE and PBS tasks Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 08/12] remote updates: add support for PBS remotes Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 09/12] api: add APT endpoints " Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 10/12] ui: add remote update view Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 11/12] ui: show new remote update view in the 'Remotes' section Lukas Wagner
2025-10-23 12:44 ` [pdm-devel] [PATCH datacenter-manager v3 12/12] remote updates: avoid unnecessary clone Lukas Wagner
2025-10-23 20:30 ` [pdm-devel] applied-series: [PATCH datacenter-manager v3 00/12] add global remote update view Thomas Lamprecht
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=20251023124420.244585-1-l.wagner@proxmox.com \
--to=l.wagner@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox