You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update common folder (#227)
* Code update Common Folder
* added notebook page (#233)
Co-authored-by: Mathis Marcotte <[email protected]>
* added volume-details-page (#234)
Co-authored-by: Mathis Marcotte <[email protected]>
* Kf1.7 jupyter apis index frontend (#235)
* updated jupyter index files
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* Update jupyter general (#239)
General code in all folders
* Kf1.7 jupyter form update (#236)
* renamed form-default to form-new
* updated form for 1.7
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* Kf1.7 jupyter backend (#228)
* updated get pvcs request
* updated poddefaults return response
* added new jupyter endpoints
* updated access review spec
* added new volume endpoints
* updated readme for thunder client
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* Kf1.7 volume table stuff (#241)
* imported volume components
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* fixes to be able to run jupyter-apis (#242)
* fixes to be able to run jupyter-apis
* index related fixes
* revert change in namespace
* fixed some form issues
* fixed some issues with the details page
* fixed monaco-editor for loading
* hid volumes form
* fixed the custom image checkbox hiding images
* fixed some bugs with the form-image
* revert the form images
* fixed some more issues
* updated go package
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* fixed vulnerabilities (#246)
Co-authored-by: Mathis Marcotte <[email protected]>
* deleted useless packa-lock file
* reverted change to build-angular package version
* Kf1.7 vulnerabilities (#247)
* fixed vulnerabilities for common
* fixed vulnerabilities for jupyter frontend
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* Kf1.7 frontend js tests (#248)
* fixes to be able to run jupyter-apis
* index related fixes
* revert change in namespace
* fixed some form issues
* fixed some issues with the details page
* fixed monaco-editor for loading
* hid volumes form
* fixed the custom image checkbox hiding images
* fixed some bugs with the form-image
* revert the form images
* fixed some more issues
* updated go package
* fixed some of the issues with the js tests
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* fixed bug with declarations
* set docker image to node 16
* Kf1.7 cypress (#249)
* kf1.7 cypress update
* fixed cypress tests
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* fixed semver vulnerability issue
* kf1.7 added new workflows (#250)
* added new workflows
* testing with different triggers
* ran prettier to format
* fixed lint picking up node_modules
* deleted workflow that got replaced
* ran prettier on jupyter
* initial lint fix for jupyter
* write prettier on jupyter
* jupyter lint
* more formatting and linting
* fixed issues
* formatting
---------
Co-authored-by: Mathis Marcotte <[email protected]>
* removed old tslint file
* updated golang version
* updated go version
* updated readme
---------
Co-authored-by: Wendy Gaultier <[email protected]>
Co-authored-by: Mathis Marcotte <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+33-19
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ The front-end is configured to proxy requests to the local API server. It
59
59
requires an environment variable (`KF_USER_ID`) to specify the current user –
60
60
this is passed to the API server as an HTTP header.
61
61
62
-
The following can be pasted in a script and executed. This uses the latest node lts version(v16.16.0).
62
+
The following can be pasted in a script and executed. This uses the latest node lts/gallium version(v16.20.0) with npm v8(8.19.4).
63
63
**NOTE**: `user` is when using vagrant. Use the email adress if it is the dev cluser (please never connect to prod directly)
64
64
65
65
```
@@ -70,12 +70,18 @@ npm link ./dist/kubeflow
70
70
71
71
cd ../../jupyter
72
72
npm i
73
-
npm link kubeflow --legacy-peer-deps
73
+
npm link kubeflow
74
74
KF_USER_ID=user npm start
75
75
```
76
76
77
77
For the kubecost data to be retrievable, the following will need to be executed `kubectl port-forward -n kubecost-system deployment/kubecost-cost-analyzer 9090`
78
78
79
+
### Testing backend Rest API
80
+
81
+
To test the backend, install the [Thunder Client extension](https://marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client). After being installed, it should appear in the vs code sidebar (it might require a restart first).
82
+
First thing is to make sure that the backend is running. Then, open Thunder Client from the vs code sidebar. You should be able to see multiple requests that can be made against the backend under the "Collections" tab, in the "Golang kubeflow" dropdown. From there, just select a request and hit "Send".
83
+
Some requests require certain parameters to have values. Those can be filled up under the "Env" tab.
84
+
79
85
### Running intergration tests
80
86
81
87
We use [Cypress](https://www.cypress.io/) to make our end-to-end tests.
@@ -147,26 +153,34 @@ Any push to an open PR that has the auto-deploy label on it allows developers to
147
153
148
154
Routes are defined in this repository [here](./main.go).
149
155
150
-
[Upstream](https://github.com/kubeflow/kubeflow/tree/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes), the endpoints are structures via request type (e.g. `GET`, `PUT`, `DELETE`).
156
+
[Upstream](https://github.com/kubeflow/kubeflow/tree/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes), the endpoints are structures via request type (e.g. `GET`, `PUT`, `DELETE`).
151
157
152
158
_Note_
153
159
154
160
-_that not all endpoints are included in the golang implementation_
155
-
-_to find the upstream endpoint, load the [Upstream](https://github.com/kubeflow/kubeflow/tree/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes)
161
+
-_to find the upstream endpoint, load the [Upstream](https://github.com/kubeflow/kubeflow/tree/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes)
| GET | /api/config |[/api/config](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L9)||
161
-
| GET | /api/gpus |[/api/gpus](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L52)||
162
-
| GET | /api/storageclasses/default |[/api/storageclasses/default](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/common/backend/kubeflow/kubeflow/crud_backend/routes/get.py#L26)||
163
-
| GET | /api/namespaces/{namespace}/cost/allocation | Not found | Get the kubecost Allocation API |
164
-
| GET | /api/namespaces |[/api/namespaces](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/common/backend/kubeflow/kubeflow/crud_backend/routes/get.py#L10)| Get the list of namespaces |
165
-
| GET | /api/namespaces/{namespace} | Not found | Get namespace metadata |
166
-
| GET | /api/namespaces/{namespace}/notebooks |[/api/namespaces/\<namespace\>/notebooks](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L44)| Get the list of notebooks |
167
-
| POST | /api/namespaces/{namespace}/notebooks |[/api/namespaces/\<namespace\>/notebooks](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/default/routes/post.py#L11)| Create a notebook |
168
-
| DELETE | /api/namespaces/{namespace}/notebooks/{notebook} |[/api/namespaces/\<namespace\>/notebooks/<notebook>](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/delete.py#L9)| Update a notebook |
169
-
| PATCH | /api/namespaces/{namespace}/notebooks/{notebook} |[/api/namespaces/\<namespace\>/notebooks/<notebook](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/patch.py#L19)| Delete a notebook |
170
-
| GET | /api/namespaces/{namespace}/pvcs |[/api/namespaces/\<namespace\>/pvc](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L15)| List `PVC`s |
171
-
| DELETE | /api/namespaces/{namespace}/pvcs/{pvc} |[/api/namespaces/\<namespace\>/pvcs/<pvc>](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/volumes/backend/apps/default/routes/delete.py#L11)| Delete a `PVC`|
172
-
| GET | /api/namespaces/{namespace}/poddefaults |[/api/namespaces/\<namespace\>/poddefaults](https://github.com/kubeflow/kubeflow/blob/v1.6.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L25)| Get `PodDefault`s for a given namespace |
| GET | /api/config |[/api/config](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L13)| Gets the spawner_ui_config.yaml |
167
+
| GET | /api/gpus |[/api/gpus](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L101)| Reads the GPU vendors from the spawner config |
168
+
| GET | /api/storageclasses |[/api/storageclasses](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/common/backend/kubeflow/kubeflow/crud_backend/routes/get.py#L18)| list all storageclasses |
169
+
| GET | /api/storageclasses/default |[/api/storageclasses/default](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/common/backend/kubeflow/kubeflow/crud_backend/routes/get.py#L26)| gets the storage class with the `is-default-class` annotation |
170
+
| GET | /api/namespaces/{namespace}/cost/allocation | Not found | Get the kubecost Allocation API |
171
+
| GET | /api/namespaces |[/api/namespaces](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/common/backend/kubeflow/kubeflow/crud_backend/routes/get.py#L10)| Get the list of namespaces |
172
+
| GET | /api/namespaces/{namespace} | Not found | Get namespace metadata |
173
+
| GET | /api/namespaces/{namespace}/notebooks |[/api/namespaces/\<namespace\>/notebooks](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L52)| Get the list of notebooks |
174
+
| POST | /api/namespaces/{namespace}/notebooks |[/api/namespaces/\<namespace\>/notebooks](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/default/routes/post.py#L11)| Create a notebook |
175
+
| GET | /api/namespaces/{namespace}/notebooks/{notebook} |[/api/namespaces/\<namespace\>/notebooks/\<name\>](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L59)| Get a notebook |
176
+
| GET | /api/namespaces/{namespace}/notebooks/{notebook}/pod |[/api/namespaces/\<namespace\>/notebooks/\<notebook_name\>/pod](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L64)| Gets pod of notebook |
177
+
| GET | /api/namespaces/{namespace}/notebooks/{notebook}/pod/{pod_name}/logs |[/api/namespaces/\<namespace\>/notebooks/\<notebook_name\>/pod/\<pod_name\>/logs](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L81)| Gets logs of pod of notebook |
178
+
| GET | /api/namespaces/{namespace}/notebooks/{notebook}/events |[/api/namespaces/\<namespace\>/notebooks/\<notebook_name\>/events](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L90)| Gets events of notebook |
179
+
| DELETE | /api/namespaces/{namespace}/notebooks/{notebook} |[/api/namespaces/\<namespace\>/notebooks/\<notebook\>](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/delete.py#L9)| Delete a notebook |
180
+
| PATCH | /api/namespaces/{namespace}/notebooks/{notebook} |[/api/namespaces/\<namespace\>/notebooks/\<notebook\>](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/patch.py#L19)| Update a notebook |
181
+
| GET | /api/namespaces/{namespace}/pvcs |[/api/namespaces/\<namespace\>/pvcs](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/volumes/backend/apps/default/routes/get.py#L9)| List `PVC`s |
182
+
| GET | /api/namespaces/{namespace}/pvcs/{pvc} |[/api/namespaces/\<namespace\>/pvcs/\<pvc_name\>](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/volumes/backend/apps/default/routes/get.py#L19)| Gets a `PVC`|
183
+
| DELETE | /api/namespaces/{namespace}/pvcs/{pvc} |[/api/namespaces/\<namespace\>/pvcs/\<pvc\>](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/volumes/backend/apps/default/routes/delete.py#L11)| Delete a `PVC`|
184
+
| GET | /api/namespaces/{namespace}/pvcs/{pvc}/pods |[/api/namespaces/\<namespace\>/pvcs/\<pvc_name\>/pods](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/volumes/backend/apps/default/routes/get.py#L25)| Gets pods of a `PVC`|
185
+
| GET | /api/namespaces/{namespace}/pvcs/{pvc}/events |[/api/namespaces/\<namespace\>/pvcs/\<pvc_name\>/events](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/volumes/backend/apps/default/routes/get.py#L32)| Gets events of a `PVC`|
186
+
| GET | /api/namespaces/{namespace}/poddefaults |[/api/namespaces/\<namespace\>/poddefaults](https://github.com/kubeflow/kubeflow/blob/v1.7.0/components/crud-web-apps/jupyter/backend/apps/common/routes/get.py#L29)| Get `PodDefault`s for a given namespace |
0 commit comments