@pagerduty/backstage-plugin-backend 0.9.11 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,10 +50,13 @@ const pagerDutyPlugin = backendPluginApi.createBackendPlugin({
50
50
  })
51
51
  })
52
52
  );
53
- httpRouter.addAuthPolicy({
54
- path: "/",
55
- allow: "unauthenticated"
56
- });
53
+ const enableUnauthenticatedAccess = config.getOptionalBoolean("pagerDuty.enableUnauthenticatedAccess") ?? false;
54
+ if (enableUnauthenticatedAccess === true) {
55
+ httpRouter.addAuthPolicy({
56
+ path: "/",
57
+ allow: "unauthenticated"
58
+ });
59
+ }
57
60
  }
58
61
  });
59
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n AuthService,\n LoggerService,\n coreServices,\n createBackendPlugin,\n} from '@backstage/backend-plugin-api';\nimport { createRouter } from './service/router';\nimport { PagerDutyBackendDatabase, PagerDutyBackendStore } from './db';\nimport { CatalogClient } from '@backstage/catalog-client';\n\nclass CatalogFetchApi {\n constructor(\n private readonly logger: LoggerService,\n private readonly auth: AuthService,\n ) {}\n\n async fetch(\n input: unknown,\n init: RequestInit | undefined,\n ): Promise<Response> {\n const request = new Request(input as RequestInfo | URL, init);\n const { token } = await this.auth.getPluginRequestToken({\n onBehalfOf: await this.auth.getOwnServiceCredentials(),\n targetPluginId: 'catalog',\n });\n\n request.headers.set('Authorization', `Bearer ${token}`);\n this.logger.debug(`Added token to outgoing request to ${request.url}`);\n return fetch(request);\n }\n}\n\n/** @public */\nexport const pagerDutyPlugin = createBackendPlugin({\n pluginId: 'pagerduty',\n register(env) {\n env.registerInit({\n deps: {\n logger: coreServices.logger,\n config: coreServices.rootConfig,\n httpRouter: coreServices.httpRouter,\n database: coreServices.database,\n discovery: coreServices.discovery,\n auth: coreServices.auth,\n },\n async init({ config, logger, httpRouter, database, discovery, auth }) {\n const pagerDutyBackendStore: PagerDutyBackendStore =\n await PagerDutyBackendDatabase.create(await database.getClient(), {\n skipMigrations: false,\n });\n\n httpRouter.use(\n await createRouter({\n config,\n logger,\n store: pagerDutyBackendStore,\n discovery,\n auth,\n catalogApi: new CatalogClient({\n discoveryApi: discovery,\n fetchApi: new CatalogFetchApi(logger, auth),\n }),\n }),\n );\n httpRouter.addAuthPolicy({\n path: '/',\n allow: 'unauthenticated',\n });\n },\n });\n },\n});\n"],"names":["createBackendPlugin","coreServices","PagerDutyBackendDatabase","createRouter","CatalogClient"],"mappings":";;;;;;;AAUA,MAAM,eAAA,CAAgB;AAAA,EACpB,WAAA,CACmB,QACA,IAAA,EACjB;AAFiB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AAAA,EAChB;AAAA,EAEH,MAAM,KAAA,CACJ,KAAA,EACA,IAAA,EACmB;AACnB,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ,KAAA,EAA4B,IAAI,CAAA;AAC5D,IAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAM,IAAA,CAAK,KAAK,qBAAA,CAAsB;AAAA,MACtD,UAAA,EAAY,MAAM,IAAA,CAAK,IAAA,CAAK,wBAAA,EAAyB;AAAA,MACrD,cAAA,EAAgB;AAAA,KACjB,CAAA;AAED,IAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,eAAA,EAAiB,CAAA,OAAA,EAAU,KAAK,CAAA,CAAE,CAAA;AACtD,IAAA,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA,mCAAA,EAAsC,OAAA,CAAQ,GAAG,CAAA,CAAE,CAAA;AACrE,IAAA,OAAO,MAAM,OAAO,CAAA;AAAA,EACtB;AACF;AAGO,MAAM,kBAAkBA,oCAAA,CAAoB;AAAA,EACjD,QAAA,EAAU,WAAA;AAAA,EACV,SAAS,GAAA,EAAK;AACZ,IAAA,GAAA,CAAI,YAAA,CAAa;AAAA,MACf,IAAA,EAAM;AAAA,QACJ,QAAQC,6BAAA,CAAa,MAAA;AAAA,QACrB,QAAQA,6BAAA,CAAa,UAAA;AAAA,QACrB,YAAYA,6BAAA,CAAa,UAAA;AAAA,QACzB,UAAUA,6BAAA,CAAa,QAAA;AAAA,QACvB,WAAWA,6BAAA,CAAa,SAAA;AAAA,QACxB,MAAMA,6BAAA,CAAa;AAAA,OACrB;AAAA,MACA,MAAM,KAAK,EAAE,MAAA,EAAQ,QAAQ,UAAA,EAAY,QAAA,EAAU,SAAA,EAAW,IAAA,EAAK,EAAG;AACpE,QAAA,MAAM,wBACJ,MAAMC,iDAAA,CAAyB,OAAO,MAAM,QAAA,CAAS,WAAU,EAAG;AAAA,UAChE,cAAA,EAAgB;AAAA,SACjB,CAAA;AAEH,QAAA,UAAA,CAAW,GAAA;AAAA,UACT,MAAMC,mBAAA,CAAa;AAAA,YACjB,MAAA;AAAA,YACA,MAAA;AAAA,YACA,KAAA,EAAO,qBAAA;AAAA,YACP,SAAA;AAAA,YACA,IAAA;AAAA,YACA,UAAA,EAAY,IAAIC,2BAAA,CAAc;AAAA,cAC5B,YAAA,EAAc,SAAA;AAAA,cACd,QAAA,EAAU,IAAI,eAAA,CAAgB,MAAA,EAAQ,IAAI;AAAA,aAC3C;AAAA,WACF;AAAA,SACH;AACA,QAAA,UAAA,CAAW,aAAA,CAAc;AAAA,UACvB,IAAA,EAAM,GAAA;AAAA,UACN,KAAA,EAAO;AAAA,SACR,CAAA;AAAA,MACH;AAAA,KACD,CAAA;AAAA,EACH;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n AuthService,\n LoggerService,\n coreServices,\n createBackendPlugin,\n} from '@backstage/backend-plugin-api';\nimport { createRouter } from './service/router';\nimport { PagerDutyBackendDatabase, PagerDutyBackendStore } from './db';\nimport { CatalogClient } from '@backstage/catalog-client';\n\nclass CatalogFetchApi {\n constructor(\n private readonly logger: LoggerService,\n private readonly auth: AuthService,\n ) { }\n\n async fetch(\n input: unknown,\n init: RequestInit | undefined,\n ): Promise<Response> {\n const request = new Request(input as RequestInfo | URL, init);\n const { token } = await this.auth.getPluginRequestToken({\n onBehalfOf: await this.auth.getOwnServiceCredentials(),\n targetPluginId: 'catalog',\n });\n\n request.headers.set('Authorization', `Bearer ${token}`);\n this.logger.debug(`Added token to outgoing request to ${request.url}`);\n return fetch(request);\n }\n}\n\n/** @public */\nexport const pagerDutyPlugin = createBackendPlugin({\n pluginId: 'pagerduty',\n register(env) {\n env.registerInit({\n deps: {\n logger: coreServices.logger,\n config: coreServices.rootConfig,\n httpRouter: coreServices.httpRouter,\n database: coreServices.database,\n discovery: coreServices.discovery,\n auth: coreServices.auth,\n },\n async init({ config, logger, httpRouter, database, discovery, auth }) {\n const pagerDutyBackendStore: PagerDutyBackendStore =\n await PagerDutyBackendDatabase.create(await database.getClient(), {\n skipMigrations: false,\n });\n\n httpRouter.use(\n await createRouter({\n config,\n logger,\n store: pagerDutyBackendStore,\n discovery,\n auth,\n catalogApi: new CatalogClient({\n discoveryApi: discovery,\n fetchApi: new CatalogFetchApi(logger, auth),\n }),\n }),\n );\n // The default Backstage behaviour is to require authentication on routes.\n // https://backstage.io/docs/backend-system/core-services/http-router/#using-the-service\n // Setting enableUnauthenticatedAccess to true will allow unauthenticated access to the PagerDuty plugin routes.\n const enableUnauthenticatedAccess: boolean = config.getOptionalBoolean('pagerDuty.enableUnauthenticatedAccess') ?? false;\n if (enableUnauthenticatedAccess === true) {\n httpRouter.addAuthPolicy({\n path: '/',\n allow: 'unauthenticated',\n });\n }\n },\n });\n },\n});\n"],"names":["createBackendPlugin","coreServices","PagerDutyBackendDatabase","createRouter","CatalogClient"],"mappings":";;;;;;;AAUA,MAAM,eAAA,CAAgB;AAAA,EACpB,WAAA,CACmB,QACA,IAAA,EACjB;AAFiB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AAAA,EACf;AAAA,EAEJ,MAAM,KAAA,CACJ,KAAA,EACA,IAAA,EACmB;AACnB,IAAA,MAAM,OAAA,GAAU,IAAI,OAAA,CAAQ,KAAA,EAA4B,IAAI,CAAA;AAC5D,IAAA,MAAM,EAAE,KAAA,EAAM,GAAI,MAAM,IAAA,CAAK,KAAK,qBAAA,CAAsB;AAAA,MACtD,UAAA,EAAY,MAAM,IAAA,CAAK,IAAA,CAAK,wBAAA,EAAyB;AAAA,MACrD,cAAA,EAAgB;AAAA,KACjB,CAAA;AAED,IAAA,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,eAAA,EAAiB,CAAA,OAAA,EAAU,KAAK,CAAA,CAAE,CAAA;AACtD,IAAA,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA,mCAAA,EAAsC,OAAA,CAAQ,GAAG,CAAA,CAAE,CAAA;AACrE,IAAA,OAAO,MAAM,OAAO,CAAA;AAAA,EACtB;AACF;AAGO,MAAM,kBAAkBA,oCAAA,CAAoB;AAAA,EACjD,QAAA,EAAU,WAAA;AAAA,EACV,SAAS,GAAA,EAAK;AACZ,IAAA,GAAA,CAAI,YAAA,CAAa;AAAA,MACf,IAAA,EAAM;AAAA,QACJ,QAAQC,6BAAA,CAAa,MAAA;AAAA,QACrB,QAAQA,6BAAA,CAAa,UAAA;AAAA,QACrB,YAAYA,6BAAA,CAAa,UAAA;AAAA,QACzB,UAAUA,6BAAA,CAAa,QAAA;AAAA,QACvB,WAAWA,6BAAA,CAAa,SAAA;AAAA,QACxB,MAAMA,6BAAA,CAAa;AAAA,OACrB;AAAA,MACA,MAAM,KAAK,EAAE,MAAA,EAAQ,QAAQ,UAAA,EAAY,QAAA,EAAU,SAAA,EAAW,IAAA,EAAK,EAAG;AACpE,QAAA,MAAM,wBACJ,MAAMC,iDAAA,CAAyB,OAAO,MAAM,QAAA,CAAS,WAAU,EAAG;AAAA,UAChE,cAAA,EAAgB;AAAA,SACjB,CAAA;AAEH,QAAA,UAAA,CAAW,GAAA;AAAA,UACT,MAAMC,mBAAA,CAAa;AAAA,YACjB,MAAA;AAAA,YACA,MAAA;AAAA,YACA,KAAA,EAAO,qBAAA;AAAA,YACP,SAAA;AAAA,YACA,IAAA;AAAA,YACA,UAAA,EAAY,IAAIC,2BAAA,CAAc;AAAA,cAC5B,YAAA,EAAc,SAAA;AAAA,cACd,QAAA,EAAU,IAAI,eAAA,CAAgB,MAAA,EAAQ,IAAI;AAAA,aAC3C;AAAA,WACF;AAAA,SACH;AAIA,QAAA,MAAM,2BAAA,GAAuC,MAAA,CAAO,kBAAA,CAAmB,uCAAuC,CAAA,IAAK,KAAA;AACnH,QAAA,IAAI,gCAAgC,IAAA,EAAM;AACxC,UAAA,UAAA,CAAW,aAAA,CAAc;AAAA,YACvB,IAAA,EAAM,GAAA;AAAA,YACN,KAAA,EAAO;AAAA,WACR,CAAA;AAAA,QACH;AAAA,MACF;AAAA,KACD,CAAA;AAAA,EACH;AACF,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagerduty/backstage-plugin-backend",
3
- "version": "0.9.11",
3
+ "version": "0.10.0",
4
4
  "main": "dist/index.cjs.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "Apache-2.0",