Create a logical diagram for the Dependency Proxy
Problem to solve
I'd like to have a logical diagram(s) that demonstrates how the Dependency Proxy works. The goal is to have something that can live on the direction page or even in our documentation that is clear and easy to follow. I'd also like to create a blog post to start creating broader awareness about our goal to build a universal artifact manager.
A request for a package version in my-virtual-registry searches the repositories in the following order until it is found, or until an HTTP 404 Not Found response is returned to the client:
If the package version is found, the search stops, even if it didn't look in all upstream repositories. For example, if the package version is found in hosted-1, the search stops and the Dependency Proxy doesn't look in remote-2 or remote-3.
In the above diagram, the my-virtual-registry contains upstream registries. Upstream registry A has two upstream registries, and D has one. Upstream registries at the same level in the diagram appear in their priority order, left to right (A has a higher priority order than B, and C has a higher priority order than D).
In this example, a request for a package version in my-virtual-registry looks in the following order until it is found, or until a package manager returns an HTTP 404 Not Found response to the client: