MetroStar / jh-admin-dashboard

React based Admin UI for JH https://github.com/jupyterhub/jupyterhub/issues/3039
MIT License
2 stars 1 forks source link

Integrate With JupyterHub #4

Open naatebarber opened 3 years ago

naatebarber commented 3 years ago

Referencing JupyterHub issue 3039 Feel free to leave any feedback / recommendations!

rcthomas commented 3 years ago

This looks really interesting! For documentation maybe you want to add a few screenshots somewhere so people can see what's being considered?

Another question is that the description mentions this as a hub-managed service or service, and in JupyterHub parlance that might be taken to mean a separate process but what I see described looks like additional handlers registered in JupyterHub itself (is that correct)?

If that is the case I can think of >1 other hub package (batchspawner) that leverages similar features so you might want to revise the config docs to append handlers rather than set them for clarity. Same thing may also be appropriate for the templates list.

naatebarber commented 3 years ago

Thanks for the input! I'll add some visuals to the documentation as well as change the term "service" (you're right, it just adds handlers to the hub). Would calling it an extension be a better way to classify? Good point about the setting of handlers too, pushing an update later to append them instead 👍  Beyond that, what would be the best next steps be for getting this merged upstream?

naatebarber commented 3 years ago

@rcthomas Just pushed up some screenshots and updated the docs involving the config. Using .extend() on the handlers and templates instead of setting, thoughts?

rcthomas commented 3 years ago

Those look nifty to me! One question that's come up recently of course is how to handle hundreds or thousands of users, does the app scale well to handle that? I'm up for testing this out in my deployment but probably can't get to it until later this month.

To get more eyes onto this you're going to want to go to the Jupyter Discourse, JupyterHub category here, and post a topic for discussion. Hopefully others can follow up. There's also the gitter.im channel; announcing that you've got something to share there would be a good idea (don't be surprised if it takes a while for people to respond...). And finally there's the monthly Hubs (Binder+JupyterHub) videoconferences that are always fun but even more fun with a demo or new feature.

yuvipanda commented 3 years ago

THIS WOULD BE AWESOME! LET'S DO THIS?

yuvipanda commented 3 years ago

I'm working on github.com/yuvipanda/jupyterhub-configurator which will let people configure their hubs. It's also currently a service, but eventually putting into admin is probably nice. Building out an extensible admin interface will vastly expand how useful JupyterHub is.

naatebarber commented 3 years ago

@yuvipanda That sounds awesome! We should definitely collaborate on getting some of these improvements combined and working in an interface. At this stage, the React Admin UI relies fully on the JupyterHub REST API for all back end admin operations (meaning pretty much no changes to the Tornado process aside from removing the server side rendering from the admin handler). I'd love to work with you to expand this further and create more advanced config options than extend upon what the API can provide.

Also @rcthomas, as far as scaling there should be no bottleneck aside from the extent of what the REST API can handle. So far the React bundle is relatively small, but if the size increases in the future we can work with the caching and potentially split up the bundle into pieces that are pulled up separately when needed.

yuvipanda commented 3 years ago

@naatebarber what do you think about making PRs to the jupyterhub repo that start replacing the current native one with this?

naatebarber commented 3 years ago

@yuvipanda Sounds great actually, just created one here: https://github.com/jupyterhub/jupyterhub/pull/3398