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

Add notes on which values.yaml is needed by binderhub #3

Draft
wants to merge 1 commit into
base: cleanup-1
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions helm-charts/basehub/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jupyterhub:
enabled: false
repo: ""
branch: ""
2i2c:
2i2c: # Needed in binderhub as we have auth
# Should 2i2c engineering staff user IDs be injected to the admin_users
# configuration of the JupyterHub's authenticator by our custom
# jupyterhub_config.py snippet as declared in hub.extraConfig?
Expand All @@ -79,7 +79,7 @@ jupyterhub:
- [email protected]
- [email protected]
- [email protected]
ingress:
ingress: # Needed in binderhub as we have https
enabled: true
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 256m
Expand Down Expand Up @@ -111,10 +111,10 @@ jupyterhub:
hook:
enabled: false
proxy:
service:
service: # needed in binderhub as we use ingress
type: ClusterIP
chp:
nodeSelector:
nodeSelector: # needed in binderhub as we want to use different kinds of nodes
hub.jupyter.org/node-purpose: core
resources:
requests:
Expand All @@ -127,7 +127,7 @@ jupyterhub:
traefik:
image:
tag: v2.4.8
nodeSelector:
nodeSelector: # needed in binderhub as we want to use different kinds of nodes
hub.jupyter.org/node-purpose: core
resources:
requests:
Expand All @@ -145,7 +145,7 @@ jupyterhub:
# By default, /bin/sh is used as shell for terminals, not /bin/bash
# Most people do not expect this, so let's match expectation
SHELL: /bin/bash
extraFiles:
extraFiles: # needed in binderhub as we use it to cull idle pods
jupyter_notebook_config.json:
mountPath: /usr/local/etc/jupyter/jupyter_notebook_config.json
# if a user leaves a notebook with a running kernel,
Expand All @@ -165,7 +165,7 @@ jupyterhub:
cull_connected: true
startTimeout: 600 # 10 mins, because sometimes we have too many new nodes coming up together
defaultUrl: /tree
nodeSelector:
nodeSelector: # needed in binderhub as we have different types of nodes
hub.jupyter.org/node-purpose: user
image:
name: quay.io/2i2c/2i2c-hubs-image
Expand Down Expand Up @@ -202,7 +202,7 @@ jupyterhub:
# node can fit 160 user pods, and since kubernetes already caps us at 100 pods a node,
# this guarantee doesn't actually change our scheduling.
guarantee: 0.05
networkPolicy:
networkPolicy: # needed in binderhub as we want to enforce networkpolicy. Should be upstreamed for z2jh 2
# Allow unrestricted access to the internet but not local cluster network
enabled: true
egress:
Expand Down Expand Up @@ -248,18 +248,18 @@ jupyterhub:
app.kubernetes.io/component: traefik
hub:
config:
JupyterHub:
JupyterHub: # needed in binderhub because we want prometheus
# Allow unauthenticated prometheus requests
# Otherwise our prometheus server can't get hub metrics
authenticate_prometheus: false
KubeSpawner:
KubeSpawner: # needed in binderhub because we want $HOME to work and sudo to not
# Make sure working directory is ${HOME}
working_dir: /home/jovyan
extra_container_config:
securityContext:
# Explicitly disallow setuid binaries from working inside the container
allowPrivilegeEscalation: false
Authenticator:
Authenticator: # needed in binderhub, dependent on how we do health checks
# Don't allow test username to login into the hub
# The test service will still be able to create this hub username
# and start their server.
Expand Down Expand Up @@ -314,17 +314,17 @@ jupyterhub:
# tests against a hub, we read this token from the k8s Secret to acquire
# the credentials needed to interacting with the JupyterHub API.
#
hub-health:
hub-health: # needed in binderhub because we want health checks
# FIXME: With JupyterHub 2 we can define a role for this service with
# more tightly scoped permissions based on our needs.
#
admin: true
image:
name: quay.io/2i2c/pilot-hub
tag: "0.0.1-n3027.h52c5e2a"
nodeSelector:
nodeSelector: # needed in binderhub because we have different types of nodes
hub.jupyter.org/node-purpose: core
networkPolicy:
networkPolicy: # needed in binderhub because we want netpol
enabled: true
ingress:
- from:
Expand Down
4 changes: 2 additions & 2 deletions helm-charts/daskhub/values.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
basehub:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are using the dask-gateway chart directly in binderhub, and I don't think that depends on the z2jh helm chart. So how should we copy these values over?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably need to wrap everything in a block like

{ if .Values.dask-gateway.enabled }
...
{ else }
...
{ end }

basehub: # needed by binderhub because this is all just relevant to dask
# Copied from https://github.com/dask/helm-chart/blob/master/daskhub/values.yaml
# FIXME: Properly use the upstream chart.
jupyterhub:
Expand Down Expand Up @@ -98,7 +98,7 @@ basehub:
else:
print("dask-gateway service not found. Did you set jupyterhub.hub.services.dask-gateway.apiToken?")

dask-gateway:
dask-gateway: # needed by binderhub
enabled: true # Enabling dask-gateway will install Dask Gateway as a dependency.
# Futher Dask Gateway configuration goes here
# See https://github.com/dask/dask-gateway/blob/master/resources/helm/dask-gateway/values.yaml
Expand Down