ADR Backend
This ADR backend plugin is primarily responsible for the following:
-
Provides a DefaultAdrCollatorFactory
, which can be used in the search backend to index ADR documents associated with entities to your Backstage Search.
-
Provides endpoints that use UrlReaders for getting ADR documents (used in the ADR frontend plugin).
Install
Setup your integrations
config
First off you'll need to setup your integrations
config inside your app-config.yaml
. You can skip this step if it's already setup previously, and if you need help configuring this you can read the integrations documentation
Up and Running
Here's how to get the backend up and running:
- First we need to add the
@backstage-community/plugin-adr-backend
package to your backend:
yarn --cwd packages/backend add @backstage-community/plugin-adr-backend
- Then we will create a new file named
packages/backend/src/plugins/adr.ts
, and add the
following to it:
import { createRouter } from '@backstage-community/plugin-adr-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
return await createRouter({
reader: env.reader,
cacheClient: env.cache.getClient(),
logger: env.logger,
});
}
- Next we wire this into the overall backend router, edit
packages/backend/src/index.ts
:
import adr from './plugins/adr';
async function main() {
const adrEnv = useHotMemoize(module, () => createEnv('adr'));
apiRouter.use('/adr', await adr(adrEnv));
- Now run
yarn start-backend
from the repo root
New Backend System
The ADR backend plugin has support for the new backend system, here's how you can set that up:
In your packages/backend/src/index.ts
make the following changes:
const backend = createBackend();
+ backend.add(import('@backstage-community/plugin-adr-backend'));
// ... other feature additions
backend.start();
Indexing ADR documents for search
Refer to the search-backend-module-adr documentation to integrate the search collator.