-
Notifications
You must be signed in to change notification settings - Fork 1
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
High level flow diagram #4
Comments
Here are the step we are going through at a high level Process to populate Git repos
Process to advertise Package and Vulnerability data:
Process to retrieve Package and Vulnerability data in PULL mode:
Process for PurlDB and VCIO to obtain federated Package and Vulnerability data in PUSH mode:We will need first a process for PurlDB and VCIO to subscribe to federated Package and Vulnerability data. Then once this is done we should get federated messages processed as explained below.
The data are updated as in PULL mode:
The data are updated as in PULL mode:
Process to "curate" data:A design is to consider VCIO curations as advisories made by a person or org, then we eventually have many advisories from actual VCIO data sources and other "federated" advisories. This will demand some WIP changes on VCIO models to happen.
|
@ziadhany fyi, we need to make this set of flows clear so we can write the doc. Let's chat |
Sure, @pombredanne let's have a chat and finalize the flows
For Packages in VCIO: We had this before but we changed the file structure slightly. I think we need thorough testing to catch any bugs, especially in the importer ( sync ) . Additionally, we should ensure robust testing for the federate functionality to avoid issues when federating messages.
We have an endpoint for this (sync) /repository/{repo-id}/sync-repo/. Click on 'sync' POST Form request. This endpoint pulls the Git repository data, then runs the importer script, which fetches the diff and processes only the diff (the unprocessed commits). then It creates the vulnerability and package relations. However, we need to create a test to catch any bugs, and we need to double-check the relations we want to store for VCIO. We also need to determine what we will store for SCIO/PurlDB
I think we should have an endpoint in VCIO and PurlDB that updates the vulnerability or package after it is reviewed and accepted on FederatedCode. Then, VCIO will push the changes to the Git repo, and FederatedCode will sync the repo and update the relation.
I'm not sure about this, but it depends on many factors. Should we rely on the FederatedCode review or the GitHub repo review (pull request) and treat Git as the source of truth? I was thinking we could have both mechanisms. For example, if we create a review in FederatedCode, it could trigger one in GitHub. However, I believe this approach might lead to issues, such as message sync problems and merge conflicts. I think it might be better to rely on just one and set up a GitHub action/trigger on merge. |
The attached diagram presents some high level flow of the various parts: VCIO, PurlDB, FederatedCode
federatedcode-flow.odp
The text was updated successfully, but these errors were encountered: