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

Track references to a dependent installation #2608

Open
Tracked by #2682
carolynvs opened this issue Mar 2, 2023 · 0 comments
Open
Tracked by #2682

Track references to a dependent installation #2608

carolynvs opened this issue Mar 2, 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 2, 2023

When we create an installation from a dependency or reuse an installation to satisfy a dependency, we should keep track of who is referencing it and what for. This will allow us to do a few things:

  • Know when it's safe to delete an installation, based on if it is still used
  • When upgrading an installation, find the associated installations that represent its dependencies and act upon them as a unit or just display the dependencies.

To do this we need to keep these references up to date, both when the relationship is created, and later when the parent installation is updated (perhaps it stops depending on another bundle) or deleted.

Tentatively I think we can store this information on the dependent installation's status:

schemaType: Installation
name: mysqldb
status:
  references:
    - installation: myinfra # the name of the installation that is using this one
      dependency: db # the dependency that it satisfies

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

@carolynvs carolynvs added the pep003-advanced-dependencies Implementation of the Advanced Dependencies proposal label Mar 2, 2023
@carolynvs carolynvs added the placeholder Tracks work that has not yet be fully designed label Mar 31, 2023
@carolynvs carolynvs mentioned this issue Mar 31, 2023
5 tasks
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