feat: expand config options

Signed-off-by: Joe Van Alstyne <jvanalstyne@mdsol.com>
This commit is contained in:
Joe Van Alstyne
2024-04-04 16:23:48 +09:00
parent 2e2167a8c5
commit 89d9e2ee6c
@@ -229,19 +229,22 @@ export class InternalOpenApiDocumentationProvider implements EntityProvider {
const pluginsToMerge = this.config.getStringArray(
'catalog.providers.backstageOpenapi.plugins',
);
const name = this.config.getOptionalString(
'catalog.providers.backstageOpenapi.name',
);
const title = this.config.getOptionalString(
'catalog.providers.backstageOpenapi.title',
);
logger.info(`Loading specs from from ${pluginsToMerge}.`);
const getOverride = (key: string, fallbackValue: string = '') => {
return (
this.config.getOptionalString(
`catalog.providers.backstageOpenapi.entityOverrides.${key}`,
) ?? fallbackValue
);
};
logger.info(`Loading specs from ${pluginsToMerge}.`);
const documentationEntity: ApiEntity = {
apiVersion: 'backstage.io/v1beta1',
kind: 'API',
metadata: {
name: name ?? 'INTERNAL_instance_openapi_doc',
title: title ?? 'Your Backstage Instance documentation',
name: getOverride('metadata.name', 'backstage_openapi_doc'),
title: getOverride('metadata.title', 'Backstage API Documentation'),
annotations: {
[ANNOTATION_LOCATION]:
'internal-package:@backstage/plugin-catalog-backend-module-backstage-openapi',
@@ -250,9 +253,9 @@ export class InternalOpenApiDocumentationProvider implements EntityProvider {
},
},
spec: {
type: 'openapi',
lifecycle: 'production',
owner: 'backstage',
type: getOverride('spec.type', 'openapi'),
lifecycle: getOverride('spec.lifecycle', 'production'),
owner: getOverride('spec.owner', 'backstage'),
definition: JSON.stringify(
await loadSpecs({
baseUrl: this.config.getString('backend.baseUrl'),