Getting started with the mybinder.org dev team#
This page contains a starting point for people who would like to help maintain the BinderHub deployment at https://mybinder.org.
Make sure you have access on the Google Cloud project#
Go to https://console.cloud.google.com and see if you have binderhub listed
in your projects. If not, message one of the Binder devs on Jupyter instance of Zulip
to get access.
Install kubectl#
To install kubectl, check out Kubernetes Documentation / Tasks / Install Tools.
Install Google Cloud CLI#
To install gcloud, check out Cloud SDK / Documentation / Guides / Install the Google Cloud CLI.
Also, the installation of some additional Google Cloud CLI components are required:
gke-gcloud-auth-plugin
Configure Google Cloud CLI#
When you run gcloud init for the first time, it’ll ask you to authenticate
and to choose a project / default region. You should authenticate with
the email that’s been given privileges to work on https://mybinder.org, choose
the project binderhub, and use the region us-central1.
:::{note} You can also authenticate to Google Cloud using a service account.
gcloud \
auth \
activate-service-account \
--key-file=secrets/key.json
:::
Set up kubectl to connect to mybinder.org#
Once you have kubectl installed, you can connect it with https://mybinder.org.
To do so, run the following command:
gcloud \
container \
clusters \
get-credentials \
prod \
--zone us-central1 \
--project binderhub-288415
Your kubectl will now be able to run commands with https://mybinder.org.
You can test this out by running:
kubectl --namespace=prod get pod
and a list of all running Binder pods should be printed.
Connect to the staging deployment#
Now that you’re connected to prod it’s time to connect to staging. To do so,
pull the staging credentials on to your local machine:
gcloud \
container \
clusters \
get-credentials \
staging \
--zone us-central1-a \
--project binderhub-288415
You can now switch between the prod and staging deployments by changing your
kubectl context.
Look at the project Grafana#
Another useful resource is the mybinder.org Grafana dashboard. This has information about the current state of the binder deployment. Take a look at all of these plots and familiarize yourself with them. They’re quite useful in spotting and debugging problems in the future.
Start helping out!#
There are many ways that you can help debug/maintain/improve the mybinder.org
deployment. The best way to get started is to keep an eye on the Jupyter instance of Zulip
as well as the Grafana dashboard. If you see something interesting, don’t hesitate
to ask questions or make suggestions!