Commit Graph

13 Commits

Author SHA1 Message Date
James Liu 83d7e719d0
fix(frontend): Introduce ALLOWED_ARTIFACT_DOMAIN_REGEX flag to prevent accessing undesired domains. Remove user input string from server response. (#9844)
* fix(frontend): Introduce ALLOWED_ARTIFACT_DOMAIN_REGEX flag to prevent accessing undesired domains. Remove user input string from server response.

1. Remove user query parameter string from server response.
2. Introduce ALLOWED_ARTIFACT_DOMAIN_REGEX to allow configuration of allowed domains querying.
3. By default, ALLOWED_ARTIFACT_DOMAIN_REGEX is match all. Default configuration is meant to be demo purpose and not for production.
4. Users can provide ALLOWED_ARTIFACT_DOMAIN_REGEX environment variable to restrict object storage endpoint querying domains.

* add test
2023-08-11 18:44:33 +00:00
ryansteakley 9b9b3ace01
feat(frontend): Implement aws-js-sdk crendentials to support IRSA for s3 (#8651)
* use aws js sdk for credentials concerning aws

* format code

* catch exception if no credentials are found after using credentialchain

* revert changes and add section for specific aws changes

* revert deleting aws-helper mock

* add privatelink test for isS3endpiont

* fix try block
2023-01-25 19:32:05 +00:00
Alexey Volkov cc83e1089b
Assigned copyright to the project authors (#5587) 2021-05-05 13:53:22 +08:00
Yuan (Bob) Gong e3992faf83
feat(frontend): UX change to support downloading directory artifacts. Fixes #3667 (#4696)
* feat(frontend): change artifact link to download without extracting. Fixes #3667

* update artifact preview UX

* Fix tests

* add frontend unit tests

* fix

* move artifact integration tests to its own file

* fixed flaky aws-helper test

* refactor and add ui server integration tests

* Update UX according to feedback

* update snapshots

* Update minio-helper.ts

* update
2020-11-03 05:36:15 -08:00
haibingzhao 7f77e8bc7f
feat(frontend): support tensorboard viewer and other visualize Results using volume mount path. Part of #4208 (#4236)
* support local file storage type for local volume mount path, refer: https://github.com/kubeflow/pipelines/issues/4208

* add todo comment to support directory and filePath include wildcards '*', detail refer: https://github.com/kubeflow/pipelines/issues/4208

* revert old code indent

* run 'npm run format' to format code

* support tensorboard viewer and other visualize Results using volume mount path, modify 'file' schema to 'volume':

1. source schema: volume://volume-name/relative/path/from/volume/xxx.csv
2. for tensorboard(also support Series1:volume://volume-name/path_to_model_dir_1,Series2:volume://volume-name/path_to_model_dir_2):
* check volume-name was specified in podTemplateSpec( which was inject by VIEWER_TENSORBOARD_POD_TEMPLATE_SPEC_PATH env)
* check /relative/path/from/volume/xxx file path was prefix-mounted in podTemplateSpec
3. for others:
* check volume-name was specified at ml-pipeline-ui pod
* check /relative/path/from/volume/xxx.csv file path exist

* fix test and add more tests

* change error message not found to not exist.

* fix tensorboard create test

* combining volume mount path and key as artifacts path

* extra complex code to a function and add more test

* use ml-pipeline-ui container name to find server container instead of use containers[0]

* fix review suggestion: https://github.com/kubeflow/pipelines/pull/4236

* format code

* extract how to find file path on a pod volume to a common function, and optimize error message

* fix k8s-helper.test error

* add more documentation and fix mistake: volumeMountPath to filePathInVolume

* fix test error

* Update k8s-helper.test.ts

* format error message

Co-authored-by: Yuan (Bob) Gong <gongyuan94@gmail.com>
2020-08-06 01:06:55 -07:00
Yuan (Bob) Gong c7300c343c
fix: all big enough ui proxy requests fail with error proxying with partial data (#4266)
* fix: all big enough ui proxy requests fail with error proxying with partial data

* Fix naming
2020-07-23 21:16:22 -07:00
Yuan (Bob) Gong cb71eed5f9
[UI] authorize tensorboard actions (#3639)
* Authorization service proto

* implement auth service

* Add unit tests

* Generate auth api client

* Authorization checks for tensorboard apis

* UI Server authorization checks

* Clean up error parsing

* Revert changes

* Fix portable-fetch not found bug

* Fix unit test

* Include portable-fetch required by api client

* Fix portable-fetch module import error

* Fix portable-fetch again

* Add unit tests

* Address CR comments

* add unit test for header

* Update readme
2020-04-28 15:26:24 -07:00
Yuan (Bob) Gong b7706c0134
[UI Server] Enable strict type checking and fix errors (#3593)
* wip

* Fix typing

* Fix build error

* Add type checking to tests

* Fix server typing

* Clean up

* Fix server typing
2020-04-23 09:25:11 -07:00
Yuan (Bob) Gong 09b506fc1a
[UI] Multi user permission separation for artifact api (#3522)
* [UI Server] Proxy /namespaces/:namespace/artifacts/get requests to namespace specific artifact services

* [UI] Show artifacts by namespace

* Fix minio artifact link tests

* Fix DetailsTable tests

* Fix OutputArtifactLoader.test

* Change artifact proxy to use query param instead

* Add integration tests for artifact proxy

* Fix unit tests

* Rename service name

* Add comment

* add more comments

* Fix import

* Refactored how to spy on internal methods from tests
2020-04-22 22:31:45 -07:00
Eterna2 a7606a12de
kfp UI node server support preview and handles gzip, tarball, and raw artifacts in a consistent manner. (#2992) 2020-03-23 22:30:47 -07:00
Yuan (Bob) Gong fc13417362
[UI] Better logging in UI server (#3197) 2020-03-02 20:49:37 -08:00
Yuan (Bob) Gong 7e19d7fa6c [UI] fix artifact handler query parameter key (#2809)
* Fix node server typing problems

* Fix artifact handler query name
2020-01-07 19:53:40 -08:00
Eterna2 2ec2fd23c5 [Frontend] unit tests for node server (#2745)
* Add unit tests for aws-helper and minio-helper.

* Break up server.ts into app.ts and handlers/*.ts so that unit test can be written more easily.

* update @types/node because of https://github.com/microsoft/TypeScript/issues/32333

* upgrade kubernete-client version to be compatible with new @types/node version

* fix bug: AWSInstanceProfileCredentials.profile() returns a promise not a string

* remove I prefix from interfaces. minor fixes on lint errors.

* fix format errors

* Added more unit tests, and minor fixes.

* Fix comment: GKS should be GKE

* use jest.resetAllMocks instead of reset each mock individually

* fix format for helper test
2020-01-05 20:43:40 -08:00