berkeley-dsep-infra / datahub

JupyterHubs for use by Berkeley enrolled students
https://docs.datahub.berkeley.edu
BSD 3-Clause "New" or "Revised" License
63 stars 39 forks source link

Add (& configure?) gh-scoped-creds #5513

Closed cboettig closed 2 months ago

cboettig commented 8 months ago

Package Name

gh-scoped-creds

Hub URL

r.datahub.berkeley.edu

Course Name

ESPM 157, ESPM 288

Semester Details

Every semester

Installation Deadline

Will be particularly wonderful to have this in place for Fall semester when I teach my bigger undergrad class, but I'm keen to test-drive it during my grad student course this spring.

Note that this is more than a request to install a python package, this needs a client id set up too. https://github.com/jupyterhub/gh-scoped-creds

cboettig commented 5 months ago

No worries about messing with this before finals, but could we get this on the main data hub before Fall semester?

balajialg commented 5 months ago

@cboettig I think it should be fine and will get to it during the last week of June.

balajialg commented 3 months ago

@cboettig I played with profiles config and created a dummy profile for ESPM 157 in the R-staging hub - https://r-staging.datahub.berkeley.edu/hub/spawn. I have installed a test gh-scoped-creds app in this hub. I would like to check if this workflow is something you would prefer for your students to go through. (I have hubployed the changes and it might get erased if anyone pushes changes to our repository. I can re-deploy it if it got erased). Based on your inputs, we will decide whether to proceed with this approach. Can you test the workflow and share your feedback?

ryanlovett commented 3 months ago

@balajialg Is this a custom image (per the form label) or just custom config?

Also, if @cboettig wanted to go forward with this, could you also add the default image/environment as a choice to the form? (for people who manage to access the hub directly)

balajialg commented 3 months ago

@ryanlovett Thanks, This is just a custom config for now with gh-scoped-creds related changes. I updated the description to highlight that it is a new profile with config changes (Initially, I assumed that Carl might explore a custom image for this course). Based on your feedback, I also included the standard image as an option in the profile. I hubployed the changes to the staging hub.

ryanlovett commented 3 months ago

@balajialg Okay, makes sense. If there's only one image, then image can probably be removed from the name of the default choice too. Otherwise it reads like there is a difference in docker images.

balajialg commented 3 months ago

@ryanlovett Thanks, fixed it

cboettig commented 3 months ago

@balajialg thanks for this! Um, so I've launched into the hub via https://r-staging.datahub.berkeley.edu/hub/spawn, which after auth takes me to RStudio at https://r-staging.datahub.berkeley.edu/user/cboettig/rstudio/, but opening a terminal there, gh-scoped-creds is installed but lacks access to the necessary env var:

error:

--client-id must be specified or GH_SCOPED_CREDS_CLIENT_ID environment variable must be set

if I drop into lab it is working as expected on the Jupyter side.

cboettig commented 3 months ago

Also, possible side note, but this summer we're exploring translating ESPM-157 into python :snake: so we may not be in RStudio session at all... But it would still be great to have gh-scoped-creds working -- I see it is indeed already installed on datahub.berkeley.edu instance but there no GH_SCOPED_CREDS_CLIENT_ID is set, even for Jupyter.

balajialg commented 3 months ago

@cboettig Got it, I assumed you were looking to use gh-scoped-creds within the Jupyter interface in R hub. I think I need to replicate @ryanlovett's fix in https://github.com/berkeley-dsep-infra/datahub/issues/5551 to get gh-scoped-creds working within R Studio.

It's good to know that you are exploring datahub as an option. We can also set up a profile in Datahub with working gh-scoped-creds. Let us know which hub you would prefer (or both?).

balajialg commented 2 months ago

Closing this issue as changes got merged to prod. @cboettig Please reopen this issue you still need gh-scoped-creds to work with R studio in Datahub.b.e!