<div dir="ltr">The broker has numerous registry adapters for container registries, and I think that's mostly a result of requiring different discovery mechanisms.<div><br></div><div><a href="https://github.com/openshift/ansible-service-broker/blob/master/docs/config.md#registry-configuration">https://github.com/openshift/ansible-service-broker/blob/master/docs/config.md#registry-configuration</a><br><div><br></div><div>- RHCC: discovery via /v1/search</div><div>- OpenShift Registry: no discovery, so repos must be listed in the config</div><div>- Red Hat Connect Partner Registry: discovery via /v2/_catalog</div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">- Artifactory: new unmerged adapter, discovery via /v2/_catalog</span><br></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">- Quay: new unmerged adapter, discovery via Quay's API (proposed change to /v2/_catalog)</span><br></span></div><div>- Local OpenShift: discovery via openshift client</div><div>- Docker Hub: discovery via non-standard endpoint</div><div><br clear="all"><div>We should consider combining all of those except the "Local OpenShift" and "Docker Hub" adapters. Thinking only about the first 5 adapters above:</div><div><br></div><div>Besides the discovery mechanism, are there any other substantial differences? Any non-standard auth for example?</div><div><br></div><div>I'm hopeful that we could combine them all into one adapter that tries discovery mechanisms in order:</div><div><br></div><div>1. use any repos that are explicitly listed in the config</div><div>2. try /v2/_catalog</div><div>3. if /v2/_catalog failed, try /v1/search</div><div><br></div><div>Any thoughts? Downsides? Wrenches to put in the gears?</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><p style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px;padding:0px"><span style="margin:0px;padding:0px">Michael</span> <span style="margin:0px;padding:0px">Hrivnak</span></p><p style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px;padding:0px"></p><span style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px;padding:0px"><span style="margin:0px;padding:0px">Principal Software Engineer</span><span style="margin:0px;padding:0px">, <span style="margin:0px;padding:0px">RHCE</span></span> </span><span style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px"></span><br style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px;padding:0px"><p style="color:rgb(0,0,0);font-family:overpass-mono,monospace;font-size:10px;margin:0px;padding:0px">Red Hat</p></div></div>
</div></div></div>