Skip to content
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

Evaluate a bundle definition against a bundle interface #2626

Open
Tracked by #2627 ...
carolynvs opened this issue Mar 13, 2023 · 0 comments
Open
Tracked by #2627 ...

Evaluate a bundle definition against a bundle interface #2626

carolynvs opened this issue Mar 13, 2023 · 0 comments
Labels
pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal placeholder Tracks work that has not yet be fully designed

Comments

@carolynvs
Copy link
Member

carolynvs commented Mar 13, 2023

Before we can have a bundle satisfy a dependency that uses a bundle interface, we need a way to evaluate a specific bundle definition against that interface and determine if it satisfies the interface.

A dependency's bundle interface is composed from:

  • Outputs of the dependency that are used by the parent bundle.
  • Outputs, credentials, and parameters defined in the dependency's interface.reference or interface.document fields.
  • OPTIONAL. When bundles define a default implementation, they can also provide mappings to pass credentials and parameters from the parent bundle to the dependency. When possible we should select a bundle that matches these as well but they aren't strictly required (at this time, subject to design changes so see the PEP and confirm). For example, when matching an installation, the creds/params are irrelevant. Also when we substitute in another bundle definition, the parent bundle can pass unmapped params/creds back up to the root bundle to prompt the user for them, so it's not a dealbreaker if we don't have it, but it does make for a better match.

It's not decided yet if we want a binary (match/no match) or a score so that bundles can be ranked by how well they match? Something to stop and consider before implementing...

ℹ️ Read PEP003 - Advanced Dependencies for context about how dependencies should work, design details, and notes about desired behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal placeholder Tracks work that has not yet be fully designed
Projects
No open projects
Status: No status
Development

No branches or pull requests

1 participant