- 
                Notifications
    
You must be signed in to change notification settings  - Fork 32
 
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 
idpath 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