Description
The project has excellent deep-dive documentation for specific features (drivers.md, remediation-reporting.md), but there is no high-level architectural overview that explains how the core components fit together.
New users and contributors must piece together the architecture from multiple 300+ line documents.
Proposed Content
An architecture.md (or section in the docs site) covering:
- Core tree model — How
HConfig (root), HConfigChild (nodes), and HConfigChildren (collection) form the configuration tree
- Driver system — How
HConfigDriverBase and HConfigDriverRules encode platform-specific behavior, and how drivers plug into the tree
- Workflow layer — How
WorkflowRemediation uses config_to_get_to() to compute remediation and rollback configs
- View layer — How
HConfigViewBase provides a higher-level interface abstraction on top of the tree
- Reporting layer — How
RemediationReporter aggregates across multiple devices
- Data flow diagram — running_config text →
get_hconfig() → tree → WorkflowRemediation → remediation/rollback
This would serve as a map that helps users navigate the detailed docs and helps contributors understand where new code should go.
Description
The project has excellent deep-dive documentation for specific features (drivers.md, remediation-reporting.md), but there is no high-level architectural overview that explains how the core components fit together.
New users and contributors must piece together the architecture from multiple 300+ line documents.
Proposed Content
An
architecture.md(or section in the docs site) covering:HConfig(root),HConfigChild(nodes), andHConfigChildren(collection) form the configuration treeHConfigDriverBaseandHConfigDriverRulesencode platform-specific behavior, and how drivers plug into the treeWorkflowRemediationusesconfig_to_get_to()to compute remediation and rollback configsHConfigViewBaseprovides a higher-level interface abstraction on top of the treeRemediationReporteraggregates across multiple devicesget_hconfig()→ tree →WorkflowRemediation→ remediation/rollbackThis would serve as a map that helps users navigate the detailed docs and helps contributors understand where new code should go.