fix: update config reading for NBS

Signed-off-by: web-next-automation <web-platform@doordash.com>
This commit is contained in:
web-next-automation
2024-04-07 19:36:19 -04:00
parent 66670589d4
commit f93376c5dd
+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'));
},
});
},
});
```