diff --git a/.changeset/spotty-cougars-wink.md b/.changeset/spotty-cougars-wink.md
deleted file mode 100644
index ca3effe724..0000000000
--- a/.changeset/spotty-cougars-wink.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@backstage/backend-app-api': minor
-'@backstage/config-loader': minor
----
-
-Introduces the ability to merge configs and JsonObjects
diff --git a/packages/backend-app-api/api-report.md b/packages/backend-app-api/api-report.md
index 6ef023333b..90b76ffb64 100644
--- a/packages/backend-app-api/api-report.md
+++ b/packages/backend-app-api/api-report.md
@@ -179,7 +179,7 @@ export const lifecycleServiceFactory: () => ServiceFactory<
export function loadBackendConfig(options: {
remote?: LoadConfigOptionsRemote;
argv: string[];
- additionalConfig?: AppConfig;
+ additionalConfigs?: AppConfig[];
}): Promise<{
config: Config;
}>;
diff --git a/packages/backend-app-api/src/config/ObservableConfigProxy.ts b/packages/backend-app-api/src/config/ObservableConfigProxy.ts
index 8e0ad218e9..dd3334c9a5 100644
--- a/packages/backend-app-api/src/config/ObservableConfigProxy.ts
+++ b/packages/backend-app-api/src/config/ObservableConfigProxy.ts
@@ -16,7 +16,7 @@
import { ConfigService } from '@backstage/backend-plugin-api';
import { ConfigReader } from '@backstage/config';
-import type { JsonValue } from '@backstage/types';
+import { JsonValue } from '@backstage/types';
export class ObservableConfigProxy implements ConfigService {
private config: ConfigService = new ConfigReader({});
diff --git a/packages/backend-app-api/src/config/config.ts b/packages/backend-app-api/src/config/config.ts
index 668226e8b2..a2a6f8de9e 100644
--- a/packages/backend-app-api/src/config/config.ts
+++ b/packages/backend-app-api/src/config/config.ts
@@ -71,7 +71,7 @@ export async function createConfigSecretEnumerator(options: {
export async function loadBackendConfig(options: {
remote?: LoadConfigOptionsRemote;
argv: string[];
- additionalConfig?: AppConfig;
+ additionalConfigs?: AppConfig[];
}): Promise<{ config: Config }> {
const args = parseArgs(options.argv);
@@ -115,11 +115,9 @@ export async function loadBackendConfig(options: {
`Loaded config from ${appConfigs.map(c => c.context).join(', ')}`,
);
- // add the additional config if provided
- if (options.additionalConfig) {
- appConfigs.push(options.additionalConfig);
+ if (options.additionalConfigs) {
+ appConfigs.push(...options.additionalConfigs);
}
-
config.setConfig(ConfigReader.fromConfigs(appConfigs));
return { config };
diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md
index a37b5874a3..b1dad254f9 100644
--- a/packages/backend-common/api-report.md
+++ b/packages/backend-common/api-report.md
@@ -6,9 +6,8 @@
///
///
+import { AppConfig } from '@backstage/config';
import { AwsCredentialsManager } from '@backstage/integration-aws-node';
-import type { AppConfig } from '@backstage/config';
-import aws from 'aws-sdk';
import { AwsS3Integration } from '@backstage/integration';
import { AzureIntegration } from '@backstage/integration';
import { BackendFeature } from '@backstage/backend-plugin-api';
diff --git a/packages/backend-common/src/config.ts b/packages/backend-common/src/config.ts
index 47316cfd6e..cc824c47fd 100644
--- a/packages/backend-common/src/config.ts
+++ b/packages/backend-common/src/config.ts
@@ -19,7 +19,7 @@ import {
loadBackendConfig as newLoadBackendConfig,
} from '@backstage/backend-app-api';
import { LoggerService } from '@backstage/backend-plugin-api';
-import type { AppConfig, Config } from '@backstage/config';
+import { AppConfig, Config } from '@backstage/config';
import { LoadConfigOptionsRemote } from '@backstage/config-loader';
import { setRootLoggerRedactionList } from './logging/createRootLogger';
diff --git a/packages/config-loader/src/loader.ts b/packages/config-loader/src/loader.ts
index 69b0e04b86..f5ce0eb80c 100644
--- a/packages/config-loader/src/loader.ts
+++ b/packages/config-loader/src/loader.ts
@@ -139,11 +139,8 @@ export async function loadConfig(
const env = envFunc ?? (async (name: string) => process.env[name]);
- const loadConfigFiles = async (): Promise<{
- fileConfigs: AppConfig[];
- loadedPaths: Set;
- }> => {
- const fileConfigs: AppConfig[] = [];
+ const loadConfigFiles = async () => {
+ const fileConfigs = [];
const loadedPaths = new Set();
for (const configPath of configPaths) {
@@ -179,7 +176,7 @@ export async function loadConfig(
return { fileConfigs, loadedPaths };
};
- const loadRemoteConfigFiles = async (): Promise => {
+ const loadRemoteConfigFiles = async () => {
const configs: AppConfig[] = [];
const readConfigFromUrl = async (url: string) => {