jupyterlite / repo2jupyterlite

Build jupyterlite apps out of repositories
BSD 3-Clause "New" or "Revised" License
27 stars 4 forks source link

Bring up a `binderlite` test/beta service #6

Open stevejpurves opened 1 year ago

stevejpurves commented 1 year ago

As discussed at JupyterCon (@yuvipanda, @jtpio) and especially after seeing @yuvipanda's lighting talk -- a good next step would be to get a test service setup, publicise this and then go from there based on feedback.

Curvenote has some space that is can make available to host this and @yuvipanda I sent you some details out of band - did you get those ok?

Happy to iterate on that to make sure perms etc are set up ok (I have a terraform repo I could share and iterate on for those). Do we need to get anything else in place for this?

jtpio commented 1 year ago

Thanks @stevejpurves for opening this issue :+1:

It would indeed be very useful to have an instance up and running somewhere so it's easier to play around with it.

iirc there were also some discussions about supporting object storage before making this available under https://lite.binder.org.

stevejpurves commented 1 year ago

The space we have is on AWS (perms already setup for EC2, S3 & CDN) so if an object storage adapter is needed, best to target S3 initially.

yuvipanda commented 1 year ago

@stevejpurves I'm trying out the account details just now (THANK YOU!) and am getting the following error when trying to change password:

Either user is not authorized to perform iam:ChangePassword or entered password does not comply with account password policy set by administrator

yuvipanda commented 1 year ago

I've a fairly strong password with special chars, etc, so not sure if I have the permission?

stevejpurves commented 1 year ago

@yuvipanda guess I messed up initial aws permissions - I have just added you to a private repo that has the terraform script for the IAM setup (see aws/binderlite). Hopefully you should be able to log in and set a new password now?? but if not if you could suggest any changes to the permissions setup you need I can review and apply them.

yuvipanda commented 1 year ago

@stevejpurves I can login now! And I have a temporary trivial deployment running at http://184.72.30.248. THANK YOU! This is not stable, but a great start to play around with!

I opened https://github.com/stevejpurves/open-infrastructure/pull/2 to grant myself ELB permissions so I can create a loadbalancer.

yuvipanda commented 1 year ago

@stevejpurves @jtpio ok, now also accessible at https://binderlite-prototype-yuvi.mybinder.org/v1/gh/yuvipanda/environment.yml/a6a14732eb23cbc522d4e74e2ba9dc6aeeda1ae0/lab/index.html! Note some of the URL structure things I outlined in #7 have been implemented :) This will resolve the 'main' to a more permanent URL and send appropriate cache-headers (although this needs work). Caching is currently provided by fastly.

manics commented 1 year ago

@yuvipanda If you're able to get CloudFront working (as well as or instead of Fastly) that would reduce network costs too. Cloudfront includes 1TB of free network egress, and AFAIK there's no charge for S3->cloudfront transfers.

stevejpurves commented 1 year ago

@yuvipanda is the current deployment work at an endpoint? or did you want to do additional work on this to change the url etc...?

Also what is our next step? is the idea to advertise this publically and get some initial testing and feedback going? or are we not quite ready for that?

stevejpurves commented 1 year ago

😍 btw

image

yuvipanda commented 1 year ago

@stevejpurves next step would be to actually provide logs of the build process, so when repos fail (most repos will still fail! most packages don't work on jupyterlite!), the user actually sees an error message...

stevejpurves commented 10 months ago

@yuvipanda where do you think a binderlite deployment sits versus the https://notebooksharing.space/ stuff you've been doing? does the binder route still serve a bit of a different use case? and so worth bringing up fully still?

jtpio commented 10 months ago

Yes BinderLite / repo2jupyterlite is still very much needed, to allow for installing additional dependencies and stay close to the repo2docker configuration.

I guess the JupyterLite integration in https://notebooksharing.space/ is more for "convenience" so folks have something to play with if they want to, but it does not try to do more than that? Also it looks like there is only one JupyterLite deployment for https://notebooksharing.space/, while there would be one deployment per repo with BinderLite / repo2jupyterlite.

stevejpurves commented 10 months ago

cool - I'm about to start looking into wider lite support for thebe with xeus kernel support and also wanted to have a clear picture of how this is working -- I'd love to make the current deployment here real over time too.

Is the current deployment terraformed somewhere or otherwise is there a way to contribute to that i.e. is there a common way tht contributors could easily deploy or ci?

jtpio commented 10 months ago

cool - I'm about to start looking into wider lite support for thebe with xeus kernel support and also wanted to have a clear picture of how this is working -- I'd love to make the current deployment here real over time too.

That would be great!

The new jupyterlite-xeus loader package might help with this: https://github.com/jupyterlite/repo2jupyterlite/issues/17

Is the current deployment terraformed somewhere or otherwise is there a way to contribute to that i.e. is there a common way tht contributors could easily deploy or ci?

Good question. Maybe the config files should be available somewhere (on this repo, or somewhere else).