diff --git a/plugins/permission-backend/api-report.md b/plugins/permission-backend/api-report.md index 1450382881..4fb0928b0b 100644 --- a/plugins/permission-backend/api-report.md +++ b/plugins/permission-backend/api-report.md @@ -3,10 +3,10 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts -import { Config } from '@backstage/config'; import express from 'express'; import { Logger as Logger_2 } from 'winston'; import { PermissionPolicy } from '@backstage/plugin-permission-node'; +import { PluginEndpointDiscovery } from '@backstage/backend-common'; // Warning: (ae-missing-release-tag) "createRouter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -18,7 +18,7 @@ export function createRouter(options: RouterOptions): Promise; // @public (undocumented) export interface RouterOptions { // (undocumented) - config: Config; + discovery: PluginEndpointDiscovery; // (undocumented) logger: Logger_2; // (undocumented) diff --git a/plugins/permission-backend/src/service/router.test.ts b/plugins/permission-backend/src/service/router.test.ts index 73b816f752..13261125c8 100644 --- a/plugins/permission-backend/src/service/router.test.ts +++ b/plugins/permission-backend/src/service/router.test.ts @@ -17,7 +17,6 @@ import express from 'express'; import request from 'supertest'; import { getVoidLogger } from '@backstage/backend-common'; -import { ConfigReader } from '@backstage/config'; import { AuthorizeResult, Permission, @@ -67,12 +66,10 @@ describe('createRouter', () => { beforeAll(async () => { const router = await createRouter({ logger: getVoidLogger(), - config: new ConfigReader({ - backend: { - baseUrl: 'http://localhost', - listen: { port: 7007 }, - }, - }), + discovery: { + getBaseUrl: jest.fn(), + getExternalBaseUrl: jest.fn(), + }, policy, }); diff --git a/plugins/permission-backend/src/service/router.ts b/plugins/permission-backend/src/service/router.ts index 9114b8fee2..744982e2e3 100644 --- a/plugins/permission-backend/src/service/router.ts +++ b/plugins/permission-backend/src/service/router.ts @@ -16,7 +16,6 @@ import { errorHandler, - SingleHostDiscovery, PluginEndpointDiscovery, } from '@backstage/backend-common'; import express, { Request, Response } from 'express'; @@ -26,7 +25,6 @@ import { BackstageIdentity, IdentityClient, } from '@backstage/plugin-auth-backend'; -import { Config } from '@backstage/config'; import { ConflictError } from '@backstage/errors'; import { AuthorizeResult, @@ -39,7 +37,7 @@ import { PermissionIntegrationClient } from './PermissionIntegrationClient'; export interface RouterOptions { logger: Logger; - config: Config; + discovery: PluginEndpointDiscovery; policy: PermissionPolicy; } @@ -84,8 +82,8 @@ const handleRequest = async ( export async function createRouter( options: RouterOptions, ): Promise { - const { config, policy } = options; - const discovery = SingleHostDiscovery.fromConfig(config); + const { policy, discovery } = options; + const identity = new IdentityClient({ discovery, issuer: await discovery.getExternalBaseUrl('auth'), diff --git a/plugins/permission-backend/src/service/standaloneServer.ts b/plugins/permission-backend/src/service/standaloneServer.ts index 87c62c6234..a2478ac57b 100644 --- a/plugins/permission-backend/src/service/standaloneServer.ts +++ b/plugins/permission-backend/src/service/standaloneServer.ts @@ -17,6 +17,7 @@ import { createServiceBuilder, loadBackendConfig, + SingleHostDiscovery, } from '@backstage/backend-common'; import { Server } from 'http'; import { Logger } from 'winston'; @@ -34,10 +35,11 @@ export async function startStandaloneServer( ): Promise { const logger = options.logger.child({ service: 'permission-backend' }); const config = await loadBackendConfig({ logger, argv: process.argv }); + const discovery = SingleHostDiscovery.fromConfig(config); logger.debug('Starting application server...'); const router = await createRouter({ logger, - config, + discovery, policy: new AllowAllPermissionPolicy(), });