Add warn log if config key branch is used
Signed-off-by: Andreas Berger <andreas@berger-ecommerce.com>
This commit is contained in:
+4
-1
@@ -61,7 +61,10 @@ export class GitlabDiscoveryEntityProvider implements EntityProvider {
|
||||
throw new Error('Either schedule or scheduler must be provided.');
|
||||
}
|
||||
|
||||
const providerConfigs = readGitlabConfigs(config);
|
||||
const providerConfigs = readGitlabConfigs(
|
||||
config,
|
||||
options.logger.child({ target: 'GitlabDiscoveryEntityProvider' }),
|
||||
);
|
||||
const integrations = ScmIntegrations.fromConfig(config).gitlab;
|
||||
const providers: GitlabDiscoveryEntityProvider[] = [];
|
||||
|
||||
|
||||
+4
-1
@@ -72,7 +72,10 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider {
|
||||
throw new Error('Either schedule or scheduler must be provided.');
|
||||
}
|
||||
|
||||
const providerConfigs = readGitlabConfigs(config);
|
||||
const providerConfigs = readGitlabConfigs(
|
||||
config,
|
||||
options.logger.child({ target: 'GitlabOrgDiscoveryEntityProvider' }),
|
||||
);
|
||||
const integrations = ScmIntegrations.fromConfig(config).gitlab;
|
||||
const providers: GitlabOrgDiscoveryEntityProvider[] = [];
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
import { ConfigReader } from '@backstage/config';
|
||||
import { Duration } from 'luxon';
|
||||
import { readGitlabConfigs } from './config';
|
||||
import { getVoidLogger } from '@backstage/backend-common';
|
||||
|
||||
const logger = getVoidLogger();
|
||||
|
||||
describe('config', () => {
|
||||
it('empty gitlab config', () => {
|
||||
@@ -26,7 +29,7 @@ describe('config', () => {
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
const result = readGitlabConfigs(config, logger);
|
||||
expect(result).toHaveLength(0);
|
||||
});
|
||||
|
||||
@@ -44,7 +47,7 @@ describe('config', () => {
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
const result = readGitlabConfigs(config, logger);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
@@ -78,7 +81,7 @@ describe('config', () => {
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
const result = readGitlabConfigs(config, logger);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
@@ -116,7 +119,7 @@ describe('config', () => {
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
const result = readGitlabConfigs(config, logger);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
@@ -155,7 +158,7 @@ describe('config', () => {
|
||||
},
|
||||
});
|
||||
|
||||
expect(() => readGitlabConfigs(config)).toThrow(
|
||||
expect(() => readGitlabConfigs(config, logger)).toThrow(
|
||||
"Missing required config value at 'catalog.providers.gitlab.test.host'",
|
||||
);
|
||||
});
|
||||
@@ -174,7 +177,7 @@ describe('config', () => {
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
const result = readGitlabConfigs(config, logger);
|
||||
expect(result).toHaveLength(1);
|
||||
expect(result[0].group).toEqual('');
|
||||
});
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
import { readTaskScheduleDefinitionFromConfig } from '@backstage/backend-tasks';
|
||||
import { Config } from '@backstage/config';
|
||||
import { GitlabProviderConfig } from '../lib';
|
||||
import { Logger } from 'winston';
|
||||
|
||||
/**
|
||||
* Extracts the gitlab config from a config object
|
||||
@@ -25,14 +26,25 @@ import { GitlabProviderConfig } from '../lib';
|
||||
*
|
||||
* @param id - The provider key
|
||||
* @param config - The config object to extract from
|
||||
* @param logger - The logger
|
||||
*/
|
||||
function readGitlabConfig(id: string, config: Config): GitlabProviderConfig {
|
||||
function readGitlabConfig(
|
||||
id: string,
|
||||
config: Config,
|
||||
logger: Logger,
|
||||
): GitlabProviderConfig {
|
||||
const group = config.getOptionalString('group') ?? '';
|
||||
const host = config.getString('host');
|
||||
const branch = config.getOptionalString('branch');
|
||||
|
||||
if (branch) {
|
||||
logger.warn(
|
||||
'The configuration key `branch` has been deprecated in favor of the configuration key `fallbackBranch`.',
|
||||
);
|
||||
}
|
||||
|
||||
const fallbackBranch =
|
||||
config.getOptionalString('fallbackBranch') ??
|
||||
config.getOptionalString('branch') ??
|
||||
'master';
|
||||
config.getOptionalString('fallbackBranch') ?? branch ?? 'master';
|
||||
const catalogFile =
|
||||
config.getOptionalString('entityFilename') ?? 'catalog-info.yaml';
|
||||
const projectPattern = new RegExp(
|
||||
@@ -70,8 +82,12 @@ function readGitlabConfig(id: string, config: Config): GitlabProviderConfig {
|
||||
* @public
|
||||
*
|
||||
* @param config - The config object to extract from
|
||||
* @param logger - The logger
|
||||
*/
|
||||
export function readGitlabConfigs(config: Config): GitlabProviderConfig[] {
|
||||
export function readGitlabConfigs(
|
||||
config: Config,
|
||||
logger: Logger,
|
||||
): GitlabProviderConfig[] {
|
||||
const configs: GitlabProviderConfig[] = [];
|
||||
|
||||
const providerConfigs = config.getOptionalConfig('catalog.providers.gitlab');
|
||||
@@ -81,7 +97,13 @@ export function readGitlabConfigs(config: Config): GitlabProviderConfig[] {
|
||||
}
|
||||
|
||||
for (const id of providerConfigs.keys()) {
|
||||
configs.push(readGitlabConfig(id, providerConfigs.getConfig(id)));
|
||||
configs.push(
|
||||
readGitlabConfig(
|
||||
id,
|
||||
providerConfigs.getConfig(id),
|
||||
logger.child({ target: id }),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return configs;
|
||||
|
||||
Reference in New Issue
Block a user