feat(kms): add backup manifest and responsibility contract types (#5483)

Contract-only module for KMS backup/restore (no handler or backend
wiring): versioned manifest schema with completeness marker and sealed
digest, the (backend, at-rest protection) responsibility matrix, typed
fail-closed errors, and the zero-write restore dry-run report. Fields
whose shape depends on in-flight contracts are reserved and reject data
in format version 1.
This commit is contained in:
Zhengchao An
2026-07-31 01:49:21 +08:00
committed by GitHub
parent 7051a5ce41
commit b457c6abcc
8 changed files with 1890 additions and 6 deletions
+4
View File
@@ -124,6 +124,10 @@ pub enum KmsError {
/// Requested master key version has no persisted material for the key
#[error("Key version {version} not found for key {key_id}")]
KeyVersionNotFound { key_id: String, version: u32 },
/// Backup/restore bundle contract violation; see [`crate::backup::BackupError`]
#[error(transparent)]
Backup(#[from] crate::backup::BackupError),
}
impl KmsError {