--- # tasks file for jupyter hub - name: Add jupyter repository kubernetes.core.helm_repository: name: jupyterhub repo_url: https://hub.jupyter.org/helm-chart/ register: repo - name: Update Helm repos command: helm repo update when: repo.changed - name: Deploy Jupyter Hub kubernetes.core.helm: name: jupyterhub chart_ref: jupyterhub/jupyterhub release_namespace: jupyterhub create_namespace: true values: prePuller: hook: enabled: false continuous: enabled: false hub: config: Authenticator: admin_users: - jupyterhub - eric allow_all: true JupyterHub: admin_access: true authenticator_class: ldapauthenticator.LDAPAuthenticator LDAPAuthenticator: server_address: openldap.openldap.svc.cluster.local server_port: 389 use_ssl: false tls_strategy: insecure lookup_dn: true lookup_dn_search_user: cn=readonly,dc=eom,dc=dev lookup_dn_search_password: "{{ openldap_readonly_password }}" lookup_dn_search_filter: (&(objectClass=posixAccount)({login_attr}={login})(memberOf=cn=JupyterHub Users,ou=JupyterHub,ou=Services,dc=eom,dc=dev)) lookup_dn_user_dn_attribute: cn user_search_base: dc=eom,dc=dev user_attribute: uid singleuser: extraFiles: jupyter_notebook_config.json: mountPath: /etc/jupyter/jupyter_notebook_config.json # data is a YAML structure here but will be rendered to JSON file as our # file extension is ".json". data: MappingKernelManager: cull_idle_timeout: 1200 cull_interval: 120 cull_connected: true cull_busy: false storage: capacity: 64Gi image: name: jupyter/minimal-notebook tag: latest pullPolicy: IfNotPresent memory: guarantee: 1G profileList: - display_name: Minimal notebook description: Command-line tools useful when working in Jupyter applications kubespawner_override: image: jupyter/minimal-notebook tag: latest pullPolicy: IfNotPresent default: true - display_name: Tensorflow notebook description: Python deep learning libraries kubespawner_override: image: jupyter/tensorflow-notebook tag: latest pullPolicy: IfNotPresent - display_name: Data science notebook description: Libraries for data analysis from the Python, R, and Julia communities kubespawner_override: image: jupyter/datascience-notebook tag: latest pullPolicy: IfNotPresent ingress: enabled: true annotations: cert-manager.io/cluster-issuer: ca-issuer ingressClassName: nginx hosts: - jupyterhub.eom.dev pathSuffix: pathType: Prefix tls: - hosts: - jupyterhub.eom.dev secretName: jupyterhub-tls