From 207f9624612b2b4f59dd47f9f7f483ec865de5a4 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Mon, 13 May 2024 12:45:28 +0200 Subject: [PATCH] catalog-github: defaultNamespace to alwaysUseDefaultNamespace Signed-off-by: Vincenzo Scamporlino --- .changeset/wild-cats-hug.md | 2 +- plugins/catalog-backend-module-github-org/src/module.ts | 2 +- plugins/catalog-backend-module-github/api-report.md | 4 ++-- .../src/providers/GithubMultiOrgEntityProvider.test.ts | 4 ++-- .../src/providers/GithubMultiOrgEntityProvider.ts | 8 ++++---- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.changeset/wild-cats-hug.md b/.changeset/wild-cats-hug.md index 180bf50747..e33d399dab 100644 --- a/.changeset/wild-cats-hug.md +++ b/.changeset/wild-cats-hug.md @@ -2,6 +2,6 @@ '@backstage/plugin-catalog-backend-module-github': patch --- -Added `defaultNamespace` option to `GithubMultiOrgEntityProvider`. +Added `alwaysUseDefaultNamespace` option to `GithubMultiOrgEntityProvider`. If set to true, the provider will use `default` as the namespace for all group entities. Groups with the same name across different orgs will be considered the same group. diff --git a/plugins/catalog-backend-module-github-org/src/module.ts b/plugins/catalog-backend-module-github-org/src/module.ts index 517968c4f0..afcf2df976 100644 --- a/plugins/catalog-backend-module-github-org/src/module.ts +++ b/plugins/catalog-backend-module-github-org/src/module.ts @@ -120,7 +120,7 @@ export const catalogModuleGithubOrgEntityProvider = createBackendModule({ logger, userTransformer, teamTransformer, - defaultNamespace: + alwaysUseDefaultNamespace: definitions.length === 1 && definition.orgs?.length === 1, }), ); diff --git a/plugins/catalog-backend-module-github/api-report.md b/plugins/catalog-backend-module-github/api-report.md index 3c7b563593..0b68170255 100644 --- a/plugins/catalog-backend-module-github/api-report.md +++ b/plugins/catalog-backend-module-github/api-report.md @@ -150,7 +150,7 @@ export class GithubMultiOrgEntityProvider implements EntityProvider { orgs?: string[]; userTransformer?: UserTransformer; teamTransformer?: TeamTransformer; - defaultNamespace?: boolean; + alwaysUseDefaultNamespace?: boolean; }); // (undocumented) connect(connection: EntityProviderConnection): Promise; @@ -166,7 +166,7 @@ export class GithubMultiOrgEntityProvider implements EntityProvider { // @public export interface GithubMultiOrgEntityProviderOptions { - defaultNamespace?: boolean; + alwaysUseDefaultNamespace?: boolean; events?: EventsService; githubCredentialsProvider?: GithubCredentialsProvider; githubUrl: string; diff --git a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts index 87d197d4ea..c89901fcb3 100644 --- a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts +++ b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts @@ -647,7 +647,7 @@ describe('GithubMultiOrgEntityProvider', () => { }); }); - it('should use the default namespace if options.defaultNamespace is provided', async () => { + it('should use the default namespace if options.alwaysUseDefaultNamespace is provided', async () => { mockClient .mockResolvedValueOnce({ organization: { @@ -764,7 +764,7 @@ describe('GithubMultiOrgEntityProvider', () => { githubUrl: 'https://github.com', logger, orgs: ['orgA', 'orgB'], - defaultNamespace: true, + alwaysUseDefaultNamespace: true, }); await entityProvider.connect(entityProviderConnection); diff --git a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts index bac6383459..756b9902c6 100644 --- a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts +++ b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts @@ -150,7 +150,7 @@ export interface GithubMultiOrgEntityProviderOptions { * * If set to true, groups with the same name across different orgs will be considered the same group. */ - defaultNamespace?: boolean; + alwaysUseDefaultNamespace?: boolean; /** * Optionally include a user transformer for transforming from GitHub users to User Entities @@ -207,7 +207,7 @@ export class GithubMultiOrgEntityProvider implements EntityProvider { userTransformer: options.userTransformer, teamTransformer: options.teamTransformer, events: options.events, - defaultNamespace: options.defaultNamespace, + alwaysUseDefaultNamespace: options.alwaysUseDefaultNamespace, }); provider.schedule(options.schedule); @@ -226,7 +226,7 @@ export class GithubMultiOrgEntityProvider implements EntityProvider { orgs?: string[]; userTransformer?: UserTransformer; teamTransformer?: TeamTransformer; - defaultNamespace?: boolean; + alwaysUseDefaultNamespace?: boolean; }, ) {} @@ -857,7 +857,7 @@ export class GithubMultiOrgEntityProvider implements EntityProvider { const result = await defaultOrganizationTeamTransformer(team, ctx); if (result && result.spec) { - if (!this.options.defaultNamespace) { + if (!this.options.alwaysUseDefaultNamespace) { result.metadata.namespace = ctx.org.toLocaleLowerCase('en-US'); }