Relocated bundles should also relocate the original tag #2670
Open
1 task
Labels
pep003-advanced-dependencies
Implementation of the Advanced Dependencies proposal
placeholder
Tracks work that has not yet be fully designed
When we publish a bundle from an archive as part of #2669, we should also copy over the tag instead of only preserving and relocating the digest. This is necessary because porter uses the tag to determine the bundle version
For example,
After that bundle is relocated the porter.yaml looks like this
In order to evaluate the version constraint on the dependency, and allow the user to always select the most recent dependency that satisfies the constraints, we need to also push the tags for that bundle. (out of scope: if they are replicating or copying bundles using other tools such as skopeo it's on them to preserve the tags)
As a test, we should be able to publish two versions of a bundle (one with mysql version v1.2.3 and another with mysql v1.2.4 as a dependency) with a dependency to registry 1, relocate it across an airgap to registry 2. Then you should be able to install the version of the bundle that relies on v1.2.3 of mysql, and when configured to select the highest matching version, it should locate the v1.2.4 version of mysql (even though the default bundle is set to 1.2.3). This demonstrates that when we relocate, porter can still use the tags to find the latest version of a dependency.
Questions
Dependencies
ℹ️ Read PEP003 - Advanced Dependencies for context about how dependencies should work, design details, and notes about desired behavior.
The text was updated successfully, but these errors were encountered: