Open moreiramarti opened 1 month ago
Could you also share what your backend search setup looks like to confirm if the ADR search collator is correctly hooked up there?
If you meant packages/backend/src/index.ts, here it is :
import { createBackend } from '@backstage/backend-defaults';
import { dbtPlugin } from '@iiben_orgii/backstage-plugin-dbt-backend';
const backend = createBackend();
backend.add(import('@backstage/plugin-app-backend/alpha'));
backend.add(import('@backstage/plugin-proxy-backend/alpha'));
backend.add(import('@backstage/plugin-scaffolder-backend/alpha'));
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
backend.add(import('@roadiehq/scaffolder-backend-module-utils/new-backend'));
// auth plugin
backend.add(import('@backstage/plugin-auth-backend'));
backend.add(import('@backstage/plugin-auth-backend-module-github-provider'));
// See https://backstage.io/docs/backend-system/building-backends/migrating#the-auth-plugin
backend.add(import('@backstage/plugin-auth-backend-module-guest-provider'));
// See https://github.com/backstage/backstage/blob/master/docs/auth/guest/provider.md
// catalog plugin
backend.add(import('@backstage/plugin-catalog-backend/alpha'));
backend.add(
import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
);
backend.add(import('@backstage/plugin-scaffolder-backend-module-github'));
backend.add(import('@backstage/plugin-catalog-backend-module-github/alpha'));
backend.add(import('@backstage/plugin-catalog-backend-module-github-org'));
// adr plugin
backend.add(import('@backstage-community/plugin-adr-backend'));
// permission plugin
backend.add(import('@backstage/plugin-permission-backend/alpha'));
backend.add(
import('@backstage/plugin-permission-backend-module-allow-all-policy'),
);
// search plugin
backend.add(import('@backstage/plugin-search-backend/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-pg/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha'));
backend.start();
It looks like you don't have the ADR search collator hooked up to your search backend - unfortunately there currently isn't a search backend module for ADR that you can dynamically install like there is for the catalog/techdocs collators eg. backend.add(import('@backstage/plugin-search-backend-module-adr'));
. Open for contributions though if you would like to implement one π
Right now you can manually add your own search module like so to hook up the ADR collator:
// backend/src/searchBackendModuleAdr.ts
import { cacheToPluginCacheManager } from '@backstage/backend-common';
import {
coreServices,
createBackendModule,
} from '@backstage/backend-plugin-api';
import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha';
import { DefaultAdrCollatorFactory } from '@backstage-community/plugin-adr-backend';
export default createBackendModule({
pluginId: 'search',
moduleId: 'adrCollator',
register(env) {
env.registerInit({
deps: {
auth: coreServices.auth,
cache: coreServices.cache,
config: coreServices.rootConfig,
discovery: coreServices.discovery,
logger: coreServices.logger,
reader: coreServices.urlReader,
scheduler: coreServices.scheduler,
search: searchIndexRegistryExtensionPoint,
},
async init({
auth,
cache,
config,
discovery,
logger,
reader,
scheduler,
search,
}) {
search.addCollator({
schedule: scheduler.createScheduledTaskRunner({
// Customize this schedule as you see fit
frequency: { hours: 12 },
timeout: { minutes: 30 },
initialDelay: { minutes: 1 },
}),
factory: DefaultAdrCollatorFactory.fromConfig({
auth,
cache: cacheToPluginCacheManager(cache),
config,
discovery,
logger,
reader,
}),
});
},
});
},
});
and add it to your backend:
// backend/src/index.ts
...
backend.add(import('./searchBackendModuleAdr'));
...
Thanks, that's what I though. I'll try to implement it if I manage to find some time ;)
Help wanted for creating the new module!
Related PR: #549
Plugin Name
ADR
π Description
I'm using the new backend system and I'm struggling to set up ADR search. It looks like adr type is not recognized. Backstage version : 1.27.5 ADR version : 0.4.17
π Expected behavior
Search for ADRs in catalog
π Actual Behavior with Screenshots
π Reproduction steps
Install ADR plugin with new backend system : Add menu on packages/app/src/components/search/SearchPage.tsx
π Provide the context for the Bug.
No response
π Have you spent some time to check if this bug has been raised before?
π’ Have you read the Code of Conduct?
Are you willing to submit PR?
None