From 19ff127dca2c9bcde00c70eb8bea3eea3139534c Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 21 Aug 2024 19:05:39 +0200 Subject: [PATCH] changesets: added changesets for identity and token manager removal Signed-off-by: Patrik Oldsberg --- .changeset/brown-actors-clap.md | 5 +++ .changeset/kind-moose-learn.md | 5 +++ .changeset/large-poets-check.md | 11 ++++++ .changeset/popular-cooks-camp.md | 5 +++ .changeset/swift-radios-enjoy.md | 5 +++ .changeset/twenty-clouds-melt.md | 64 ++++++++++++++++++++++++++++++++ 6 files changed, 95 insertions(+) create mode 100644 .changeset/brown-actors-clap.md create mode 100644 .changeset/kind-moose-learn.md create mode 100644 .changeset/large-poets-check.md create mode 100644 .changeset/popular-cooks-camp.md create mode 100644 .changeset/swift-radios-enjoy.md create mode 100644 .changeset/twenty-clouds-melt.md diff --git a/.changeset/brown-actors-clap.md b/.changeset/brown-actors-clap.md new file mode 100644 index 0000000000..af25a6e87f --- /dev/null +++ b/.changeset/brown-actors-clap.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-plugin-api': minor +--- + +**BREAKING**: The deprecated identity and token manager services have been removed. This means that `coreServices.identity` and `coreServices.tokenManager` are gone, along with related types and utilities in other packages. diff --git a/.changeset/kind-moose-learn.md b/.changeset/kind-moose-learn.md new file mode 100644 index 0000000000..810064b1a1 --- /dev/null +++ b/.changeset/kind-moose-learn.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-app-api': minor +--- + +**BREAKING**: The deprecated `identityServiceFactory` and `tokenManagerServiceFactory` have been removed. diff --git a/.changeset/large-poets-check.md b/.changeset/large-poets-check.md new file mode 100644 index 0000000000..393d26ac9b --- /dev/null +++ b/.changeset/large-poets-check.md @@ -0,0 +1,11 @@ +--- +'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch +'@backstage/plugin-search-backend-module-techdocs': patch +'@backstage/plugin-search-backend-module-catalog': patch +'@backstage/plugin-search-backend-module-explore': patch +'@backstage/plugin-permission-node': patch +'@backstage/plugin-signals-backend': patch +'@backstage/plugin-auth-backend': patch +--- + +Internal refactor to remove dependencies on the identity and token manager services, which have been removed. Public APIs no longer require the identity service or token manager to be provided. diff --git a/.changeset/popular-cooks-camp.md b/.changeset/popular-cooks-camp.md new file mode 100644 index 0000000000..4049825efd --- /dev/null +++ b/.changeset/popular-cooks-camp.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-test-utils': minor +--- + +**BREAKING**: Removed service mocks for the identity and token manager services, which have been removed from `@backstage/backend-plugin-api`. diff --git a/.changeset/swift-radios-enjoy.md b/.changeset/swift-radios-enjoy.md new file mode 100644 index 0000000000..495117e3c6 --- /dev/null +++ b/.changeset/swift-radios-enjoy.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Internal refactor to re-declare the token manager service which was removed from `@backstage/backend-plugin-api`, but is still supported in this package for backwards compatibility. diff --git a/.changeset/twenty-clouds-melt.md b/.changeset/twenty-clouds-melt.md new file mode 100644 index 0000000000..dee2b0f8ef --- /dev/null +++ b/.changeset/twenty-clouds-melt.md @@ -0,0 +1,64 @@ +--- +'@backstage/backend-defaults': minor +--- + +**BREAKING**: The default backend instance no longer provides implementations for the identity and token manager services, which have been removed from `@backstage/backend-plugin-api`. + +If you rely on plugins that still require these services, you can add them to your own backend by re-creating the service reference and factory. + +The following can be used to implement the identity service: + +```ts +import { + coreServices, + createServiceFactory, + createServiceRef, +} from '@backstage/backend-plugin-api'; +import { + DefaultIdentityClient, + IdentityApi, +} from '@backstage/plugin-auth-node'; + +backend.add( + createServiceFactory({ + service: createServiceRef({ id: 'core.identity' }), + deps: { + discovery: coreServices.discovery, + }, + async factory({ discovery }) { + return DefaultIdentityClient.create({ discovery }); + }, + }), +); +``` + +The following can be used to implement the token manager service: + +```ts +import { ServerTokenManager, TokenManager } from '@backstage/backend-common'; +import { createBackend } from '@backstage/backend-defaults'; +import { + coreServices, + createServiceFactory, + createServiceRef, +} from '@backstage/backend-plugin-api'; + +backend.add( + createServiceFactory({ + service: createServiceRef({ id: 'core.tokenManager' }), + deps: { + config: coreServices.rootConfig, + logger: coreServices.rootLogger, + }, + createRootContext({ config, logger }) { + return ServerTokenManager.fromConfig(config, { + logger, + allowDisabledTokenManager: true, + }); + }, + async factory(_deps, tokenManager) { + return tokenManager; + }, + }), +); +```