diff --git a/.changeset/angry-goats-pay.md b/.changeset/angry-goats-pay.md new file mode 100644 index 0000000000..18fc6c0f6d --- /dev/null +++ b/.changeset/angry-goats-pay.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-search-backend-module-pg': patch +--- + +Enable module only on supported databases + +Also pass logger to the service diff --git a/plugins/search-backend-module-pg/src/alpha.ts b/plugins/search-backend-module-pg/src/alpha.ts index 4628b300f2..902e8c3ad2 100644 --- a/plugins/search-backend-module-pg/src/alpha.ts +++ b/plugins/search-backend-module-pg/src/alpha.ts @@ -19,6 +19,7 @@ import { } from '@backstage/backend-plugin-api'; import { searchEngineRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha'; import { PgSearchEngine } from './PgSearchEngine'; +import { loggerToWinstonLogger } from '@backstage/backend-common'; /** * @alpha @@ -33,13 +34,21 @@ export default createBackendModule({ searchEngineRegistry: searchEngineRegistryExtensionPoint, database: coreServices.database, config: coreServices.rootConfig, + logger: coreServices.logger, }, - async init({ searchEngineRegistry, database, config }) { - searchEngineRegistry.setSearchEngine( - await PgSearchEngine.fromConfig(config, { - database: database, - }), - ); + async init({ searchEngineRegistry, database, config, logger }) { + if (await PgSearchEngine.supported(database)) { + searchEngineRegistry.setSearchEngine( + await PgSearchEngine.fromConfig(config, { + database, + logger: loggerToWinstonLogger(logger), + }), + ); + } else { + logger.warn( + 'Postgres search engine is not supported, skipping registration of search-backend-module-pg', + ); + } }, }); },