fix: update config reading for NBS
Signed-off-by: web-next-automation <web-platform@doordash.com>
This commit is contained in:
+32
-1
@@ -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'));
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user