haskell / haskell/security-advisories
advisory distribution and caching mechanisms
- Dominant language
- Haskell
- Stars
- 64
- Forks
- 27
- Avg merge
- 3h 39m
- Merged PRs (30d)
- 1
Description
Downstream tools need to retrieve, cache and process advisory data. Syncing our Git repo is one way to do it, but
- Our repo contains tool code and other SRT artifacts, which the consumers do not need
- This approach depends on the Git CLI tools. It may be brittle as Git evolves over time, and consumers could have different Git versions.
In favour of Git is that, well, it is the original data. We don't have to do any extra exports or anything special to propagate the "out of band" advisory data that we derive from the Git history (*published* and *modified* dates).
We should consider designing an archive/cache format that:
- Provides the current advisory data including fields derived from Git history
- Is efficient for queries
- Does not contain irrelevant SRT artifacts
- Does not depend on Git
- Can be cached (avoid unnecessary data transfer when local cache is up to date)
Contributor guide
Research direction
Start by reviewing how advisory data and the published and modified dates are currently propagated through the Git repository, including the Git CLI dependency. Define an archive or cache format that contains only current advisory data, supports efficient queries, includes derived fields, avoids Git, and can skip transfers when a local cache is current.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100