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

Resolve a bundle dependency to an existing installation #2627

Open
2 tasks
Tracked by #2678
carolynvs opened this issue Mar 14, 2023 · 0 comments
Open
2 tasks
Tracked by #2678

Resolve a bundle dependency to an existing installation #2627

carolynvs opened this issue Mar 14, 2023 · 0 comments
Labels
design 🚲🏠 Bust out your paint chips, it's time to bikeshed. hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please. pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal

Comments

@carolynvs
Copy link
Member

carolynvs commented Mar 14, 2023

When the bundle dependency graph is resolved, we should also include installations in the same namespace or the global namespace.

The rules for matching an installation are different than matching a new bundle to install because we don't need to run the bundle in order to reuse it. We still need to consider if upgrade/uninstall impacts the constraints put on the bundle interface however. So that needs to be updated in the PEP before implementing this.

  • Required outputs must be present. If the parent bundle expects the dependency to produce a mysql connection string, the installation should have that output.
  • Bundle Interface must match when defined by $id, document or reference. The inferred interface based on usage (i.e. we wire a parameter from the parent to the dependency) isn't taken into account for existing installations. TBD if it should be for upgrade/uninstall however.
  • The installation's sharing setting must be compatible with the dependency's. The installation may have been created with sharing disabled in which case it must never be reused. Or the dependency's sharing group not matching would also prevent reuse.

Dependencies

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

@carolynvs carolynvs added hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please. design 🚲🏠 Bust out your paint chips, it's time to bikeshed. pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal labels Mar 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design 🚲🏠 Bust out your paint chips, it's time to bikeshed. hmm 🛑🤔 Needs more thinking time. Don't start on it yet, please. pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal
Projects
No open projects
Status: No status
Development

No branches or pull requests

1 participant