Commit Graph

6 Commits

Author SHA1 Message Date
Tariq Hasan 4451765b12 chore: update node in crud-web-apps from 12 to 16 (kubeflow/kubeflow#7637)
* upgrade node from 12 to 16

Signed-off-by: tariq-hasan <mmtariquehsn@gmail.com>

* replace cypress with playwright for e2e tests in jupyter

Signed-off-by: tariq-hasan <mmtariquehsn@gmail.com>

* update base image for node

Signed-off-by: tariq-hasan <mmtariquehsn@gmail.com>

* update build scripts for tensorboard

Signed-off-by: tariq-hasan <mmtariquehsn@gmail.com>

* update build scripts for jupyter

Signed-off-by: tariq-hasan <mmtariquehsn@gmail.com>

---------

Signed-off-by: tariq-hasan <mmtariquehsn@gmail.com>
2024-11-26 17:15:52 +00:00
Robert Gildein 5abca012ed feat(crud-web-apps): Add Prometheus metrics (kubeflow/kubeflow#7634)
* Add Prometheus metrics to CRUD backend

Use prometheus_flask_exporter library to add Prometheus metrics to
CRUD backend. With this approach all CRUD backens will be able to
enable metrics.

Signed-off-by: Robert Gildein <gildeinrobert@gmail.com>
Signed-off-by: Robert Gildein <robert.gildein@canonical.com>

* KF-6122 Add short doc about metrics a improve code

Add note to README.md about metrics and link the source code for more
information. Fix small issue and missing dependency for Python < 3.8.

Signed-off-by: Robert Gildein <robert.gildein@canonical.com>

* fix getting backend version from Python < 3.8

Signed-off-by: Robert Gildein <robert.gildein@canonical.com>

* Enable metrics by default and increase backend version to 1.2

Signed-off-by: Robert Gildein <robert.gildein@canonical.com>

* switch to group by rule instead of path

Signed-off-by: Robert Gildein <robert.gildein@canonical.com>

* fix yaml files

Signed-off-by: Robert Gildein <robert.gildein@canonical.com>

---------

Signed-off-by: Robert Gildein <gildeinrobert@gmail.com>
Signed-off-by: Robert Gildein <robert.gildein@canonical.com>
2024-09-05 12:01:15 +00:00
Wendy Gaultier 9f0334174c CRUD web apps: i18n (kubeflow/kubeflow#5880)
* feat(jupyter): add modules for translations

* feat(jupyter): fix path for translations + add GPU translations

* feat(jupyter): add translations

* feat(jupyter): add translations to form-default

* feat(jupyter): add translations to affinity/tolerations

* feat(jupyter): add translations to Image Pull Policy

* feat(jupyter): remove imports from app.module.ts + fix translations

* web-apps(front): add TranslationModule to common for jupyter

* Implement i18n for jupyter frontend
- Including common components needed
- Refactor translation file

* web-apps(front): add i18n to messages from backend
Status tooltip text
Snackbar message

* web-apps(front): volumes and tensorboards i18n ini
Add the i18n feature for the other 2 projects

* feat(volume): add translations for volume

* feat(jupyter): refactor asset file

* Update asset files for all folders

* feat(tensorboards): add i18n
Update all asset files

* cwa: add new translations

* cwa: Add README documentation

* fix: formatting with prettier

* Fix tests

* Fix python format

* remove comment

Co-authored-by: saffaalvi <alvi118@uwindsor.ca>
Co-authored-by: Jose-Matsuda <tongster789@gmail.com>
2021-06-21 07:26:17 -07:00
Kimonas Sotirchos 7badb2b424 web-apps(back): Add CSRF protection mechanisms to the backends (kubeflow/kubeflow#5472)
* web-apps(back): Add CSRF protection to the backend

The server of each crud-web-app will be setting an XSRF-TOKEN cookie to
the frontend. On each unsafe method (POST, PATCH etc) the backend will
check to make sure that the request:
* Contains an XSRF-TOKEN cookie
* Contains an X-XSRF-TOKEN header
* The value of the above values are the same

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

* web-apps(back): Document the CSRF_SAMESITE env var

Add a new table in the README of the common code to include the ENV vars
that a user can set in any web app. In the future we should also extend
the README of every app with the supported ENV vars.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
2020-12-23 08:24:27 -08:00
Kimonas Sotirchos b19054e75b Create an Angular Library with common frontend code (kubeflow/kubeflow#5252)
Create an Angular Library with common frontend code. Our crud web apps
should use this library to share common functionality like:

* Talking to Central Dashboard for the Namespace selection
* Making http calls
* Surfacing and showing error messages and warnings
* Form utilities
* Showing a table with entries and actions

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
2020-08-28 05:14:53 -07:00
Kimonas Sotirchos 1db8a22ca9 Common code between the different python backends (kubeflow/kubeflow#5164)
Create a python module under the kubeflow.kubeflow package that will
be exposing common code and a base app the takes care of:

* Exceptions handling
* Common routes for serving static files and their cache control policy
* Authorization checks with SubjectAccessReview
* Authentication checks on the Kubeflow headers
* Common helper functions for dates, yaml parsing etc
* health/liveness probes

Backends that are written with Python/Flask should use this common code
in order for us to reduce code duplication and have our backends align
with our accepted practices.

Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
2020-08-07 07:30:18 -07:00