You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 28, 2025. It is now read-only.
At a high level, the Deppy Library checks if a set of constraints can be satisfied by a set of entities. Today, the Deppy Library expects users to implement the EntitySource interface to provide the entities that Deppy considers. There are a number of shortcomings with the existing interface that justify moving to using the VariableSource interface.
This API doesn't provide value: Deppy should not care if a user has given it an EntitySource, it should only rely on a set of Variables being provided, which are retrievable through the existing VariableSource interface
Moving away from EntitySources / entities will yield the following benefits:
Simplification of the codebase.
The EntitySource interface is strongly tied to the bundle concept introduced by OLM. Moving away from EntitySources/Entites would allow us to support other formats.
Open Questions:
[spike] Do we need separate variable sources for each constraint? (eg). How would OLM specific constraints look like?
Follow up:
Currently we have BundleEntities in operator controller, these need to be converted in variable sources and directly fed to resolver. The GetVariables method would take in the BMD and packages, construct a valid deppy identifier and add it to the resolver here
Catalogd should also be updated to use VariableSources.
At a high level, the Deppy Library checks if a set of constraints can be satisfied by a set of entities. Today, the Deppy Library expects users to implement the EntitySource interface to provide the entities that Deppy considers. There are a number of shortcomings with the existing interface that justify moving to using the VariableSource interface.
Input -> Entities -> Variables -> Solver -> Solution set (variables) -> Entities.Moving away from EntitySources / entities will yield the following benefits:
Open Questions:
Follow up:
Related PRs:
Demo Script: