Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MD] Add encrypt/decrypt module on data source plugin #2120

Conversation

noCharger
Copy link
Contributor

@noCharger noCharger commented Aug 9, 2022

Signed-off-by: Louis Chu [email protected]

Description

Add encrypt/decrypt module on data source plugin

Issues Resolved

  1. [MD]Refactor server side router with SavedObjectsClientWrapperFactory #1850
  2. [MD] Implement Encrypt / Decrypt module #2081

Check List

  • New functionality includes testing.
    • All tests pass
      • yarn test:jest
  • New functionality has been documented.
  • Commits are signed per the DCO using --signoff

wrappingKeyName: schema.string({
minLength: 1,
maxLength: 100,
defaultValue: 'wrappingKeyName',
Copy link
Member

@seraphjiang seraphjiang Aug 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why use this for default value?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why use this for default value?

the default value is provided for simplify the configuration, but we can also remove it

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we use changeme? I think we used to use changeme as default OSD server password to hint admins to replace it

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

meanwhile, WRAPPING_KEY_SIZE is 32, will this default value for with 32 byte key size?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok with default value, but could we come up better value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

meanwhile, WRAPPING_KEY_SIZE is 32, will this default value for with 32 byte key size?

I'm not sure I understand the last part, but I believe the question is whether the value here means setting the default size. It's config validation, which means that if the size of the config file is less than 32, it will throw an error. And it must be 32, as defined by the encryption algorithm for key wrapping. The generated data key is not 32 bytes in length.

@codecov-commenter
Copy link

codecov-commenter commented Aug 10, 2022

Codecov Report

Merging #2120 (4d420a2) into feature/multi-datasource (456b5c7) will decrease coverage by 0.00%.
The diff coverage is 40.00%.

❗ Current head 4d420a2 differs from pull request most recent head 092493d. Consider uploading reports for the commit 092493d to get more accurate results

@@                     Coverage Diff                      @@
##           feature/multi-datasource    #2120      +/-   ##
============================================================
- Coverage                     67.47%   67.47%   -0.01%     
============================================================
  Files                          3080     3081       +1     
  Lines                         59246    59261      +15     
  Branches                       9010     9011       +1     
============================================================
+ Hits                          39977    39985       +8     
- Misses                        17080    17087       +7     
  Partials                       2189     2189              
Impacted Files Coverage Δ
..._source/server/cryptography/cryptography_client.ts 40.00% <40.00%> (ø)
...ic/application/models/sense_editor/sense_editor.ts 64.88% <0.00%> (+0.88%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@noCharger
Copy link
Contributor Author

@joedimarzio Feel free to drop comments!

@noCharger noCharger added the multiple datasource multiple datasource project label Aug 10, 2022
@noCharger noCharger changed the title Add encrypt/decrypt module on data source plugin [MD] Add encrypt/decrypt module on data source plugin Aug 10, 2022
@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch 3 times, most recently from 4d420a2 to b7376ef Compare August 10, 2022 21:20
@noCharger noCharger marked this pull request as ready for review August 10, 2022 21:21
@noCharger noCharger requested a review from a team as a code owner August 10, 2022 21:21
@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch 2 times, most recently from 092493d to da2f689 Compare August 10, 2022 22:14
wrappingKeyName: schema.string({
minLength: 1,
maxLength: 100,
defaultValue: 'wrappingKeyName',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we use changeme? I think we used to use changeme as default OSD server password to hint admins to replace it

wrappingKeyName: schema.string({
minLength: 1,
maxLength: 100,
defaultValue: 'wrappingKeyName',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

meanwhile, WRAPPING_KEY_SIZE is 32, will this default value for with 32 byte key size?

src/plugins/data_source/server/plugin.ts Outdated Show resolved Hide resolved
src/plugins/data_source/server/plugin.ts Outdated Show resolved Hide resolved
Comment on lines 196 to 146
private validateType(type: string) {
if (this._type !== type) {
throw SavedObjectsErrorHelpers.createUnsupportedTypeError(type);
}
return;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why throw error ? if you throw error here, the saved object won't be stored, thus you cause error for all saved objects except credentials

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. Will only validate on credential type and call default contract otherwise. I didn't intend to support encryption for all types using the factory pattern because deciding which fields to encrypt is not scalable. Open to more ideas.

Comment on lines 61 to 63
if (this._noAuthType === credentialMaterials.credentialMaterialsType) {
return await wrapperOptions.client.create(type, attributes, options);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to set username and password to undefined before saving

Copy link
Contributor Author

@noCharger noCharger Aug 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to set username and password to undefined before saving

The Saved object update API currently only accepts partial attributes as input. Dropping the field or marking it as undefined will be ignored, and the existing field will remain unchanged.

TODO: Provide another update API to drop the field #2124

  private dropCredentialMaterialsContent<T = unknown>(credentialMaterials: T) {
    return {
      credentialMaterialsType: credentialMaterials.credentialMaterialsType,
      /**
       * The Saved object update API currently only accepts partial attributes as input.
       * Dropping the field or marking it as undefined will be ignored, and the existing field will remain unchanged.
       * TODO: Provide another update API to drop the field  https://github.com/opensearch-project/OpenSearch-Dashboards/issues/2124
       */
      credentialMaterialsContent: {
        username: '',
        password: '',
      },
    };
  }

@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch from da2f689 to d2ff324 Compare August 11, 2022 07:13
Comment on lines +104 to +106
globals: {
Uint8Array: Uint8Array,
},
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are multiple places in the AWS Encryption SDK that dataKey / plainText is buffer but recognized as object instead of uint8array during jest test case running

function unwrapDataKey(dataKey) {
    if (dataKey instanceof Uint8Array)
        return dataKey;
    if (exports.supportsKeyObject && dataKey instanceof exports.supportsKeyObject.KeyObject)
        return dataKey.export();
    throw new Error('Unsupported dataKey type');
}

found an known issue - jestjs/jest#4422

Using this solution helped

jestjs/jest#4422 (comment)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will it impact other test execution?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think so. It's considered a bug in the Jest framework from the issue above. Also, I ran 'yarn test:jest' on local, and it appears that nothing was broken.

@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch 2 times, most recently from 7dcc39e to eba7403 Compare August 11, 2022 09:02
@noCharger noCharger requested a review from a team August 11, 2022 09:08
@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch from eba7403 to 1b6519c Compare August 11, 2022 17:47
Comment on lines 34 to 36
wrappingKeyName,
wrappingKeyNamespace,
wrappingKey,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Np: maybe just pass in one config object as a whole, and parse the config items you need in the crypto related module. Since non of those configs are used else where, in this plugin.ts

src/plugins/data_source/common/credentials/types.ts Outdated Show resolved Hide resolved
Comment on lines +104 to +106
globals: {
Uint8Array: Uint8Array,
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will it impact other test execution?

*/
export class CredentialSavedObjectsClientWrapper {
private type: string = 'credential';
private authType: Credential.SharedAuthType = 'shared';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is shared auth type?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As previously discussed, credentials can have different authTypes (Shared / Private / etc.). We will only support shared for current release and will explicitly notify customers that this credential is shared for everyone.

Copy link
Member

@kgcreative kgcreative Aug 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would Credential.AuthType = 'shared | private | etc' make more sense and be more long-term sustainable here? (as opposed to SharedAuthType, which feels a bit redundant)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would Credential.AuthType = 'shared | private | etc' make more sense and be more long-term sustainable here? (as opposed to SharedAuthType, which feels a bit redundant)

use enum instead


const { credentialMaterials } = attributes;

if (this.noAuthType === credentialMaterials.credentialMaterialsType) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to think a bit more about no auth type, e.g. in case of user choose to use no auth type for a data source, shall we link the data source with a credential which doesn't have any actual credential? or we do not need to let data source to refer to a credential. If we go with the second route, we may have an auth type, or auth/noauth flag in data source

Copy link
Contributor Author

@noCharger noCharger Aug 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we started this conversation with @KrooshalUX. From an engineering standpoint, adding withAuth flag to the data source makes more sense for single responsibility. Will update the logic for credential side.

Comment on lines 143 to 159
if (this.noAuthType === credentialMaterials.credentialMaterialsType) {
const noAuthAttributes: Partial<T> = {
...attributes,
credentialMaterials: this.dropCredentialMaterialsContent(credentialMaterials),
};
return await wrapperOptions.client.update(type, id, noAuthAttributes, options);
}

if (this.usernamePasswordType === credentialMaterials.credentialMaterialsType) {
const encryptedAttributes: Partial<T> = {
...attributes,
credentialMaterials: await this.validateAndEncryptCredentialMaterials(
credentialMaterials
),
};
return await wrapperOptions.client.update(type, id, encryptedAttributes, options);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems this similar code is being used in create/bulkCreate/update/bulkCreate can we move this to separate functions?

Copy link
Contributor Author

@noCharger noCharger Aug 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

refactored

@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch 2 times, most recently from da88ccf to 33f0c82 Compare August 12, 2022 17:29
Comment on lines 12 to 14
export enum AuthType {
SharedAuthType = 'shared',
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's remove this for now, and add it when we implement private/shared credential

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

Comment on lines 35 to 39
if (wrappingKey === null) {
const wrappingKeyMissingMsg =
'Missing wrappingKey: Wrapping key shoule be 32 bytes number[], as used in envelope encryption';
throw new Error(wrappingKeyMissingMsg);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's add a default value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@noCharger noCharger force-pushed the feature/crypto-service-louis-dev branch from 33f0c82 to 5c2ca84 Compare August 12, 2022 18:34
@noCharger noCharger merged commit d9c7d36 into opensearch-project:feature/multi-datasource Aug 12, 2022
kristenTian pushed a commit to kristenTian/OpenSearch-Dashboards that referenced this pull request Sep 12, 2022
…2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer
kristenTian pushed a commit to kristenTian/OpenSearch-Dashboards that referenced this pull request Sep 14, 2022
…2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer
kristenTian pushed a commit to kristenTian/OpenSearch-Dashboards that referenced this pull request Sep 14, 2022
…2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer

Signed-off-by: Kristen Tian <[email protected]>
kristenTian pushed a commit to kristenTian/OpenSearch-Dashboards that referenced this pull request Sep 15, 2022
…2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer

Signed-off-by: Kristen Tian <[email protected]>
kristenTian added a commit that referenced this pull request Sep 19, 2022
* Instantiate credential management plugin code structure (#1996)

Signed-off-by: Kristen Tian <[email protected]>

* Data source inside stack management setup (#2017) (#2030)

Signed-off-by: Kristen Tian <[email protected]>

* enable CI for feature branch (#2010)

Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add empty data source plugin (#2052)

Adds empty data source plugin.

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Add initial credential management CRUD pages (#2040)

* Add credential management CRUD pages

1. List all credentials
2. Create your saved credential
3. Edit your credential
4. Delete credentials

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Register Data source to savedObject & Update license header (#2037)

Signed-off-by: Kristen Tian <[email protected]>

* Move credential saved object to data source plugin (#2062)

Signed-off-by: Louis Chu <[email protected]>

Move credential saved object to data source plugin
Resolve follow up comments on UI

Signed-off-by: Kristen Tian <[email protected]>

* breadcrumbfix for datasource management (#2066)

* breadcrumbfix for datasource management

Signed-off-by: mpabba3003 <[email protected]>

* breadcrumbfix for datasource management - refactoring code

Signed-off-by: mpabba3003 <[email protected]>

* using services to update breadcrumb on data sources management page

Signed-off-by: mpabba3003 <[email protected]>

* Changing the license header on breadcrumbs.ts datasource management

Signed-off-by: Kristen Tian <[email protected]>

* Fix breadcrumb on listing page and update saved object mapping (#2069)

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add data source step into IndexPattern with Mock switch (#2064) (#2086)

Signed-off-by: Kristen Tian <[email protected]>

* Add delete button for credential detailed page (#2067)

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Link datasource to indexpattern (#2118)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Add encrypt/decrypt module on data source plugin (#2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer

Signed-off-by: Kristen Tian <[email protected]>

* Integrate index pattern with new data client (#2146)

Signed-off-by: Kristen Tian <[email protected]>

* Add noAuth to dataSource attributes (#2154)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource Management - creation & listing - UI only (#2128)

* data source management - creation & Listing UI only

* data source management - creation & Listing UI only

* Create/edit data source feature

* toggling default value

* refactoring code as per review comments

* toggling server flag to false

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Apply dataSource plugin as dependent for cm and dsm plugins (#2150)

Signed-off-by: Louis Chu <[email protected]>

Apply dataSource plugin as dependent for cm and dsm plugins (#2150)

Signed-off-by: Kristen Tian <[email protected]>

* Leverage datasource enablement in index pattern management

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Add client management module and register `getClient()` to route handler context (#2121)

* Add client management module and register `getClient()` interface to route handler context
Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Make step info in index pattern creation dynamic (#2164)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Refactor for credential listing page & add loading effect (#2142)

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Integration sequal - replace data client placeholders (#2167)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Integrate with crypto module to decrpt password (#2170)

Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] noAuth integration, credential & endpoint validation (#2165)

* noAuth integration, credential & endpoint validation

Signed-off-by: mpabba3003 <[email protected]>

* Refactoring validation message

Signed-off-by: mpabba3003 <[email protected]>

* Adding back accidentally deleted file home/tutorials/haproxy_metrics/index.ts

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Refactor search strategy to conditionally user datasource client (#2171)

Signed-off-by: Kristen Tian <[email protected]>

* adding relation between credential selection and no auth checkbox (#2175)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Update getIndicesViaSearch with datasource (#2176)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Add null header to child client spawn (#2188)

Signed-off-by: Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD][IP]Update button position & Add UT & Add skip option (#2195)

* Add UT - index pattern related

Signed-off-by: Kristen Tian <[email protected]>

* Update button position

Signed-off-by: Kristen Tian <[email protected]>

* Add skip option to allow use default os data source

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD]Refactor layout and validate input fields for listing and create pages (#2202)

Signed-off-by: Louis Chu <[email protected]>

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Enable datasource link in saveObjectManagement (#2209)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Update configure data source per UX input (#2235)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Enable data source audit log to file (#2215)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Refactor of credential editing page layout & refactor backend field validation method (#2222)

* Refactor of credential editing page layout & refactor backend field validation method

* Resolved the comments & fix the multiple call for one operation

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Tweak fetch data back to original (#2238)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Revamped UX for data source management (#2239)

* revamped UX for data source management

Signed-off-by: mpabba3003 <[email protected]>

* refactored datasource screens as per PR comments

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Credentials security redesign (#2253)

1. Data model changes for data source saved object
2. Server side changes for data source saved object
  a. Implement data_source_saved_objects_client_wrapper to integrate with CryptographyClient for password
  encryption / decryption.
  b. Change data_source_service to fetch credentials directly from data source (still decrypt via CryptographyClient)
  c. Fix unit tests accordingly

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add step data source UI test (#2264)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD]Improve datasource server side error handling (#2236)

Signed-off-by: Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource management new API change integrations (#2282)

* changing datasource management design to integrate with new API changes

Signed-off-by: mpabba3003 <[email protected]>

* Update edit_data_source_form.tsx

moving masked password to constants

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Update stream test to bypass CI env generate domain attribute

Signed-off-by: Kristen Tian <[email protected]>

* Delete credential management

Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource Management - Create data source - Unit tests (#2341)

* Unit test cases for data source management - create

Signed-off-by: mpabba3003 <[email protected]>

* adding tests to utils.ts & changing it to test

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Fix update data source & block update endpint (#2364)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* MD datasource management-datasource table-UTs (#2350)

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* reafctor based on PR 2334 comments to merge to main (#2375)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* removing invalid urls as CI fails on link checker for inavlid urls in git (#2376)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* Fix DS snapshot test

Signed-off-by: Kristen Tian <[email protected]>

* Add https://test.com/ to lychee exclude

Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* Remove unnessacry check

Signed-off-by: Kristen Tian <[email protected]>

* Remove not needed check

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>
Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Su <[email protected]>
Co-authored-by: Louis Chu <[email protected]>
Co-authored-by: Zhongnan Su <[email protected]>
Co-authored-by: Yan Zeng <[email protected]>
Co-authored-by: Manideep Pabba <[email protected]>
Co-authored-by: Yibo Wang <[email protected]>
kavilla pushed a commit to kavilla/OpenSearch-Dashboards-1 that referenced this pull request Sep 21, 2022
* Instantiate credential management plugin code structure (opensearch-project#1996)

Signed-off-by: Kristen Tian <[email protected]>

* Data source inside stack management setup (opensearch-project#2017) (opensearch-project#2030)

Signed-off-by: Kristen Tian <[email protected]>

* enable CI for feature branch (opensearch-project#2010)

Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add empty data source plugin (opensearch-project#2052)

Adds empty data source plugin.

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Add initial credential management CRUD pages (opensearch-project#2040)

* Add credential management CRUD pages

1. List all credentials
2. Create your saved credential
3. Edit your credential
4. Delete credentials

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Register Data source to savedObject & Update license header (opensearch-project#2037)

Signed-off-by: Kristen Tian <[email protected]>

* Move credential saved object to data source plugin (opensearch-project#2062)

Signed-off-by: Louis Chu <[email protected]>

Move credential saved object to data source plugin
Resolve follow up comments on UI

Signed-off-by: Kristen Tian <[email protected]>

* breadcrumbfix for datasource management (opensearch-project#2066)

* breadcrumbfix for datasource management

Signed-off-by: mpabba3003 <[email protected]>

* breadcrumbfix for datasource management - refactoring code

Signed-off-by: mpabba3003 <[email protected]>

* using services to update breadcrumb on data sources management page

Signed-off-by: mpabba3003 <[email protected]>

* Changing the license header on breadcrumbs.ts datasource management

Signed-off-by: Kristen Tian <[email protected]>

* Fix breadcrumb on listing page and update saved object mapping (opensearch-project#2069)

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add data source step into IndexPattern with Mock switch (opensearch-project#2064) (opensearch-project#2086)

Signed-off-by: Kristen Tian <[email protected]>

* Add delete button for credential detailed page (opensearch-project#2067)

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Link datasource to indexpattern (opensearch-project#2118)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Add encrypt/decrypt module on data source plugin (opensearch-project#2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer

Signed-off-by: Kristen Tian <[email protected]>

* Integrate index pattern with new data client (opensearch-project#2146)

Signed-off-by: Kristen Tian <[email protected]>

* Add noAuth to dataSource attributes (opensearch-project#2154)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource Management - creation & listing - UI only (opensearch-project#2128)

* data source management - creation & Listing UI only

* data source management - creation & Listing UI only

* Create/edit data source feature

* toggling default value

* refactoring code as per review comments

* toggling server flag to false

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Apply dataSource plugin as dependent for cm and dsm plugins (opensearch-project#2150)

Signed-off-by: Louis Chu <[email protected]>

Apply dataSource plugin as dependent for cm and dsm plugins (opensearch-project#2150)

Signed-off-by: Kristen Tian <[email protected]>

* Leverage datasource enablement in index pattern management

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Add client management module and register `getClient()` to route handler context (opensearch-project#2121)

* Add client management module and register `getClient()` interface to route handler context
Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Make step info in index pattern creation dynamic (opensearch-project#2164)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Refactor for credential listing page & add loading effect (opensearch-project#2142)

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Integration sequal - replace data client placeholders (opensearch-project#2167)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Integrate with crypto module to decrpt password (opensearch-project#2170)

Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] noAuth integration, credential & endpoint validation (opensearch-project#2165)

* noAuth integration, credential & endpoint validation

Signed-off-by: mpabba3003 <[email protected]>

* Refactoring validation message

Signed-off-by: mpabba3003 <[email protected]>

* Adding back accidentally deleted file home/tutorials/haproxy_metrics/index.ts

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Refactor search strategy to conditionally user datasource client (opensearch-project#2171)

Signed-off-by: Kristen Tian <[email protected]>

* adding relation between credential selection and no auth checkbox (opensearch-project#2175)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Update getIndicesViaSearch with datasource (opensearch-project#2176)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Add null header to child client spawn (opensearch-project#2188)

Signed-off-by: Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD][IP]Update button position & Add UT & Add skip option (opensearch-project#2195)

* Add UT - index pattern related

Signed-off-by: Kristen Tian <[email protected]>

* Update button position

Signed-off-by: Kristen Tian <[email protected]>

* Add skip option to allow use default os data source

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD]Refactor layout and validate input fields for listing and create pages (opensearch-project#2202)

Signed-off-by: Louis Chu <[email protected]>

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Enable datasource link in saveObjectManagement (opensearch-project#2209)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Update configure data source per UX input (opensearch-project#2235)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Enable data source audit log to file (opensearch-project#2215)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Refactor of credential editing page layout & refactor backend field validation method (opensearch-project#2222)

* Refactor of credential editing page layout & refactor backend field validation method

* Resolved the comments & fix the multiple call for one operation

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Tweak fetch data back to original (opensearch-project#2238)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Revamped UX for data source management (opensearch-project#2239)

* revamped UX for data source management

Signed-off-by: mpabba3003 <[email protected]>

* refactored datasource screens as per PR comments

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Credentials security redesign (opensearch-project#2253)

1. Data model changes for data source saved object
2. Server side changes for data source saved object
  a. Implement data_source_saved_objects_client_wrapper to integrate with CryptographyClient for password
  encryption / decryption.
  b. Change data_source_service to fetch credentials directly from data source (still decrypt via CryptographyClient)
  c. Fix unit tests accordingly

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add step data source UI test (opensearch-project#2264)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD]Improve datasource server side error handling (opensearch-project#2236)

Signed-off-by: Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource management new API change integrations (opensearch-project#2282)

* changing datasource management design to integrate with new API changes

Signed-off-by: mpabba3003 <[email protected]>

* Update edit_data_source_form.tsx

moving masked password to constants

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Update stream test to bypass CI env generate domain attribute

Signed-off-by: Kristen Tian <[email protected]>

* Delete credential management

Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource Management - Create data source - Unit tests (opensearch-project#2341)

* Unit test cases for data source management - create

Signed-off-by: mpabba3003 <[email protected]>

* adding tests to utils.ts & changing it to test

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Fix update data source & block update endpint (opensearch-project#2364)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* MD datasource management-datasource table-UTs (opensearch-project#2350)

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* reafctor based on PR 2334 comments to merge to main (opensearch-project#2375)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* removing invalid urls as CI fails on link checker for inavlid urls in git (opensearch-project#2376)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* Fix DS snapshot test

Signed-off-by: Kristen Tian <[email protected]>

* Add https://test.com/ to lychee exclude

Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* Remove unnessacry check

Signed-off-by: Kristen Tian <[email protected]>

* Remove not needed check

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>
Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Su <[email protected]>
Co-authored-by: Louis Chu <[email protected]>
Co-authored-by: Zhongnan Su <[email protected]>
Co-authored-by: Yan Zeng <[email protected]>
Co-authored-by: Manideep Pabba <[email protected]>
Co-authored-by: Yibo Wang <[email protected]>
sipopo pushed a commit to sipopo/OpenSearch-Dashboards that referenced this pull request Dec 16, 2022
* Instantiate credential management plugin code structure (opensearch-project#1996)

Signed-off-by: Kristen Tian <[email protected]>

* Data source inside stack management setup (opensearch-project#2017) (opensearch-project#2030)

Signed-off-by: Kristen Tian <[email protected]>

* enable CI for feature branch (opensearch-project#2010)

Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add empty data source plugin (opensearch-project#2052)

Adds empty data source plugin.

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Add initial credential management CRUD pages (opensearch-project#2040)

* Add credential management CRUD pages

1. List all credentials
2. Create your saved credential
3. Edit your credential
4. Delete credentials

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Register Data source to savedObject & Update license header (opensearch-project#2037)

Signed-off-by: Kristen Tian <[email protected]>

* Move credential saved object to data source plugin (opensearch-project#2062)

Signed-off-by: Louis Chu <[email protected]>

Move credential saved object to data source plugin
Resolve follow up comments on UI

Signed-off-by: Kristen Tian <[email protected]>

* breadcrumbfix for datasource management (opensearch-project#2066)

* breadcrumbfix for datasource management

Signed-off-by: mpabba3003 <[email protected]>

* breadcrumbfix for datasource management - refactoring code

Signed-off-by: mpabba3003 <[email protected]>

* using services to update breadcrumb on data sources management page

Signed-off-by: mpabba3003 <[email protected]>

* Changing the license header on breadcrumbs.ts datasource management

Signed-off-by: Kristen Tian <[email protected]>

* Fix breadcrumb on listing page and update saved object mapping (opensearch-project#2069)

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add data source step into IndexPattern with Mock switch (opensearch-project#2064) (opensearch-project#2086)

Signed-off-by: Kristen Tian <[email protected]>

* Add delete button for credential detailed page (opensearch-project#2067)

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Link datasource to indexpattern (opensearch-project#2118)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Add encrypt/decrypt module on data source plugin (opensearch-project#2120)

Signed-off-by: Louis Chu <[email protected]>

1. Add encrypt/decrypt module with UT
2. Add client factory wrapper for encrypt credential
3. Add encryption config support
4. Bugfix on Jest interpret Buffer

Signed-off-by: Kristen Tian <[email protected]>

* Integrate index pattern with new data client (opensearch-project#2146)

Signed-off-by: Kristen Tian <[email protected]>

* Add noAuth to dataSource attributes (opensearch-project#2154)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource Management - creation & listing - UI only (opensearch-project#2128)

* data source management - creation & Listing UI only

* data source management - creation & Listing UI only

* Create/edit data source feature

* toggling default value

* refactoring code as per review comments

* toggling server flag to false

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Apply dataSource plugin as dependent for cm and dsm plugins (opensearch-project#2150)

Signed-off-by: Louis Chu <[email protected]>

Apply dataSource plugin as dependent for cm and dsm plugins (opensearch-project#2150)

Signed-off-by: Kristen Tian <[email protected]>

* Leverage datasource enablement in index pattern management

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Add client management module and register `getClient()` to route handler context (opensearch-project#2121)

* Add client management module and register `getClient()` interface to route handler context
Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Make step info in index pattern creation dynamic (opensearch-project#2164)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Refactor for credential listing page & add loading effect (opensearch-project#2142)

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Integration sequal - replace data client placeholders (opensearch-project#2167)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Integrate with crypto module to decrpt password (opensearch-project#2170)

Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] noAuth integration, credential & endpoint validation (opensearch-project#2165)

* noAuth integration, credential & endpoint validation

Signed-off-by: mpabba3003 <[email protected]>

* Refactoring validation message

Signed-off-by: mpabba3003 <[email protected]>

* Adding back accidentally deleted file home/tutorials/haproxy_metrics/index.ts

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Refactor search strategy to conditionally user datasource client (opensearch-project#2171)

Signed-off-by: Kristen Tian <[email protected]>

* adding relation between credential selection and no auth checkbox (opensearch-project#2175)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Update getIndicesViaSearch with datasource (opensearch-project#2176)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Add null header to child client spawn (opensearch-project#2188)

Signed-off-by: Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD][IP]Update button position & Add UT & Add skip option (opensearch-project#2195)

* Add UT - index pattern related

Signed-off-by: Kristen Tian <[email protected]>

* Update button position

Signed-off-by: Kristen Tian <[email protected]>

* Add skip option to allow use default os data source

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD]Refactor layout and validate input fields for listing and create pages (opensearch-project#2202)

Signed-off-by: Louis Chu <[email protected]>

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Enable datasource link in saveObjectManagement (opensearch-project#2209)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Update configure data source per UX input (opensearch-project#2235)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* Enable data source audit log to file (opensearch-project#2215)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Refactor of credential editing page layout & refactor backend field validation method (opensearch-project#2222)

* Refactor of credential editing page layout & refactor backend field validation method

* Resolved the comments & fix the multiple call for one operation

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Tweak fetch data back to original (opensearch-project#2238)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Revamped UX for data source management (opensearch-project#2239)

* revamped UX for data source management

Signed-off-by: mpabba3003 <[email protected]>

* refactored datasource screens as per PR comments

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Credentials security redesign (opensearch-project#2253)

1. Data model changes for data source saved object
2. Server side changes for data source saved object
  a. Implement data_source_saved_objects_client_wrapper to integrate with CryptographyClient for password
  encryption / decryption.
  b. Change data_source_service to fetch credentials directly from data source (still decrypt via CryptographyClient)
  c. Fix unit tests accordingly

Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Add step data source UI test (opensearch-project#2264)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* [MD]Improve datasource server side error handling (opensearch-project#2236)

Signed-off-by: Su <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource management new API change integrations (opensearch-project#2282)

* changing datasource management design to integrate with new API changes

Signed-off-by: mpabba3003 <[email protected]>

* Update edit_data_source_form.tsx

moving masked password to constants

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Update stream test to bypass CI env generate domain attribute

Signed-off-by: Kristen Tian <[email protected]>

* Delete credential management

Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* [MD] Datasource Management - Create data source - Unit tests (opensearch-project#2341)

* Unit test cases for data source management - create

Signed-off-by: mpabba3003 <[email protected]>

* adding tests to utils.ts & changing it to test

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Fix update data source & block update endpint (opensearch-project#2364)

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>

* MD datasource management-datasource table-UTs (opensearch-project#2350)

Signed-off-by: Yibo Wang <[email protected]>

Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* reafctor based on PR 2334 comments to merge to main (opensearch-project#2375)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* removing invalid urls as CI fails on link checker for inavlid urls in git (opensearch-project#2376)

Signed-off-by: mpabba3003 <[email protected]>

Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* Fix DS snapshot test

Signed-off-by: Kristen Tian <[email protected]>

* Add https://test.com/ to lychee exclude

Signed-off-by: Kristen Tian <[email protected]>

* Address comments

Signed-off-by: Kristen Tian <[email protected]>

* Remove unnessacry check

Signed-off-by: Kristen Tian <[email protected]>

* Remove not needed check

Signed-off-by: Kristen Tian <[email protected]>

Signed-off-by: Kristen Tian <[email protected]>
Signed-off-by: Zhongnan Su <[email protected]>
Signed-off-by: Louis Chu <[email protected]>
Signed-off-by: Yibo Wang <[email protected]>
Signed-off-by: mpabba3003 <[email protected]>
Signed-off-by: Su <[email protected]>
Co-authored-by: Louis Chu <[email protected]>
Co-authored-by: Zhongnan Su <[email protected]>
Co-authored-by: Yan Zeng <[email protected]>
Co-authored-by: Manideep Pabba <[email protected]>
Co-authored-by: Yibo Wang <[email protected]>
Signed-off-by: Sergey V. Osipov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
multiple datasource multiple datasource project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants