Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# This file can update the JupyterHub Helm chart's default configuration values.
#
# For reference see the configuration reference and default values, but make
# sure to refer to the Helm chart version of interest to you!
#
# Introduction to YAML: https://www.youtube.com/watch?v=cdLNKUoMc6c
# Chart config reference: https://zero-to-jupyterhub.readthedocs.io/en/stable/resources/reference.html
# Chart default values: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/blob/HEAD/jupyterhub/values.yaml
# Available chart versions: https://jupyterhub.github.io/helm-chart/
#
hub:
config:
CILogonOAuthenticator:
client_id: $CILOGON_ID
client_secret: $CILOGON_SECRET
oauth_callback_url: https://csusb-jupyter.nrp-nautilus.io/hub/oauth_callback
username_claim: "email"
JupyterHub:
admin_access: true
admin_users: ["dvu@csusb.edu", "000065181@csusb.edu", "youngsu.kim@csusb.edu", "006501270@csusb.edu"]
authenticator_class: cilogon
service:
type: ClusterIP
annotations: {}
ports:
nodePort:
loadBalancerIP:
deploymentStrategy:
type: Recreate
db:
type: sqlite-pvc
pvc:
accessModes:
- ReadWriteOnce
storage: 5Gi
storageClassName: rook-ceph-block
resources:
limits:
cpu: "2"
memory: 4Gi
requests:
cpu: "2"
memory: 4Gi
networkPolicy:
enabled: false
proxy:
secretToken: '$SECRET_TOKEN'
service:
type: ClusterIP
chp:
resources:
limits:
cpu: "2"
memory: 8Gi
requests:
cpu: "2"
memory: 8Gi
singleuser:
extraNodeAffinity:
required:
- matchExpressions:
- 'key': 'topology.kubernetes.io/region'
'operator': 'In'
'values': ["us-west"]
cloudMetadata:
blockWithIptables: false
networkPolicy:
enabled: false
storage:
type: dynamic
extraLabels: {}
extraVolumes: []
extraVolumeMounts: []
capacity: 50Gi
homeMountPath: /home/jovyan
dynamic:
storageClass: rook-ceph-block
pvcNameTemplate: claim-{username}{servername}
volumeNameTemplate: volume-{username}{servername}
storageAccessModes: [ReadWriteOnce]
extraVolumes:
- name: jupyterhub-shared
persistentVolumeClaim:
claimName: csusb-jupyterhub-share-cephfs
extraVolumeMounts:
- name: jupyterhub-shared
mountPath: /home/shared
image:
name: localhost:30081/prp/jupyter-stack/prp
tag: latest
startTimeout: 600
cpu:
limit: 4
guarantee: 4
memory:
limit: 64G
guarantee: 8G
extraResource:
limits: {}
guarantees: {}
cmd: jupyterhub-singleuser
defaultUrl: "/lab"
profileList:
- display_name: Stack Minimal
default: true
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/minimal
- display_name: Stack Minimal + Desktop GUI + Relion
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/relion-desktop
- display_name: Stack All Spark
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/all-spark
extra_resource_limits:
nvidia.com/gpu: "1"
- display_name: Stack Datascience
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/datascience
extra_resource_limits:
nvidia.com/gpu: "1"
- display_name: Stack Tensorflow + PRP libraries
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/prp
extra_resource_limits:
nvidia.com/gpu: "2"
- display_name: Stack R-Studio
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/r-studio
- display_name: Stack Pyspark
kubespawner_override:
image_spec: localhost:30081/prp/jupyter-stack/pyspark
extra_resource_limits:
nvidia.com/gpu: "2"
- display_name: Stack SageMath
kubespawner_override:
image_spec: sharptrick/sage-notebook
# lifecycleHooks:
# postStart:
# exec:
# command:
# - "sh"
# - "-c"
# - >
# ln -s /home/shared ~/shared
scheduling:
userScheduler:
enabled: false
# prePuller relates to the hook|continuous-image-puller DaemonsSets
prePuller:
hook:
enabled: false
continuous:
enabled: false
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: haproxy
hosts: ["csusb-jupyter.nrp-nautilus.io"]
pathSuffix: ''
tls:
- hosts:
- csusb-jupyter.nrp-nautilus.io
cull:
enabled: true
users: false
removeNamedServers: false
timeout: 3600
every: 600
concurrency: 50
maxAge: 0