Skip to content

Commit 25e8317

Browse files
committed
fixes to make local registry (unauthenticated) usable
1 parent e3627e5 commit 25e8317

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

binderhub/builder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ async def get(self, provider_prefix, _unescaped_spec):
306306
if self.settings['use_registry']:
307307
for _ in range(3):
308308
try:
309-
image_manifest = await self.registry.get_image_manifest(*'/'.join(image_name.split('/')[-2:]).split(':', 1))
309+
image_manifest = await self.registry.get_image_manifest(*'/'.join(image_name.split('/')[-2:]).rsplit(':', 1))
310310
image_found = bool(image_manifest)
311311
break
312312
except HTTPClientError:

binderhub/health.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ async def check_docker_registry(self):
147147
# don't care if the image actually exists or not
148148
image_name = self.settings["image_prefix"] + "some-image-name:12345"
149149
await registry.get_image_manifest(
150-
*'/'.join(image_name.split('/')[-2:]).split(':', 1)
150+
*'/'.join(image_name.split('/')[-2:]).rsplit(':', 1)
151151
)
152152
return True
153153

binderhub/registry.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,10 @@ def _default_password(self):
187187

188188
async def get_image_manifest(self, image, tag):
189189
client = httpclient.AsyncHTTPClient()
190+
if '/' in image:
191+
# this handles the case of the image name including the registry
192+
# e.g. localhost:32000/my-image
193+
registry_prefix, image = image.split('/', 1)
190194
url = "{}/v2/{}/manifests/{}".format(self.url, image, tag)
191195
# first, get a token to perform the manifest request
192196
if self.token_url:

0 commit comments

Comments
 (0)