From 11f19ecb926db942a14b4ee7a7feb33f62707427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jarom=C3=ADr=20Hradil?= <jaromir.hradil@cesnet.cz> Date: Fri, 13 Sep 2024 15:07:53 +0200 Subject: [PATCH] Adding custom EOSC styling --- cesnet-central/deployments/fullhub.yaml | 38 +++++++++------------ common/deployments/hub-production.yaml | 38 +++++++++------------ common/deployments/hub-staging.yaml | 38 +++++++++------------ common/playbooks/files/jupyterhub-jwt.yaml | 2 +- testing/deployments/hub.yaml | 39 +++++++++------------- 5 files changed, 62 insertions(+), 93 deletions(-) diff --git a/cesnet-central/deployments/fullhub.yaml b/cesnet-central/deployments/fullhub.yaml index 1b8ac40..9d6cf26 100644 --- a/cesnet-central/deployments/fullhub.yaml +++ b/cesnet-central/deployments/fullhub.yaml @@ -51,8 +51,8 @@ singleuser: guarantee: .02 defaultUrl: "/lab" image: - name: eginotebooks/single-user - tag: "sha-0f4a63c" + name: eginotebooks/single-user-eosc + tag: "sha-d17f966" profileList: - display_name: Small Environment - 2 vCPU / 4 GB RAM (non-collaboratice) description: > @@ -131,6 +131,14 @@ singleuser: singleuser-webdav-wrapper.sh: mode: 0755 mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper + #NotebookNotary.db_file=':memory:' is used due to issues + #notebook notary file was causing in ~/.jupyter in ownCloud mount + # + #LabApp.custom_css=True allows to use custom CSS for EOSC style + # + #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75% + #threshold for resource-usage extension which is also used by EGI + #notebooks-resource-warning extension stringData: |- #! /bin/sh # @@ -143,30 +151,12 @@ singleuser: /usr/local/bin/jupyterhub-wait-remote-home cd . - exec jupyterhub-singleuser \ --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \ --NotebookNotary.db_file=':memory:' \ + --LabApp.custom_css=True \ + --ResourceUseDisplay.mem_warning_threshold=0.25 \ "$@" - disable-labnews: - mode: 0644 - mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json - stringData: |- - { - "@jupyterlab/apputils-extension:notification": { - "checkForUpdates": "false", - "fetchNews": "false" - }, - "@jupyterlab/application-extension:context-menu": { - "contextMenu": [ - { - "command": "filebrowser:share-main", - "selector": ".jp-DirListing-item[data-isdir]", - "disabled": true - } - ] - } - } hub: services: @@ -179,7 +169,7 @@ hub: # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml image: name: eginotebooks/hub - tag: "sha-bebde36" + tag: "sha-857a93e" config: Authenticator: enable_auth_state: true @@ -324,6 +314,8 @@ hub: c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/" c.WebDavOIDCSpawner.http_timeout = 90 {% endraw %} + templatePaths: + - /egi-notebooks-hub/ec-templates extraFiles: welcome.html: mountPath: /usr/local/share/jupyterhub/templates/welcome.html diff --git a/common/deployments/hub-production.yaml b/common/deployments/hub-production.yaml index 43ff32c..eb82d6c 100644 --- a/common/deployments/hub-production.yaml +++ b/common/deployments/hub-production.yaml @@ -51,8 +51,8 @@ singleuser: guarantee: .2 defaultUrl: "/lab" image: - name: eginotebooks/single-user - tag: "sha-0f4a63c" + name: eginotebooks/single-user-eosc + tag: "sha-d17f966" profileList: - display_name: Small Environment - 2 vCPU / 4 GB RAM description: > @@ -113,6 +113,14 @@ singleuser: singleuser-webdav-wrapper.sh: mode: 0755 mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper + #NotebookNotary.db_file=':memory:' is used due to issues + #notebook notary file was causing in ~/.jupyter in ownCloud mount + # + #LabApp.custom_css=True allows to use custom CSS for EOSC style + # + #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75% + #threshold for resource-usage extension which is also used by EGI + #notebooks-resource-warning extension stringData: |- #! /bin/sh # @@ -125,30 +133,12 @@ singleuser: /usr/local/bin/jupyterhub-wait-remote-home cd . - exec jupyterhub-singleuser \ --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \ --NotebookNotary.db_file=':memory:' \ + --LabApp.custom_css=True \ + --ResourceUseDisplay.mem_warning_threshold=0.25 \ "$@" - disable-labnews: - mode: 0644 - mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json - stringData: |- - { - "@jupyterlab/apputils-extension:notification": { - "checkForUpdates": "false", - "fetchNews": "false" - }, - "@jupyterlab/application-extension:context-menu": { - "contextMenu": [ - { - "command": "filebrowser:share-main", - "selector": ".jp-DirListing-item[data-isdir]", - "disabled": true - } - ] - } - } hub: services: @@ -161,7 +151,7 @@ hub: # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml image: name: eginotebooks/hub - tag: "sha-bebde36" + tag: "sha-857a93e" config: Authenticator: enable_auth_state: true @@ -307,6 +297,8 @@ hub: c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/" c.WebDavOIDCSpawner.http_timeout = 90 {% endraw %} + templatePaths: + - /egi-notebooks-hub/ec-templates extraFiles: welcome.html: mountPath: /usr/local/share/jupyterhub/templates/welcome.html diff --git a/common/deployments/hub-staging.yaml b/common/deployments/hub-staging.yaml index 7982d17..7bdada1 100644 --- a/common/deployments/hub-staging.yaml +++ b/common/deployments/hub-staging.yaml @@ -51,8 +51,8 @@ singleuser: guarantee: .2 defaultUrl: "/lab" image: - name: eginotebooks/single-user - tag: "sha-0f4a63c" + name: eginotebooks/single-user-eosc + tag: "sha-d17f966" profileList: - display_name: Small Environment - 2 vCPU / 4 GB RAM description: > @@ -113,6 +113,14 @@ singleuser: singleuser-webdav-wrapper.sh: mode: 0755 mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper + #NotebookNotary.db_file=':memory:' is used due to issues + #notebook notary file was causing in ~/.jupyter in ownCloud mount + # + #LabApp.custom_css=True allows to use custom CSS for EOSC style + # + #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75% + #threshold for resource-usage extension which is also used by EGI + #notebooks-resource-warning extension stringData: |- #! /bin/sh # @@ -125,30 +133,12 @@ singleuser: /usr/local/bin/jupyterhub-wait-remote-home cd . - exec jupyterhub-singleuser \ --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \ --NotebookNotary.db_file=':memory:' \ + --LabApp.custom_css=True \ + --ResourceUseDisplay.mem_warning_threshold=0.25 \ "$@" - disable-labnews: - mode: 0644 - mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json - stringData: |- - { - "@jupyterlab/apputils-extension:notification": { - "checkForUpdates": "false", - "fetchNews": "false" - }, - "@jupyterlab/application-extension:context-menu": { - "contextMenu": [ - { - "command": "filebrowser:share-main", - "selector": ".jp-DirListing-item[data-isdir]", - "disabled": true - } - ] - } - } hub: services: @@ -161,7 +151,7 @@ hub: # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml image: name: eginotebooks/hub - tag: "sha-bebde36" + tag: "sha-857a93e" config: Authenticator: enable_auth_state: true @@ -305,6 +295,8 @@ hub: c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/" c.WebDavOIDCSpawner.http_timeout = 90 {% endraw %} + templatePaths: + - /egi-notebooks-hub/ec-templates extraFiles: welcome.html: mountPath: /usr/local/share/jupyterhub/templates/welcome.html diff --git a/common/playbooks/files/jupyterhub-jwt.yaml b/common/playbooks/files/jupyterhub-jwt.yaml index 5e9d7d2..6a34c05 100644 --- a/common/playbooks/files/jupyterhub-jwt.yaml +++ b/common/playbooks/files/jupyterhub-jwt.yaml @@ -20,7 +20,7 @@ spec: containers: - name: jwt # recommended to keep it in sync with */deployments/*.yaml - image: eginotebooks/hub:sha-bebde36 + image: eginotebooks/hub:sha-857a93e args: - fastapi - run diff --git a/testing/deployments/hub.yaml b/testing/deployments/hub.yaml index a6f6a00..04de662 100644 --- a/testing/deployments/hub.yaml +++ b/testing/deployments/hub.yaml @@ -52,8 +52,8 @@ singleuser: guarantee: .2 defaultUrl: "/lab" image: - name: eginotebooks/single-user - tag: "sha-0f4a63c" + name: eginotebooks/single-user-eosc + tag: "sha-d17f966" profileList: - display_name: Small Environment - 2 vCPU / 4 GB RAM description: > @@ -114,6 +114,15 @@ singleuser: singleuser-webdav-wrapper.sh: mode: 0755 mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper + + #NotebookNotary.db_file=':memory:' is used due to issues + #notebook notary file was causing in ~/.jupyter in ownCloud mount + # + #LabApp.custom_css=True allows to use custom CSS for EOSC style + # + #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75% + #threshold for resource-usage extension which is also used by EGI + #notebooks-resource-warning extension stringData: |- #! /bin/sh # @@ -126,30 +135,12 @@ singleuser: /usr/local/bin/jupyterhub-wait-remote-home cd . - exec jupyterhub-singleuser \ --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \ --NotebookNotary.db_file=':memory:' \ + --LabApp.custom_css=True \ + --ResourceUseDisplay.mem_warning_threshold=0.25 \ "$@" - disable-labnews: - mode: 0644 - mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json - stringData: |- - { - "@jupyterlab/apputils-extension:notification": { - "checkForUpdates": "false", - "fetchNews": "false" - }, - "@jupyterlab/application-extension:context-menu": { - "contextMenu": [ - { - "command": "filebrowser:share-main", - "selector": ".jp-DirListing-item[data-isdir]", - "disabled": true - } - ] - } - } hub: services: @@ -162,7 +153,7 @@ hub: # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml image: name: eginotebooks/hub - tag: "sha-bebde36" + tag: "sha-857a93e" config: Authenticator: enable_auth_state: true @@ -306,6 +297,8 @@ hub: c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/" c.WebDavOIDCSpawner.http_timeout = 90 {% endraw %} + templatePaths: + - /egi-notebooks-hub/ec-templates extraFiles: welcome.html: mountPath: /usr/local/share/jupyterhub/templates/welcome.html -- GitLab