Files
git.stella-ops.org/src/StellaOps.Feedser/StellaOps.Feedser.Exporter.Json/AGENTS.md
master b6ef66e057
Some checks failed
Feedser CI / build-and-test (push) Has been cancelled
up teams work
2025-10-06 00:13:02 +03:00

1.6 KiB

AGENTS

Role

Optional exporter producing vuln-list-shaped JSON tree for downstream trivy-db builder or interoperability. Deterministic, provenance-preserving.

Scope

  • Transform canonical advisories into directory tree structure mirroring aquasecurity/vuln-list (by ecosystem/vendor/distro as applicable).
  • Sorting and serialization invariants: stable key order, newline policy, UTC ISO-8601.
  • Cursoring/incremental export: export_state tracks last advisory hash/time to avoid full rewrites.
  • Packaging: output directory under exports/json/ with reproducible naming; optionally symlink latest.
  • Optional auxiliary index files (for example severity summaries) may be generated when explicitly requested, but must remain deterministic and avoid altering canonical payloads.

Participants

  • Storage.Mongo.AdvisoryStore as input; ExportState repository for cursors/digests.
  • Core scheduler runs JsonExportJob; Plugin DI wires JsonExporter + job.
  • TrivyDb exporter may consume the rendered tree in v0 (builder path) if configured.

Interfaces & contracts

  • Job kind: export:json (JsonExportJob).
  • Determinism: same inputs -> identical file bytes; hash snapshot persisted.
  • Provenance: include minimal provenance fields when helpful; keep identity stable.

In/Out of scope

In: JSON rendering and layout; incremental/deterministic writes. Out: ORAS push and Trivy DB BoltDB writing (owned by Trivy exporter).

Observability & security expectations

  • Metrics: export.json.records, bytes, duration, delta.changed.
  • Logs: target path, record counts, digest; no sensitive data.