Skip to content

feat(adapter): CSV input adapter to parse SQS messages from external tools #20

@GerMoren

Description

@GerMoren

Problem Description

External teams send CSV files as SQS message bodies (generated by third-party monitoring tools). Junando currently expects a structured JSON Alert format. There is no way to onboard these teams without writing custom glue code outside the project.

Proposed Solution

Add a CSV input adapter that implements the existing `InputPort` interface. The adapter parses CSV rows into the internal `Alert` model before they reach the core use case.

  • Auto-detect CSV body in SQS messages (vs JSON)
  • Configurable column mapping via env vars or config (e.g. `JUNANDO_CSV_SERVICE_COL`, `JUNANDO_CSV_MESSAGE_COL`, `JUNANDO_CSV_SEVERITY_COL`)
  • Falls back to JSON adapter if body is not valid CSV
  • Ships as part of `@junando/worker`

Alternatives Considered

Teams could transform the CSV before sending to SQS, but that requires them to own the transformation — the opposite of what Junando promises.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions