Support dynamic registry tokens, add wrapper for working with registry microservice
This is a companion for https://github.com/jupyterhub/repo2docker/pull/1245 that allows dynamic credentials t be used for pushing to a registry. This is required for e.g. ECR where the token used to login to the reigistry expires.
This also implements the non-vendor specific parts of https://github.com/jupyterhub/binderhub/issues/1623
Closes https://github.com/jupyterhub/binderhub/issues/705
You can see an example implementation of the microservice side in https://github.com/manics/binderhub-container-registry-helper This is working with AWS ECR using an IRSA role for the microservice.
It's written in Go as I wanted to learn it, but if we choose to pursue this rewriting it in Python (or Javascript, or any other language) shouldn't be too difficult.
Anyone else have thoughts on this? @stevejpurves is interested in using it.
@yuvipanda do you have any thoughts on this?
This has been ready for 6 months, and it's effectively been in production (though being overriden in https://github.com/jupyterhub/mybinder.org-deploy/blob/b9439b5b15263ff703ea46c07bfd6c4584d1422c/config/curvenote.yaml#L59-L148) so merging!
Sorry for dropping this @manics! Happy for you to have merged this!