Merge pull request #24070 from aramissennyeydd/nbs/config

fix: update config reading for NBS
This commit is contained in:
Patrik Oldsberg
2024-04-08 13:56:32 +02:00
committed by GitHub
+32 -1
View File
@@ -141,6 +141,37 @@ from `@backstage/core-plugin-api`.
## Accessing ConfigApi in Backend Plugins
In backend plugins the configuration is passed in via options from the main
### Old Backend System
In the old backend system plugins, the configuration is passed in via options from the main
backend package. See for example
[packages/backend/src/plugins/auth.ts](https://github.com/backstage/backstage/blob/244eef851f5aa19f91c7c9b5c12d5df95cf482ca/packages/backend/src/plugins/auth.ts#L23).
### New Backend System
In the new backend system, plugins are able to directly access config through dependencies. You can access config like so,
```ts title="plugins/your-plugin-backend/src/plugin.ts"
export const yourPlugin = createBackendPlugin({
pluginId: 'yourPlugin',
register(env) {
env.registerInit({
deps: {
httpRouter: coreServices.httpRouter,
logger: coreServices.logger,
// highlight-next-line
config: coreServices.rootConfig,
},
async init({
httpRouter,
logger,
// highlight-next-line
config,
}) {
// highlight-next-line
console.log(config.getOptionalString('backend.test.property'));
},
});
},
});
```