20260914 强制 TOML 配置并完善 TA 刷新与 daemon
Some checks failed
ci / rust (push) Has been cancelled
ci / docker (push) Has been cancelled
ci / audit (push) Has been cancelled

This commit is contained in:
2026-09-14 16:58:08 +08:00
parent 6383e2c12c
commit 4975128945
48 changed files with 2795 additions and 1459 deletions

View File

@@ -369,7 +369,9 @@ pub(crate) fn run_config(args: RunConfig) -> Result<(), String> {
shared.publication_points.len() as u64,
);
let timing_json_path = out_dir.join("timing.json");
crate::logging::artifact::write("timing", &timing_json_path, || t.write_json(&timing_json_path, 20))?;
crate::logging::artifact::write("timing", &timing_json_path, || {
t.write_json(&timing_json_path, 20)
})?;
}
// Write the compatibility summary after analysis timing has been flushed.
@@ -378,13 +380,15 @@ pub(crate) fn run_config(args: RunConfig) -> Result<(), String> {
// point audit, so the final summary can use those authoritative counts.
if let Some(path) = args.summary_out_path.as_deref() {
let analysis_counts = timing.as_ref().map(|(_, handle)| handle.counts_snapshot());
crate::logging::artifact::write("summary", path, || write_summary(
path,
&shared,
&args,
validation_ms,
analysis_counts.as_ref(),
))?;
crate::logging::artifact::write("summary", path, || {
write_summary(
path,
&shared,
&args,
validation_ms,
analysis_counts.as_ref(),
)
})?;
}
print_summary_from_shared(validation_time, &shared);
@@ -393,6 +397,8 @@ pub(crate) fn run_config(args: RunConfig) -> Result<(), String> {
#[derive(Serialize)]
struct ValidationSummary {
#[serde(rename = "repositoryFailedCount")]
repository_failed_count: usize,
backend: &'static str,
worker_count: usize,
repo_sync_worker_count: usize,
@@ -428,6 +434,17 @@ fn write_summary(
use std::collections::BTreeSet;
let mut summary = ValidationSummary {
repository_failed_count: shared
.publication_points
.iter()
.filter(|p| p.repo_sync_error.is_some())
.map(|p| {
p.rrdp_notification_uri
.as_deref()
.unwrap_or(&p.rsync_base_uri)
})
.collect::<BTreeSet<_>>()
.len(),
backend: "panda-rpki",
worker_count: args.parallel_phase2_config.object_workers,
repo_sync_worker_count: args.parallel_phase1_config.max_repo_sync_workers_global,