app-backend,cli: add support for injecting full config based on serialized schema

This commit is contained in:
Patrik Oldsberg
2020-11-09 10:28:11 +01:00
parent 2e4de99338
commit 7f95e40fbb
8 changed files with 79 additions and 40 deletions
+5 -1
View File
@@ -17,9 +17,13 @@
import { createRouter } from '@backstage/plugin-app-backend';
import { PluginEnvironment } from '../types';
export default async function createPlugin({ logger }: PluginEnvironment) {
export default async function createPlugin({
logger,
config,
}: PluginEnvironment) {
return await createRouter({
logger,
config,
appPackageName: 'example-app',
});
}
+5 -1
View File
@@ -61,7 +61,11 @@ export const defaultConfigLoader: AppConfigLoader = async (
if (runtimeConfigJson !== '__app_injected_runtime_config__'.toUpperCase()) {
try {
const data = JSON.parse(runtimeConfigJson) as JsonObject;
configs.push({ data, context: 'env' });
if (Array.isArray(data)) {
configs.push(...data);
} else {
configs.push({ data, context: 'env' });
}
} catch (error) {
throw new Error(`Failed to load runtime configuration, ${error}`);
}