Closed (fixed)
Project:
Personal Data Vault
Version:
1.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
3 Jun 2026 at 21:04 UTC
Updated:
18 Jun 2026 at 21:30 UTC
Jump to comment: Most recent
Summary
pdv has no operator-facing health surface today: no hook_requirements, nothing on the Status Report. Add point-in-time health checks so an operator can see at a glance whether the vault can function. This is dependency-free (it uses core Status Report) and is the foundation the optional monitoring integration builds on.
Checks to surface
pdv.settings:master_key_id resolves in the key repository, the backend is reachable, and the key is 32 bytes. Without it the vault cannot seal or unseal anything. Mirrors the conditions SubjectKeyManager already enforces (it throws KekException for a missing master_key_id, a key not found in the repository, or a key that is not 32 bytes).pdv_grant_request rows, and whether the GarbageCollector sweep is keeping them bounded. A large or growing backlog means the sweep is not running or is falling behind.MasterKeyRotator state). Non-zero for a long time means a rotation never finished.Constraints
Tests
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mably commentedComment #5
mably commented