graph TD
subgraph docker-tools repo
check-base-images["check base images pipeline \n (multiple repos)"]
subscriptions[subscriptions.json]
end
subgraph consuming["consuming repo"]
build-pipeline[build-pipeline]
end
subgraph versions["versions repo"]
image-info[image-info.json]
end
subgraph acr
public["public images"]
end
check-base-images -->|reads| subscriptions
check-base-images -->|"reads (many)"| image-info
check-base-images -->|"queues (many)"| build-pipeline
subscriptions -->|"references (many)"| consuming
build-pipeline <-->|updates and reads| image-info
build-pipeline -->|pushes images| public
Current state
Problems with current setup
image-info.jsonmetadata file. Git is in the critical path for builds.Desired state
Key ideas:
image-info.json, if it still needs to exist, should not be a source of truth. It should be computed separately, strictly downstream of image build pipelines.Future work
Here's the work that I see required to reach this desired state:
getStaleImagescommand which reads these labels to determine which images are out of date.