-
Notifications
You must be signed in to change notification settings - Fork 30
docs: adr for sbom dashboard #1575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
cc3103d
to
eb567af
Compare
eb567af
to
f9053cc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am missing the following information in this document:
- What the meaning/definition of the different "total" values? How can we produce this information?
- How do we handle custom licenses and complex SPDX expressions?
- What's the
id
path variable exactly? We have different ways of addressing SBOMs at the moment. Which one do we use here?
I also think that we might want to think about:
- Who's eligible to retrieve that information (authorization)
- Does it make sense caching this information? If so, how?
"total_licenses": "0" | ||
} | ||
``` | ||
- Vulnerabilities state |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the reason for having three "state" endpoints? Wouldn't it be simpler to have one?
docs/adrs/00007-sbom-dashbord.md
Outdated
## Decision | ||
Design an endpoint for each of these parts. | ||
- sbom state | ||
- **HTTP GET api//v2/sbom/{id}/sbom-status** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far, we don't use kebab-case
, why now? Some for the others.
- Reponse playload | ||
```json | ||
{ | ||
"name": "Sbom-name", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we have additional SBOM information (name, version, …) here. But not in the others?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These all came from the mockup, and I also think they’re not very reasonable; we could consider removing them.
"version": "0", | ||
"published_date": "", | ||
"licenses": [ | ||
{ "name:": "Apache-2.0", "count": "10"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To my understanding some SPDX licenses are actually license expressions. How do we handle those?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already have spdx_licenses
to store the standard SPDX IDs parsed from license expressions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, but what's then the meaning of an entry of e.g. MIT
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indicates how many times the MIT license appears.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So MIT OR LGPL-2.1-only
would show up as MIT
and LGPL-2.1-only
? That feels wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Purely from the perspective of occurrence counts, this does not involve the semantics of specific SPDX expressions and should be fine. Only when dealing with actual license relationships might issues occur.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So what the benefit of the user having this?
"total_critical": "0", | ||
"total_high": "0", | ||
"total_medium": "0", | ||
"total_low": "0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about "none"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
‘none’ is just 0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To my understanding none
is a dedicated severity. So there can 5 vulnerabilities of type none
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you are right.
```json | ||
{ | ||
"total_packages": "0", | ||
"total_licenses": "0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't that information make more sense in the license state endpoint?
f9053cc
to
16f5b34
Compare
16f5b34
to
e740005
Compare
Rendered preview: https://github.com/bxf12315/trustify/blob/adr-sbom-dashboard/docs/adrs/00007-sbom-dashbord.md