Architecture & How It Works
System Architecture
┌─────────────────────────────────────────────────────┐
│ User Interface Layer │
│ ┌─────────────────────────────────────────────┐ │
│ │ CLI Interface (Argument Parsing) │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Core Layer │
│ ┌──────────────┐ ┌───────────────────────────┐ │
│ │ Core Engine │ │ Ansible Inventory │ │
│ │ Orchestration│ │ Host Management │ │
│ └──────────────┘ └───────────────────────────┘ │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Execution Layer │
│ ┌──────────────────┐ ┌───────────────────────┐ │
│ │ InSpec Adapter │ │ Profile Converter │ │
│ │ Profile Execution│ │ InSpec → Ansible │ │
│ └──────────────────┘ └───────────────────────┘ │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Output Layer │
│ ┌───────────┐ ┌──────────────┐ ┌─────────────┐ │
│ │Multi-Format│ │Callback Plugin│ │Report Storage│ │
│ │ Reporter │ │ InSpec-free │ │.compliance- │ │
│ │ │ │ mode │ │ reports/ │ │
│ └───────────┘ └──────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────┘Key Components
1. CLI Interface
2. Core Engine
3. Ansible Inventory
4. InSpec Adapter
5. Profile Converter
6. Reporter System
7. Callback Plugin
Execution Flow
Native InSpec Mode
InSpec-Free Mode
Supermarket Mode
Parallel Execution
Resource Translation
Report Generation
InSpec Schema Compatibility
Error Handling
Performance Optimization
Caching
Parallelism
Resource Efficiency
Security Considerations
Extension Points
Next Steps
Last updated