✨ Add local image/registry index #132
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Decision Record
The Netbox models a relationship that the local Docker daemon is not aware of:
erDiagram IMAGE ||--|| REGISTRY : "pull using"When the agent is performing a "refresh", it has no way of knowing which registry was associated to the images it is recreating.
The PR #131 introduces one way of inferring the relationship, if the registry is named after the image (aka: they both have the same name). Otherwise, it fallbacks to "dockerhub".
However, this puts a constraint on the "Registry" entity in Netbox that is not modelled in said Netbox.
One easy solution is to duplicate that relationship on the agent, such that it is able to restore it when performing the "refresh".
Changes
$DATAPATH/image-registry.index.jsonfile at startup, containing{}${img.name}+":"+${img.version} = ${img.registry.id}to the index