From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: pdm-devel@lists.proxmox.com
Subject: [PATCH datacenter-manager v4 00/10] subscription key pool registry
Date: Thu, 21 May 2026 21:20:28 +0200 [thread overview]
Message-ID: <20260522085128.2678090-1-t.lamprecht@proxmox.com> (raw)
v4 of the Subscription Registry. Addresses all review feedback on v3
from Wolfgang and Lukas, and drops the trailing RFC wizard per the
consensus on v3-0012.
For the v2 -> v3 changelog and the original design discussion see the
v3 cover at:
https://lore.proxmox.com/pdm-devel/20260515074623.766766-1-t.lamprecht@proxmox.com
Notable v3 -> v4 (see per-patch notes for details):
* RFC wizard (v3-0012) dropped per consensus on the review thread.
* v4-0009 bundles Adopt Key + Adopt All (was v3-0009 + v3-0010) into
one commit since they share the dropdown filter and Source column.
* Net series count: 12 -> 10.
* All of Lukas's cover-level UI nits closed: Assign-Key remote/node
filters, Key column font-size in proposal/preview tables, per-node
Assign dialog footer padding. Verified live on a real fleet.
* All of Wolfgang's inline review nits applied.
* Internal: `invalidate_subscription_info_for_remote` ported to the
new api_cache abstraction on master.
R-b and T-b trailers picked up via `b4 trailers -u $msgid`, for patch
v4-0004 and v4-0005 I skipped applying the Tested-by from Lukas, as
there was a bit more churn there since the revision that was tested.
For the record, but IMO no blockers for the initial MVP, the open
follow-ups, still not in this series:
* A few UI/UX improvements, like multi-select on auto-import to allow
skipping a few remote/nodes - that shouldn't be to hard, but I just
wanted to get the v4 out now.
* Atomic clear-and-assign as one queued change (today swapping a key
on a node is Clear / Apply / Assign / Apply; the canonical case is
an Expired live subscription that the operator wants to replace).
* Shop-side full reissue, so PDM can drive the actual key rotation
rather than just freeing the pool binding via Clear Key.
* Shop-bundle import path; the on-disk shadow-file plumbing already
accommodates the signed SubscriptionInfo blob.
* Per-row Auto-Assign overrides for pinning a specific key to a node.
* Status column filter on the node-status tree.
Thomas Lamprecht (10):
api types: subscription level: render full names
pdm-client: add wait_for_local_task helper
subscription: pool: add data model and config layer
subscription: api: add key pool and node status endpoints
ui: registry: add view with key pool and node status
cli: client: add subscription key pool management subcommands
docs: add subscription registry chapter
subscription: add Clear Key action and per-node revert
subscription: add Adopt Key action for foreign live subscriptions
subscription: add Check Subscription action
Cargo.toml | 4 +-
cli/client/src/subscriptions.rs | 401 ++-
docs/index.rst | 1 +
docs/subscription-registry.rst | 84 +
lib/pdm-api-types/Cargo.toml | 1 +
lib/pdm-api-types/src/subscription.rs | 493 +++-
lib/pdm-api-types/tests/test_import.rs | 367 +++
lib/pdm-client/Cargo.toml | 3 +
lib/pdm-client/src/lib.rs | 330 ++-
lib/pdm-config/src/lib.rs | 1 +
lib/pdm-config/src/setup.rs | 7 +
lib/pdm-config/src/subscriptions.rs | 118 +
server/src/api/mod.rs | 2 +
server/src/api/resources.rs | 34 +-
server/src/api/subscriptions/mod.rs | 2310 +++++++++++++++++
server/src/context.rs | 7 +
server/src/pbs_client.rs | 31 +
ui/src/configuration/mod.rs | 3 +
ui/src/configuration/subscription_assign.rs | 336 +++
ui/src/configuration/subscription_keys.rs | 583 +++++
ui/src/configuration/subscription_registry.rs | 1469 +++++++++++
ui/src/dashboard/subscriptions_list.rs | 18 +-
ui/src/main_menu.rs | 10 +
ui/src/widget/pve_node_selector.rs | 91 +-
ui/src/widget/remote_selector.rs | 28 +-
25 files changed, 6665 insertions(+), 67 deletions(-)
create mode 100644 docs/subscription-registry.rst
create mode 100644 lib/pdm-api-types/tests/test_import.rs
create mode 100644 lib/pdm-config/src/subscriptions.rs
create mode 100644 server/src/api/subscriptions/mod.rs
create mode 100644 ui/src/configuration/subscription_assign.rs
create mode 100644 ui/src/configuration/subscription_keys.rs
create mode 100644 ui/src/configuration/subscription_registry.rs
--
2.47.3
next reply other threads:[~2026-05-22 8:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-21 19:20 Thomas Lamprecht [this message]
2026-05-21 19:20 ` [PATCH datacenter-manager v4 01/10] api types: subscription level: render full names Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 02/10] pdm-client: add wait_for_local_task helper Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 03/10] subscription: pool: add data model and config layer Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 04/10] subscription: api: add key pool and node status endpoints Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 05/10] ui: registry: add view with key pool and node status Thomas Lamprecht
2026-05-22 13:16 ` Dominik Csapak
2026-05-21 19:20 ` [PATCH datacenter-manager v4 06/10] cli: client: add subscription key pool management subcommands Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 07/10] docs: add subscription registry chapter Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 08/10] subscription: add Clear Key action and per-node revert Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 09/10] subscription: add Adopt Key action for foreign live subscriptions Thomas Lamprecht
2026-05-21 19:20 ` [PATCH datacenter-manager v4 10/10] subscription: add Check Subscription action Thomas Lamprecht
2026-05-22 9:34 ` [PATCH datacenter-manager v4 00/10] subscription key pool registry Dominik Csapak
2026-05-22 13:30 ` Shannon Sterz
2026-05-22 13:32 ` Shannon Sterz
2026-05-23 23:26 ` superseded: " 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=20260522085128.2678090-1-t.lamprecht@proxmox.com \
--to=t.lamprecht@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.