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 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.