refactor: unified ingest pipeline + modular Redfish profile framework
Implement the full architectural plan: unified ingest.Service entry point for archive and Redfish payloads, modular redfishprofile package with composable profiles (generic, ami-family, msi, supermicro, dell, hgx-topology), score-based profile matching with fallback expansion mode, and profile-driven acquisition/analysis plans. Vendor-specific logic moved out of common executors and into profile hooks. GPU chassis lookup strategies and known storage recovery collections (IntelVROC/HA-RAID/MRVL) now live in ResolvedAnalysisPlan, populated by profiles at analysis time. Replay helpers read from the plan; no hardcoded path lists remain in generic code. Also splits redfish_replay.go into domain modules (gpu, storage, inventory, fru, profiles) and adds full fixture/matcher/directive test coverage including Dell, AMI, unknown-vendor fallback, and deterministic ordering. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -357,6 +357,82 @@ main {
|
||||
transition: width 0.25s ease;
|
||||
}
|
||||
|
||||
.job-active-modules {
|
||||
margin-bottom: 0.85rem;
|
||||
}
|
||||
|
||||
.job-module-chips {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.45rem;
|
||||
margin-top: 0.35rem;
|
||||
}
|
||||
|
||||
.job-module-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
background: #eef6ff;
|
||||
border: 1px solid #bfdcff;
|
||||
border-radius: 999px;
|
||||
padding: 0.32rem 0.68rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.job-module-chip-name {
|
||||
font-size: 0.82rem;
|
||||
color: #1f2937;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.job-module-chip-score {
|
||||
font-size: 0.72rem;
|
||||
color: #1d4ed8;
|
||||
background: #dbeafe;
|
||||
border: 1px solid #bfdbfe;
|
||||
border-radius: 999px;
|
||||
padding: 0.1rem 0.38rem;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
||||
}
|
||||
|
||||
.job-debug-info {
|
||||
margin-bottom: 0.85rem;
|
||||
border: 1px solid #dbe5f0;
|
||||
background: #f8fbff;
|
||||
border-radius: 8px;
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
.job-debug-summary {
|
||||
font-size: 0.82rem;
|
||||
color: #334155;
|
||||
margin-top: 0.35rem;
|
||||
}
|
||||
|
||||
.job-phase-telemetry {
|
||||
margin-top: 0.55rem;
|
||||
display: grid;
|
||||
gap: 0.35rem;
|
||||
}
|
||||
|
||||
.job-phase-row {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(120px, 180px) repeat(4, minmax(60px, auto));
|
||||
gap: 0.5rem;
|
||||
align-items: center;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.job-phase-name {
|
||||
color: #0f172a;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.job-phase-metric {
|
||||
color: #475569;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
||||
}
|
||||
|
||||
.meta-label {
|
||||
color: #64748b;
|
||||
font-weight: 600;
|
||||
|
||||
Reference in New Issue
Block a user