Commit Graph

10 Commits

Author SHA1 Message Date
DavidSpek 2e5eaa1dc6 Remove the f-strings in the Jupyter web app's backend (kubeflow/kubeflow#5680) 2021-06-03 09:10:37 -07:00
Jaeyeon Kim 2a0d0c7857 [fix]: Make jupyter-web-app parse workspace volume MountPath (kubeflow/kubeflow#5952)
* [fix]: Make jupyter-web-app parse workspace volume MountPath

- workspace volume path was fixed with "/home/jovyan"
- it should be enable to parse from jupyter-web-app-config's data

* change parsing key correctly
2021-06-03 08:53:36 -07:00
DavidSpek fe2789b9d4 Make notebook limits configurable with a multiplication factor (kubeflow/kubeflow#5815)
* Make notebook limits configurable with a multiplication factor

* Make limits configurable under advanced section

* run prettier to format frontend code

* fix formatting and add rounding in backend

* Return error if limit is smaller than request

* Allow disabling limitFactor by setting it to none

* review: remove camelCase in python backend

* fix: update spawner_ui_config.yaml in manifests directory

* review: fix setting limits backend

* review: remove unnecessary check from backend
2021-04-13 08:40:11 -07:00
DavidSpek 2570a8eea4 Remove Logo Trademarks from the Jupyter Web App and make logos configurable (kubeflow/kubeflow#5823)
* rebase: Make logos configurable in configmap and remove trademark references

Rebased to remove the changes to the package-lock.json

* review: add suggested changes and add image group section to README
2021-04-13 05:04:04 -07:00
Kimonas Sotirchos 149a986d3d Add CI format checks for the Jupyter web app (kubeflow/kubeflow#5811)
* jwa(front): Add npm rule for checking the format

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* ci: Add common tasks for format checks

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* ci(jwa): Add format check tasks

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* jwa(back): Fix formatting

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* jwa(front): Fix formatting

Run `npm run format:write` on frontend

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* jwa(front): Include prettier in package.json

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* jwa(docker): Don't copy node_modules in Dockerfile

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* web-apps: Add global dockerignore file

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* jwa: Remove unused dockerignore file

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* jwa(make): Don't include dockerignore and cleanup

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
2021-04-08 03:51:02 -07:00
Kimonas Sotirchos facf6073e5 web-apps: Introduce an APP_SECURE_COOKIES env var (kubeflow/kubeflow#5764)
* web-apps(back): Introduce APP_SECURE_COOKIES var

Expose a new APP_SECURE_COOKIES env variable that will configure whether
the web apps should set Secure cookies or not.

This will allow the admins to configure the web apps to work when
Kubeflow is exposed over localhost/http.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* web-apps(back): Switch CSRF checks order

The order the backend makes the CSRF checks should be the following:
1. check if the CSRF cookie is present
2. check if the CSRF header is present
3. check if the CSRF cookie and header have the same value

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* web-apps: Set APP_SECURE_COOKIES to false in dev

When running the web apps via the makefiles in dev mode we will need to
explicitly set the APP_SECURE_COOKIES env var to False, since the app
will be served over http.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
2021-03-24 05:16:45 -07:00
DavidSpek 165d7d7241 (JWA): update manifests with latest notebook image tags (kubeflow/kubeflow#5757) 2021-03-23 12:30:44 -07:00
DavidSpek 90a8e02fc1 (JWA): Add server type selector for jupterlab, vs-code and r-studio (kubeflow/kubeflow#5646)
* jwa(back): ability to setting annotations on NB resource

* jwa(back): update spanwer yaml, dump logo from yaml if file doesn't exist

* jwa(front): add annotations and VSCode/RStudio image types/config

* jwa(front): add server type toggle to UI

* jwa(front): set annotations in notebook request based on server-type

* jwa(front): add server type column to index page

* review: improve button toggle formatting

* jwa(back): set rstudio-tidyverse image in spawner_ui_config

* review: move rewrite and headers to backend

* review: add logo SVGs and set them in environment*.ts

* review: fix how allowing custom images works

* review: add server type logo to index
2021-03-22 05:09:18 -07:00
Kimonas Sotirchos 9593da2cd3 Initialize the Jupyter web app frontend in crud-web-apps (kubeflow/kubeflow#5332)
* Update the backend

For the frontend to work properly we will need to add the following
changes to jupyter web app's backend as well as to the common backend
code:
* rename the references from `flask_rest_backend` to `crud_backend` in
  the web app's backend code
* add a route for exposing GPU info. This way the UI will block users
  from creating Notebooks with a GPU type that is not installed at all
  in the cluster

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* Update the common frontend library

New functionality added:
* An `Advanced Settings` button that can expand and shrink to
  expose/hide more options in the form
* All validators will have a debounce time to make the input of
  characters smoother
* Extend the Status types to allow start/stopped resources
* Extend the main table config to support a button [ ex CONNECT for
  jupyter web app ]
* The http services should use relative URLs

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* Update the frontend to utilize the common code

The bulk of the new frontend code. The folder structure is changed to
make it more clear what pages are used from the page.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* {Make,Docker}files

Add Makefile and Dockerfiles. Note that GCB build process needs to be
updated.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* README.md

Add a readme that explains how to build the app and have a development
environment.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
2020-10-27 07:45:59 -07:00
Kimonas Sotirchos 5d84874fc4 Refactor the JWA backend to utilize common code (kubeflow/kubeflow#5316)
* WA: Backend common: update the library

Update the common python wheel wrt:
* How to distinguish between dev and prod mode
* Extra routes for handling Notebooks
* Serving the index.html for every non api route (SPA)
* Add a STOPPED state to the possible Status values

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* JWA: Add the refactored backend

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>

* JWA: Backend: Add support for Affinity/Tolerations

* Extend the configuration yaml with default form values for the
  affinity/tolerations
* Set them accordingly when the user submits a notebook

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Reviewed-by: Ilias Katsakioris <elikatsis@arrikto.com>
2020-09-29 02:37:25 -07:00