Update manifests for volumes-web-app-cluster-role to be able to list
notebooks in kubeflow.org.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix tests symLinks to Kubeflow common code
Add field preserveSymLinks in angular.json in order to link to
Kubeflow common library during tests.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix unit tests failing
Fix unit tests failing for the following components: app, index,
index-default, index-rok, form-default, form-rok
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add delete button to Volume details page
In this commit:
- Add button for Delete action.
- Create Actions Service to handle delete action and implement it in
all components that use it.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(back): Get a PVC's events
Add logic in the backend to fetch the events of a PVC.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add EVENTS tab to Volume details page
Add Events tab to show the available events of the pvc in the form
of a table, in order to help a user with debugging the pvc.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): fix linting errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Rename form-default component
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Create missing module files
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Remove form-rok and form components
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Update JWA's @angular/common package
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Modify rok-url component
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Add Rok URL message
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Update VWA's @angular/common package
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Remove the headers request
Remove the headers request since the common code implements it.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Fix JWA's unit tests
Fix JWA's unit tests.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* gh-actions: Add GH action to run JWA unit tests
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(build): Update Dockerfile
Update Dockerfile to not build Rok.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
Add tab to show the full YAML both from the Notebook and from its
underlying pod, when there is one.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(back): Get a single PVC and the pods using it
Add logic in the backend to fetch a single PVC and the pods using
it.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Create Volume details page with OVERVIEW tab
Create OVERVIEW tab to show key information about the PVC.
* vwa(front): Format files
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Create a .gitignore file to ignore web-apps-dev files generated
during the virtual env creation.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(back): Get a notebook's events
- Add logic in the backend to fetch the events of a notebook.
- Fix the authorization parameters in the get_notebook_events
function.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add EVENTS tab to Notebook details page
Add Events tab to show the available events of the notebook in the
form of a table, in order to help a user with debugging the
notebook.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(back): Get a notebook's logs
Add logic in the backend to fetch the logs of a notebook's
underlying pod.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add LOGS tab to Notebook details page
- Create Logs tab to show the logs of the notebook's underlying
pod.
- Create Logs Viewer component in Kubeflow common library exactly
like the one we have in MWA.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
As part of the effort for the new Notebook details page in JWA, update
the manifests for jwa's cluster role in order to list resources pods and
get pods/log.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Support all-namespaces
The VWA will now be able to work with the "All namespaces" option of
the CentralDashboard.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* twa(front): Support all-namespaces
The TWA will now be able to work with the "All namespaces" option of
the CentralDashboard.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Add cypress attributes
Add more attributes for elements to be selectable when running e2e
tests.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(e2e): Add e2e tests for all-namespaces
Add a new e2e test that checks if the Namespaces column is shown
when selecting all-namespaces.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* dashboard: Allow all-namespaces for vwa/twa
The dashboard will be allowing the VWA and TWA to work with
all-namespaces, now that we added this functionality.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(back): Get a single notebook and its pod
In this commit:
- Add logic in the backend to fetch a single notebook and its
underlying pod.
- Make list_pods function in Kubeflow common code to accept a
label_selector parameter and use it to filter out results when
available.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Create Notebook details page with OVERVIEW tab
In this commit:
- Create OVERVIEW tab to show key information about the notebook
and its underlying pod.
- Create Content List Item component in Kubeflow commonn library to
be able to encapsulate any content/component in the form of a
list item.
- Create Variables Group component in Kubeflow common library to
show groups of variables in the form of chips.
- Small UI tweak in Details list Item component from Kubeflow
common library in order to stop chips from overlapping with each
other.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* Fix linting errors
* Include Kubeflow common library's new package-lock.json
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Replace pod conditions with notebook status conditions
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(back): Backend fetch pods fix
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Import new Editor component from Kubeflow Common Library and replace
all instances of previous Ace Editor.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Import @types/lodash package
Import @types/lodash package to support type definitions.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Changes needed for trials table
In this commit:
- Adjust filtering tooltip to expose info only for the existing
columns.
- Extend table component to be able to highlight a row.
- Fix autocomplete dropdown bug.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* kind: Introduce config file for 1.25
* Add a new KinD configuration file for testing with K8s 1.25.3
* Install kind v0.17.0 for testing with K8s 1.25.3
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* gh-actions: Use 1.25 for testing
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* testing: Install Istio 1.16 for testing
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Test commit for enabling the tests
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* notebook-controller: Fix Makefile
Remove the test rule as a prerequisite for running docker-build
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* jwa(front): Upgrade @angular/material package (kubeflow/kubeflow#6462)
* Upgrade @angular/material package to align the mat-chip x button.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Upgrade @angular/material package (kubeflow/kubeflow#6462)
* Upgrade @angular/material package to align the mat-chip x button.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Upgrade @angular/material package (kubeflow/kubeflow#6462)
* Upgrade @angular/material package to align the mat-chip x button.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Add filtering functionality in WAs (kubeflow/kubeflow#6462)
* Add filtering functionality in the common table component.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Differentiate type property (kubeflow/kubeflow#6462)
* Differentiate type property from other ComponentValue properties.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* updated base images in Volume Web component for multiple arch
* updated base images in Tensorboard Web component for multiple arch
* updated base images in Jupyter Web component for multiple arch
* updated admission webhook component for multiple arch
* removed goarch depedency for multiarch building
* removed goarch depedency for multiarch building in admission webhook component
* removed goarch depedency & added powerPC case for multiarch building in access-management component
* removed goarch depedency for multiarch building in tensorboard controller
* removed goarch depedency for multiarch building in notebook Controller
* Removing empty computation to resolve future build issues
* vwa(front): Enable sorting in VWA (kubeflow/kubeflow#6460)
* Enable sorting functionality in VWA.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Enable sorting in TWA (kubeflow/kubeflow#6460)
* Enable sorting functionality in TWA.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Fix unit tests
* Fix unit tests.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Add sorting in common code (kubeflow/kubeflow#6460)
* Add sorting functionality in the common code.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Enable sorting in JWA (kubeflow/kubeflow#6460)
* Enable sorting functionality in JWA.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* wa(front): Use es2019 to have .flat()
Add es2019 to the tsconfig.compilerOptions.lib array in order for the
tslint linter to not complain about the use of flat().
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): all-namespaces requests helper
Add a helper function in the backend.service that can take care of
creating the observable that will make requests for all namespaces.
Refs arrikto/dev#1529
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Disable toolbar + button on all-namespaces
Add helper methods to toolbar buttons to disable/enable them and add a
tooltip if the user selected all-namespaces.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Common logic for dynamic ns column
We want to show a `namespace` column when the user selects
all-namespaces, to make it easier to identify the different objects.
To not replicate the logic of adding and removing a column if all
namespaces was selected we moved this logic in the common table
component.
We also add an option to the component's config to disable/enable this
behavior.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(front): Utilize common code for all-namespaces
Update the JWA's code to work with the common code introduced to
supporting all-namespaces. This includes changes for:
* The Namespace column in the main table
* Helpers for performing requests in all namespaces
* Dynamically enabling/disabling the `+ new` button
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* frontend: Update the linting GH Action
Ensure we run `ng lint` to check if the code is properly linted.
Previously we just did `ng lint --fix` which would try to fix the code,
and not complain about it. But this means that we don't actually check
if the code is linted.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Fix linting issues in common code
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* gh-actions: Lint apps in parallel
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* web-apps(front): Introduce new Editor component
Create new Editor component as part of the Kubeflow Common Library, that
wraps and integrates Monaco Editor as an AMD module.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Add unit tests for Editor component
Add unit tests for the Editor component's loadability and
functionality
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* Fix Editor-related linting errors
- Add const prvEditor in tests
- Ignore monaco.ts interface file in ESLint
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Create Logs Viewer component in Kubeflow common library similar to the
one we use in MWA.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Use ng serve for local dev
Add proxy rules to connect the webpack dev server with the backend
* twa(front): Use ng serve for local dev
Refs arrikto/dev#1597
* vwa(back): Fix the install-deps make rule
Use the new common code path when installing the common packages.
* wa(front): Disable Angular analytics
Edit the angular.json file of all our frontend components to not send
Angular analytics. This way we won't be seeing a y/N input each time we
try to build the frontend, which could also block a CI/CD system.
* wa(front): Add exponential-backoff service
Create an Angular Service that handles the polling. Specifically the
polling function has as input an observable responsible for fetching the
data. It will return a final observable, which will be using the
fetch-observable, that will only be emitting the final data.
This service will take care of:
1. Checking if the new data is new and reset the polling
2. Cancelling in-flight requests, if someone terminates the subscription
* vwa(front): Use the new Polling Service
The frontend code of VWA will now be using the new Poller Service which
has a pure RxJS implementation underneath. This will make it simpler to
cancel in-flight requests and also moves the reset logic into the common
code.
* jwa(front): Use the new Polling Service
The frontend code of JWA will now be using the new Poller Service which
has a pure RxJS implementation underneath. This will make it simpler to
cancel in-flight requests and also moves the reset logic into the common
code.
* twa(front): Use the new Polling Service
The frontend code of TWA will now be using the new Poller Service which
has a pure RxJS implementation underneath. This will make it simpler to
cancel in-flight requests and also moves the reset logic into the common
code.