-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yaml
117 lines (112 loc) · 3.22 KB
/
config.yaml
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
# Additionnal optimizations
#https://alan-turing-institute.github.io/hub23-deploy/advanced/optimising-jupyterhub.html#labelling-nodes-for-core-purpose
#https://github.com/alan-turing-institute/hub23-deploy/blob/main/deploy/prod.yaml#L56
# add additionnal buttons https://binderhub.readthedocs.io/en/latest/cors.html#adjusting-binderhub-config-to-enable-cors
jupyterhub:
ingress:
enabled: true
hosts:
- test.conp.cloud
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
cert-manager.io/issuer: letsencrypt-production
tls:
- secretName: binder-conp-cloud-tls
hosts:
- test.conp.cloud
#https://discourse.jupyter.org/t/pre-building-images-on-binderhub/4325/4
prePuller:
continuous:
enabled: true
hub:
baseUrl: /jupyter/
image:
name: jupyterhub/k8s-hub
tag: 1.1.3-n141.h28efde1b
proxy:
service:
type: NodePort
cull:
timeout: 900 #15min
every: 30
concurrency: 5 #to avoid Hub slow down, 5 concurrent processes
maxAge: 7200 #2h
singleuser:
storage:
type: none
extraVolumes:
- name: shared-data
hostPath:
path: /DATA
- name: book-data
hostPath:
path: /DATA/book-artifacts
- name: repo2data
hostPath:
path: /DATA
extraVolumeMounts:
- name: shared-data
mountPath: /home/jovyan/data # where each user can reach shared data
readOnly : true
- name: book-data
mountPath: /mnt/books
- name: repo2data
mountPath: /mnt/data
memory:
guarantee: 4G
limit: 8G
cpu:
guarantee: 1
startTimeout: 3600 #1h
#for repo2data https://zero-to-jupyterhub.readthedocs.io/en/latest/resources/reference.html#singleuser-initcontainers
# https://zero-to-jupyterhub.readthedocs.io/en/latest/jupyterhub/customizing/user-environment.html#about-user-storage-and-adding-files-to-it
extraFiles:
jb_build:
mountPath: /usr/local/share/jb_build.bash
mode: 0755
repo2data:
mountPath: /usr/local/share/repo2data.bash
mode: 0755
fill_submission_metadata:
mountPath: /usr/local/share/fill_submission_metadata.bash
mode: 0755
lifecycleHooks:
postStart:
exec:
command: ["/bin/sh", "-c", "/usr/local/share/repo2data.bash; /usr/local/share/jb_build.bash"]
# BinderHub config
config:
Launcher:
launch_timeout: 3601 #1h
retries: 10
retry_delay: 1
GitHubRepoProvider:
banned_specs:
# - ^(?!neurolibre\/.*).*
- ^ines/spacy-binder.*
- ^soft4voip/rak.*
- ^hmharshit/cn-ait.*
- ^shishirchoudharygic/mltraining.*
- ^hmharshit/mltraining.*
BinderHub:
hub_url: https://test.conp.cloud/jupyter
use_registry: true
image_prefix: binder-registry.conp.cloud/binder-registry.conp.cloud/binder-
service:
type: NodePort
ingress:
enabled: true
hosts:
- test.conp.cloud
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
cert-manager.io/issuer: letsencrypt-production
https:
enabled: true
type: nginx
tls:
- secretName: binder-conp-cloud-tls
hosts:
- test.conp.cloud