* WorkflowParser->loadNodeOutputPaths
source: s3.endpoint === 's3.amazonaws.com' ? StorageService.S3 : StorageService.MINIO
* Use isS3Endpoint (server/aws-helper.ts) to identify artifact source
* npm run format
* created src/lib/AwsHelper.ts (for frontend code), because frontend client and frontend server do not share code for now.
* 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
* Retrieve pod logs from argo archive
* Added aws instance profile iam credential support for minio client. Read workflow status for argo archive location for pod logs.
* fix minor typo, and enforce typing for minio client options
* Update helm chart for pipelines ui role with permission to access secret and workflow crd
* remove unnecessary type cast
* Fix bug: s3client should be a callable, so that iam token is refreshed