diff --git a/.changeset/renovate-dc1ee8d.md b/.changeset/renovate-dc1ee8d.md
new file mode 100644
index 0000000000..a6f87f5484
--- /dev/null
+++ b/.changeset/renovate-dc1ee8d.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-search-backend-module-elasticsearch': patch
+---
+
+Updated dependency `@opensearch-project/opensearch` to `^2.0.0`.
diff --git a/plugins/search-backend-module-elasticsearch/api-report.md b/plugins/search-backend-module-elasticsearch/api-report.md
index eed2b1b10a..ff474fc9bf 100644
--- a/plugins/search-backend-module-elasticsearch/api-report.md
+++ b/plugins/search-backend-module-elasticsearch/api-report.md
@@ -6,6 +6,7 @@
///
import { ApiResponse } from '@opensearch-project/opensearch';
+import { ApiResponse as ApiResponse_2 } from '@elastic/elasticsearch';
import { BatchSearchEngineIndexer } from '@backstage/plugin-search-backend-node';
import { BulkHelper } from '@opensearch-project/opensearch/lib/Helpers';
import { BulkStats } from '@opensearch-project/opensearch/lib/Helpers';
@@ -18,6 +19,7 @@ import { Readable } from 'stream';
import { SearchEngine } from '@backstage/plugin-search-common';
import { SearchQuery } from '@backstage/plugin-search-common';
import { TransportRequestPromise } from '@opensearch-project/opensearch/lib/Transport';
+import { TransportRequestPromise as TransportRequestPromise_2 } from '@elastic/elasticsearch/lib/Transport';
// @public
export interface BaseElasticSearchClientOptions {
@@ -134,13 +136,17 @@ export class ElasticSearchClientWrapper {
index,
}: {
index: string;
- }): TransportRequestPromise, unknown>>;
+ }):
+ | TransportRequestPromise, unknown>>
+ | TransportRequestPromise_2, unknown>>;
// (undocumented)
deleteIndex({
index,
}: {
index: string | string[];
- }): TransportRequestPromise, unknown>>;
+ }):
+ | TransportRequestPromise, unknown>>
+ | TransportRequestPromise_2, unknown>>;
// (undocumented)
static fromClientOptions(
options: ElasticSearchClientOptions,
@@ -150,17 +156,23 @@ export class ElasticSearchClientWrapper {
aliases,
}: {
aliases: string[];
- }): TransportRequestPromise, unknown>>;
+ }):
+ | TransportRequestPromise, unknown>>
+ | TransportRequestPromise_2, unknown>>;
// (undocumented)
indexExists({
index,
}: {
index: string | string[];
- }): TransportRequestPromise>;
+ }):
+ | TransportRequestPromise>
+ | TransportRequestPromise_2>;
// (undocumented)
putIndexTemplate(
template: ElasticSearchCustomIndexTemplate,
- ): TransportRequestPromise, unknown>>;
+ ):
+ | TransportRequestPromise, unknown>>
+ | TransportRequestPromise_2, unknown>>;
// (undocumented)
search({
index,
@@ -168,13 +180,17 @@ export class ElasticSearchClientWrapper {
}: {
index: string | string[];
body: Object;
- }): TransportRequestPromise, unknown>>;
+ }):
+ | TransportRequestPromise, unknown>>
+ | TransportRequestPromise_2, unknown>>;
// (undocumented)
updateAliases({
actions,
}: {
actions: ElasticSearchAliasAction[];
- }): TransportRequestPromise, unknown>>;
+ }):
+ | TransportRequestPromise, unknown>>
+ | TransportRequestPromise_2, unknown>>;
}
// @public
diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json
index b12a87c37d..106f0fc999 100644
--- a/plugins/search-backend-module-elasticsearch/package.json
+++ b/plugins/search-backend-module-elasticsearch/package.json
@@ -27,7 +27,7 @@
"@backstage/plugin-search-backend-node": "^0.6.3-next.1",
"@backstage/plugin-search-common": "^0.3.6-next.0",
"@elastic/elasticsearch": "^7.13.0",
- "@opensearch-project/opensearch": "^1.1.0",
+ "@opensearch-project/opensearch": "^2.0.0",
"aws-os-connection": "^0.1.0",
"aws-sdk": "^2.948.0",
"elastic-builder": "^2.16.0",
diff --git a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchClientWrapper.test.ts b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchClientWrapper.test.ts
index 5bd8bb30b0..cbed4f4442 100644
--- a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchClientWrapper.test.ts
+++ b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchClientWrapper.test.ts
@@ -224,6 +224,9 @@ describe('ElasticSearchClientWrapper', () => {
osOptions = {
provider: 'aws',
node: 'https://my-es-cluster.eu-west-1.es.amazonaws.com',
+ // todo(backstage/techdocs-core): Remove the following ts-ignore when
+ // @short.io/opensearch-mock is updated to work w/opensearch >= 2.0.0
+ // @ts-ignore
connection: mock.getConnection(),
};
diff --git a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts
index 42c99dfe61..cf0b4f441c 100644
--- a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts
+++ b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts
@@ -408,6 +408,9 @@ export async function createElasticSearchClientOptions(
const AWSConnection = createAWSConnection(awsCredentials);
return {
provider: 'aws',
+ // todo(backstage/techdocs-core): Remove the following ts-ignore when
+ // aws-os-connection is updated to work with opensearch >= 2.0.0
+ // @ts-ignore
node: config.getString('node'),
...AWSConnection,
...(sslConfig
diff --git a/yarn.lock b/yarn.lock
index e52a56240e..072465094a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5260,10 +5260,10 @@
rxjs "7.5.5"
tslib "2.0.3"
-"@opensearch-project/opensearch@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-1.1.0.tgz#8b3c8b4cbcea01755ba092d2997bf0b4ca7f22f7"
- integrity sha512-1TDw92JL8rD1b2QGluqBsIBLIiD5SGciIpz4qkrGAe9tcdfQ1ptub5e677rhWl35UULSjr6hP8M6HmISZ/M5HQ==
+"@opensearch-project/opensearch@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.0.0.tgz#baa3d02fa76e6f00802ebd88cda40fc515a4d40f"
+ integrity sha512-/5wP76x90clGq0Xw0MbMsml1+PQHpyY+WVqLCzAFNXSFEjSbq+fWrVjH1vX+VZkRQTzKrqNjaUTqYMA9YHRggA==
dependencies:
debug "^4.3.1"
hpagent "^0.1.1"