Skip to content

Commit 3310a88

Browse files
authored
feat(kvp): add ProvisioningReport abstraction over KvpPoolStore (#310)
* feat(kvp): add ProvisioningReport abstraction over KvpPoolStore Add a ProvisioningReport that converts to ordered KVP entries via a new ToKvp trait and persists with write_report. ToKvp is the seam for a future diagnostics report to reuse write_report unchanged. * fix(kvp): match legacy field order and add typed ReportPpsType Branch ProvisioningReport::encode per outcome so success extras trail the standard fields (failure layout unchanged), require a typed ReportPpsType on the constructors, rename error() -> failure(), and mark ReportPpsType non_exhaustive. Adds layout and pps_type wire-string tests. * feat(kvp): make report vm-id optional, default agent, add --supporting-data * test(kvp): cover VM ID fallback and comma-aware supporting-data parsing Close the codecov gaps on the new CLI paths and rework --supporting-data so one flag can carry multiple comma-separated pairs, including values that contain literal commas.
1 parent 5ff3254 commit 3310a88

6 files changed

Lines changed: 1331 additions & 18 deletions

File tree

libazureinit-kvp/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ license = "MIT"
99
description = "Hyper-V KVP (Key-Value Pair) storage library for azure-init."
1010

1111
[dependencies]
12+
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
1213
clap = { version = "4.5.21", features = ["derive"] }
14+
csv = "1"
1315
libc = "0.2"
1416
serde_json = "1.0.96"
1517
tracing = "0.1.40"
18+
uuid = "1.3"
1619

1720
[dev-dependencies]
1821
rstest = { version = "0.26", default-features = false }

0 commit comments

Comments
 (0)