-
Notifications
You must be signed in to change notification settings - Fork 213
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
VCIO-next: Design new Improver #1395
Comments
Should we wait for the model refactoring? I think not. In all cases we will have to amend improvers to work with the new models. We have many improvement work blocked by this current issue #1395 ... we may end up doing a bit more work if we do not wait, but this is marginal IMHO compared to waiting |
Another solution is to create "pseudo-advisories", for example, one per purl. |
@keshav-space is this what you are working on with the pipelines? |
@pombredanne yes! |
The design has been completed: we are now using the aboutcode.pipelines library extracted from scancode.io for both importers and improvers. Migrations is in progress and tracked in: |
Context
Improvers are scripts that take a bunch of objects as an input and can selectively improve the data about packages and vulnerabilities. The current design is that Importers create Advisories and then a "Default Improver" does an actual proper Import of the data through an intermediate "Inference" object.
Other improvers have the same overall model:
The management command will control all this.
Problem
With the current design, we cannot do several things:
Because of all this, there is also confusion in the community about how to add new improvers.
Solution
We should simplify improvers to the max.
An Improver should be a class that has a label, description and some run frequency and should have just an improve() method that can do ANYTHING it likes.
The default improver should be retired and its code merged in the Importer loop instead.
See also these related issues:
The text was updated successfully, but these errors were encountered: