jupyterhub / binderhub

Run your code in the cloud, with technology so advanced, it feels like magic!
https://binderhub.readthedocs.io
BSD 3-Clause "New" or "Revised" License
2.54k stars 388 forks source link

Proposed fix for ACR caching while providing guidance for GitLab users. #1628

Open wallyhall opened 1 year ago

wallyhall commented 1 year ago

Proposed fix for https://github.com/jupyterhub/binderhub/issues/1620

This supersedes a single line change of PR https://github.com/jupyterhub/binderhub/pull/1283 ... and provides documentation (like already exists for ACR) to maintain GitLab compatibility (but the documented instructions have not been validated).

welcome[bot] commented 1 year ago

Thanks for submitting your first pull request! You are awesome! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please make sure you followed the pull request template, as this will help us review your contribution more quickly. welcome You can meet the other Jovyans by joining our Discourse forum. There is also a intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

wallyhall commented 1 year ago

Has anyone advice for testing this PR? The updated tests are largely all integration ... and I'm not entirely clear on the consequences of what I've changed with regards to other container registries (and I think that probably is why the original PR this seeks to "patch" probably wasn't caught for the ACR scenario I'm trying to repair here).

I've added an attempt at a regression test too, but I'm no Python wizard and I've been unable to get the tests running locally (I've relied on CI).

leviplj commented 1 year ago

Can any maintainer review/merge this? We've stuck with the same problem using ACR.

Thanks!

bilke commented 1 month ago

I have setup BinderHub with ACR and in principal it works until the built image is downloaded where it fails with:

Failed to pull image "myacr.azurecr.io/...": failed to pull and unpack image: failed to resolve reference ... :
failed to authorize: failed to fetch anonymous token:
unexpected status from GET request to https://myacr.azurecr.io/oauth2/token?scope=repository%3Amyacracr%2Fmy-bilke-2dbinder-2dogs-2drequirements-d16279%3Apull&service=mybenacr.azurecr.io: 401 Unauthorized

I guess it is because of the issue described in #1620.

Is there a way to test this patch in my instance? I am a k8s / helm noobie so it would awesome could point out the required steps to test this, thanks a lot!