Skip to content

feat(rootio): migrate to OSV zip format, remove legacy CVEFeed package#438

Open
chait-slim wants to merge 2 commits into
aquasecurity:mainfrom
chait-slim:feat/rootio-osv-migration
Open

feat(rootio): migrate to OSV zip format, remove legacy CVEFeed package#438
chait-slim wants to merge 2 commits into
aquasecurity:mainfrom
chait-slim:feat/rootio-osv-migration

Conversation

@chait-slim

Copy link
Copy Markdown
Contributor

No description provided.

@chait-slim chait-slim force-pushed the feat/rootio-osv-migration branch 2 times, most recently from af3aa84 to c0c686a Compare April 15, 2026 15:13
Comment thread main.go Outdated
case "rootio":
ru := rootio.NewUpdater()
if err := ru.Update(); err != nil {
rootOSV := osv.NewDatabase(

@DmitriyLewen DmitriyLewen Apr 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you create package?
like osvdev and seal?

and add tests

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@DmitriyLewen

Copy link
Copy Markdown
Contributor

BTW - i don't see severity for OSV feed.
Is this expected?

  dedicated rootio package that mirrors the osvdev and seal pattern
  (defaultEcosystems, functional options, NewDatabase constructor).
  Add httptest-backed table tests with happy/sad paths and golden
  fixtures.

Signed-off-by: Chai Tadmor <chai.tadmor@root.io>
@chait-slim

Copy link
Copy Markdown
Contributor Author

BTW - i don't see severity for OSV feed. Is this expected?

Good point. Updating the API

@chait-slim

Copy link
Copy Markdown
Contributor Author

@DmitriyLewen would really appreciate your review on these PRs

@DmitriyLewen DmitriyLewen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

left small comments.
Also I think we can change workflow message:

diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml
index cc1883a..25d060e 100644
--- a/.github/workflows/update.yml
+++ b/.github/workflows/update.yml
@@ -121,7 +121,7 @@ jobs:
 
       - if: always()
         name: Root CVE Tracker
-        run: ./scripts/update.sh rootio "Root CVE Feed Tracker"
+        run: ./scripts/update.sh rootio "Root.io OSV Tracker"
 
       - name: Microsoft Teams Notification
         uses: Skitionek/notify-microsoft-teams@e7a2493ac87dad8aa7a62f079f295e54ff511d88

Comment thread rootio/testdata/all.zip

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you create a test archive with real files?
Your real archive contains rootio-curl (instead of curl) — this is confusing.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chait-slim friendly ping.

Comment thread rootio/rootio.go

func WithVulnListDir(v string) option {
return func(c *Updater) { c.vulnListDir = v }
var defaultEcosystems = map[string]osv.Ecosystem{

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:

Suggested change
var defaultEcosystems = map[string]osv.Ecosystem{
// Root.io uses a single archive for all ecosystems, so we use a single ecosystem
// and an empty dir (the `rootio` dir is added via options.dir).
var defaultEcosystems = map[string]osv.Ecosystem{

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants