-
-
Notifications
You must be signed in to change notification settings - Fork 18
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
Support component integrity verification #699
Comments
Based on the PR review for #727 we wanted to also store the published date information from the same end point that is used to fetch integrity information for packages.
|
Meeting notes from discussion on September 18 2023. Use Cases Integrity Verification
Multiple Repositories for integrity verification
pkg:maven/com.citi/citi-lib → Artifactory (Internal) Published Date
dtrack.repo-meta-analysis.component
|
STATUS : Possible values PROCESSED, TIMED_OUT. There can be additional values
Initialiser
Insert into COMPONENT_METADATA table Select DISTINCT purls, internal from COMPONENT table in one transaction TODO: check if there is copy command of postgres which can be used or any other better way of doing it. SELECT INTO is much faster than INSERT .. SELECT. Hint could be provided to use table level lock to improve performance of INSERT.. SELECT With small load of ~6k distinct purls, INSERT INTO .. SELECT execution took ~ 409ms. COPY is most optimal for copying bulk data in postgres
COPY is used to COPY FROM a file or COPY TO a file so may not be ideal choice.
It would be better to use changelog topic and state store so in case of restart, in-memory state store is reconstructed from changelog topic.
|
Task Highlights
|
AnalysisResult Proto should include fields for Component Metadata
Logic from result at apiserver
AnalysisCommand Proto :
Analysis Command notes: fetch_latest_version flag → map latest_version and latest_version_published.
|
A point to note is the change of repository from user when he has already supplied a repository for a package type. If this happens, currently the projects/ components for which the integrity information has already been fetched will not be refreshed with new information. In order to support this feature, keeping in mind that we only support one repository at a time for a given package and not act as mirror for multiple repositories, we could re factor the initializer code to get triggered on whenever the user changes repository url and refresh information for all the existing components. |
the changes have now been completed hence closing the issue |
This issue expands on issue in upstream dependency track. An initial POC for this has been completed and demoed using hyades-apiserver and hyades
Below features need to be addressed as part of actual implementation:
Tasks
The text was updated successfully, but these errors were encountered: