From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: pdm-devel@lists.proxmox.com
Subject: [PATCH datacenter-manager v3 00/12] subscription key pool registry
Date: Fri, 15 May 2026 09:43:10 +0200 [thread overview]
Message-ID: <20260515074623.766766-1-t.lamprecht@proxmox.com> (raw)
v3 of the Subscription Registry - many thanks @Lukas for the review!
The notable shape change vs v2: the single Reissue Key patch is split
into the four discrete actions PDM can drive today (Clear Key, Adopt
Key, Adopt All, Check Subscription); the on-disk layout split moves to
its own commit; each user-visible action ships with its api / cli / ui /
docs change so a reviewer reads one patch end-to-end.
Check Subscription uses the canonical UpdateSubscription from the
recently uploaded proxmox-subscription 1.0.2; the matching PBS-side
adoption is posted as a separate patch on proxmox-backup.
Notable v2 -> v3:
* Reissue Key renamed to Clear Key (v2 reissue did not actually round-
trip through the shop); "Reissue" stays reserved for the future
shop-side action.
* Clear Pending renamed to Discard Pending; now also cancels queued
clears, not just pending pushes.
* New Adopt Key / Adopt All paths import a foreign live key into the
pool without touching the remote, for fleet onboarding.
* New Check Subscription action drives update_subscription(force=true)
and invalidates the PDM cache, so a stale Invalid / Expired verdict
can be promoted without waiting for the periodic check.
* Pool grid columns are sortable; new Source column (hidden by
default) distinguishes manually-added from adopted entries.
* ESC dismisses every confirmation dialog on the registry view.
* Invalid keys land with a clear error instead of staying queued with
a misleading pending badge.
* Per-node Revert can drop a single queued clear without the global
Discard Pending.
Open follow-ups, not in this series:
* Shop-side full reissue, so PDM can drive the actual key rotation
rather than just Clear Key on its side.
* Atomic clear-and-assign so swapping a key on a node gets reduced from
doing four (Clear / Apply / Assign / Apply) steps to one queued
change (+ apply).
* 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.
The trailing wizard commit (v3-0012) is sent as RFC and should be
probably skipped; see its diffstat note for details.
Thomas Lamprecht (12):
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 Adopt All bulk action
subscription: add Check Subscription action
ui: registry: add Add-and-Assign wizard from Assign Key dialog
Cargo.toml | 4 +-
cli/client/src/subscriptions.rs | 413 ++-
docs/index.rst | 1 +
docs/subscription-registry.rst | 84 +
lib/pdm-api-types/Cargo.toml | 1 +
lib/pdm-api-types/src/subscription.rs | 496 +++-
lib/pdm-api-types/tests/test_import.rs | 367 +++
lib/pdm-client/Cargo.toml | 3 +
lib/pdm-client/src/lib.rs | 337 ++-
lib/pdm-config/src/lib.rs | 1 +
lib/pdm-config/src/setup.rs | 7 +
lib/pdm-config/src/subscriptions.rs | 116 +
server/src/api/mod.rs | 2 +
server/src/api/resources.rs | 28 +-
server/src/api/subscriptions/mod.rs | 2297 +++++++++++++++++
server/src/context.rs | 7 +
server/src/pbs_client.rs | 31 +
ui/Cargo.toml | 2 +-
ui/src/configuration/mod.rs | 3 +
ui/src/configuration/subscription_assign.rs | 755 ++++++
ui/src/configuration/subscription_keys.rs | 561 ++++
ui/src/configuration/subscription_registry.rs | 1520 +++++++++++
ui/src/dashboard/subscriptions_list.rs | 18 +-
ui/src/main_menu.rs | 10 +
ui/src/widget/pve_node_selector.rs | 41 +-
25 files changed, 7061 insertions(+), 44 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-15 7:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 7:43 Thomas Lamprecht [this message]
2026-05-15 7:43 ` [PATCH datacenter-manager v3 01/12] api types: subscription level: render full names Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 02/12] pdm-client: add wait_for_local_task helper Thomas Lamprecht
2026-05-15 15:21 ` Wolfgang Bumiller
2026-05-15 7:43 ` [PATCH datacenter-manager v3 03/12] subscription: pool: add data model and config layer Thomas Lamprecht
2026-05-15 15:21 ` Wolfgang Bumiller
2026-05-15 7:43 ` [PATCH datacenter-manager v3 04/12] subscription: api: add key pool and node status endpoints Thomas Lamprecht
2026-05-15 15:21 ` Wolfgang Bumiller
2026-05-15 7:43 ` [PATCH datacenter-manager v3 05/12] ui: registry: add view with key pool and node status Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 06/12] cli: client: add subscription key pool management subcommands Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 07/12] docs: add subscription registry chapter Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 08/12] subscription: add Clear Key action and per-node revert Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 09/12] subscription: add Adopt Key action for foreign live subscriptions Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 10/12] subscription: add Adopt All bulk action Thomas Lamprecht
2026-05-15 7:43 ` [PATCH datacenter-manager v3 11/12] subscription: add Check Subscription action Thomas Lamprecht
2026-05-15 7:43 ` [RFC PATCH datacenter-manager v3 12/12] ui: registry: add Add-and-Assign wizard from Assign Key dialog 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=20260515074623.766766-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox