Skip to content

RFC - HTML Reports #36

@NikhilVerma

Description

@NikhilVerma

Starkit HTML Report RFC

Introduction

Starkit currently supports stdout and JSON reports for infrastructure analysis results. This RFC proposes adding HTML report generation capabilities to provide a more interactive and user-friendly way to view and analyze results. HTML reports will enable better visualization, filtering, and navigation of infrastructure assessment data.

Features

Core Reporting Features

  1. Display comprehensive stdout features:
    • IAC/Runtime Cloud configurations
    • Services inventory and status
    • Instance details and metrics
    • Security controls and their status

Interactive Features

  1. Grouping capabilities:

    • By criticality level (default view)
    • By service name
    • By cloud provider
    • By resource type
  2. Sorting and filtering:

    • Ascending/descending sort on all columns
    • Quick filters for status (pass/fail/warning)
    • Search functionality across all fields

Data Visualization (stretch goal)

  1. Summary dashboards:
    • Overall score
    • Distribution by service
    • Distribution by criticality

Technical Requirements

Implementation

  1. Single File Distribution:

    • Self-contained HTML file with no external dependencies
    • All assets (CSS, JS, images) bundled inline
    • Base64 encoded images where necessary
    • Minified and optimized bundle
  2. Build Process:

    • ESBuild for JavaScript bundling and minification
    • PostCSS for CSS processing and optimization
    • HTML template with injection points for bundled assets
    • Source maps for debugging (optional, configurable)
  3. Template format:

    • The template should have just 1 injection point for JSON payload, it should use that and build the report

Future Considerations

  1. Export capabilities to other formats (PDF, Excel)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions