haskell / haskell/security-advisories

advisory distribution and caching mechanisms

Open
#170 1 comment 2 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.