Implement SBOM report command and APIs for listing all installed packages and to check their locations
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
### Main idea
Generate report to list all installed packages and to check their locations
- CUDA runtime version(s) installed at the image filesystem
- Location(s) of Python/R/etc. runtimes found in the image filesystem\* There may be multiple runtimes. (e.g., system Python, conda, pyenv, etc.)
- The (summarized) list of installed packages for each runtime
- The (summarized) list of installed system packages
In this issue, we will only support registries with SBOM auto-generation features, such as Harbor,And the implementation of fallbacks for other registries will be addressed in a follow-up issue (#3142).
### Implementation
We can consider implementing CLI command like the following.
```Java
backend.ai mgr image sbom-report
```
We can make the above command to print information about the packages info using _tabulate_, and print raw SBOM using the `--raw` flag.
### Considerations
- Should we store the SBOM in the database?
JIRA Issue: BA-51
Contributor guide
Assessment
This issue has not been assessed yet.