Skip to content

Add architectural overview document #193

@jtdub

Description

@jtdub

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:

  1. Core tree model — How HConfig (root), HConfigChild (nodes), and HConfigChildren (collection) form the configuration tree
  2. Driver system — How HConfigDriverBase and HConfigDriverRules encode platform-specific behavior, and how drivers plug into the tree
  3. Workflow layer — How WorkflowRemediation uses config_to_get_to() to compute remediation and rollback configs
  4. View layer — How HConfigViewBase provides a higher-level interface abstraction on top of the tree
  5. Reporting layer — How RemediationReporter aggregates across multiple devices
  6. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions