Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[infra] Supporting BinderHub #208

Open
tpetricek opened this issue Sep 5, 2019 · 1 comment
Open

[infra] Supporting BinderHub #208

tpetricek opened this issue Sep 5, 2019 · 1 comment

Comments

@tpetricek
Copy link
Collaborator

tpetricek commented Sep 5, 2019

Dockerfile route (we probably don't want this)

  1. Create a new docker image ("wrattler-everything") and add build script for it to the main Wrattler repo - this will build new docker image with all services whenever we release a new version

  2. Create a new repo, say wrattler/wrattler-binder (which we can start on BinderHub by pasting the URL in https://mybinder.org). We'll use Dockerfile to install our things (as opposed to using repo2docker). This will be based on our wrattler-everything image.

  3. The Docker image will also need to install our JupyterLab extension. We might do this by having postBuild and invoking that as suggested in this discussion.

  4. One tricky thing - the uber-Docker image will need to start all the different services in background.

  5. Another tricky thing - the client will need to call the services in some way. We need to figure out whether there is some similar proxy mechanism as in Sagemaker.

Binderhub config files route (we probably want this)

  1. We might not be able to install arrow with R service, so we ignore r for now. We can get R installed later, possibly with just JSON support and not arrow. Similarly, we can ignore Racket for now.

  2. Create a new repo, say wrattler/wrattler-binder (which we can start on BinderHub by pasting the URL in https://mybinder.org). We'll use postBuild and requirements.txt to install our things via repo2docker (BinderHub does this automatically).

  3. We need to install our JupyterLab Wrattler extension (via jupyter labextnsion install in postBuild like in this sample repo). But how do we get code for our extension? Something clever or just git clone?

  4. We need to install our data store and Python service. The right way is to use pip install and have our packages there. We can start with a hacky way which is to have git clone in postBuild, if that makes it easier for us to get started.

  5. We need to figure out how the client can call the services. Is there a proxy like in SageMaker? Can we do this via jupyter-server-proxy? That seems like the right approach..

  6. Can we test this by running repo2docker locally and then testing the produced Dockerfile?

@tpetricek tpetricek changed the title Supporting BinderHub [infra] Supporting BinderHub Sep 5, 2019
@tpetricek
Copy link
Collaborator Author

I merged #205, but I think it still needs some more work to be able to pass data store URI as an argument.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant