diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 27a3d0529a..bae8dbf04f 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -21,7 +21,7 @@ "exports": { ".": "./src/index.ts", "./auditor": "./src/entrypoints/auditor/index.ts", - "./alpha/systemMetadata": "./src/entrypoints/systemMetadata/index.ts", + "./alpha": "./src/entrypoints/alpha.ts", "./auth": "./src/entrypoints/auth/index.ts", "./cache": "./src/entrypoints/cache/index.ts", "./database": "./src/entrypoints/database/index.ts", @@ -50,8 +50,8 @@ "auditor": [ "src/entrypoints/auditor/index.ts" ], - "alpha/systemMetadata": [ - "src/entrypoints/systemMetadata/index.ts" + "alpha": [ + "src/entrypoints/alpha.ts" ], "auth": [ "src/entrypoints/auth/index.ts" diff --git a/packages/backend-defaults/report-alpha.api.md b/packages/backend-defaults/report-alpha.api.md index 58277b5e1e..e20c6c0b95 100644 --- a/packages/backend-defaults/report-alpha.api.md +++ b/packages/backend-defaults/report-alpha.api.md @@ -17,6 +17,29 @@ export const actionsRegistryServiceFactory: ServiceFactory< // @public (undocumented) export const actionsServiceFactory: ServiceFactory< ActionsService, +import { BackstageInstance } from '@backstage/backend-plugin-api/alpha'; +import { LoggerService } from '@backstage/backend-plugin-api'; +import { RootConfigService } from '@backstage/backend-plugin-api'; +import { ServiceFactory } from '@backstage/backend-plugin-api'; +import { SystemMetadataService } from '@backstage/backend-plugin-api/alpha'; + +// Warning: (ae-missing-release-tag) "DefaultSystemMetadataService" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class DefaultSystemMetadataService implements SystemMetadataService { + constructor(options: { logger: LoggerService; config: RootConfigService }); + // (undocumented) + static create(pluginEnv: { + logger: LoggerService; + config: RootConfigService; + }): DefaultSystemMetadataService; + // (undocumented) + listInstances(): Promise; +} + +// @alpha +export const systemMetadataServiceFactory: ServiceFactory< + SystemMetadataService, 'plugin', 'singleton' >; diff --git a/packages/backend-defaults/src/entrypoints/alpha.ts b/packages/backend-defaults/src/entrypoints/alpha.ts new file mode 100644 index 0000000000..a26522c228 --- /dev/null +++ b/packages/backend-defaults/src/entrypoints/alpha.ts @@ -0,0 +1,16 @@ +/* + * Copyright 2024 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export * from './systemMetadata'; diff --git a/packages/backend-defaults/src/entrypoints/systemMetadata/lib/DefaultSystemMetadataService.ts b/packages/backend-defaults/src/entrypoints/systemMetadata/lib/DefaultSystemMetadataService.ts index 77030f2e43..1de37c3b42 100644 --- a/packages/backend-defaults/src/entrypoints/systemMetadata/lib/DefaultSystemMetadataService.ts +++ b/packages/backend-defaults/src/entrypoints/systemMetadata/lib/DefaultSystemMetadataService.ts @@ -23,6 +23,9 @@ import { SystemMetadataService, } from '@backstage/backend-plugin-api/alpha'; +/** + * @alpha + */ export class DefaultSystemMetadataService implements SystemMetadataService { private readonly logger: LoggerService; private readonly config: RootConfigService; diff --git a/packages/backend-plugin-api/src/services/definitions/SystemMetadataService.ts b/packages/backend-plugin-api/src/services/definitions/SystemMetadataService.ts index 9d85412beb..0f0fe2156d 100644 --- a/packages/backend-plugin-api/src/services/definitions/SystemMetadataService.ts +++ b/packages/backend-plugin-api/src/services/definitions/SystemMetadataService.ts @@ -14,12 +14,19 @@ * limitations under the License. */ +/** @internal */ type Target = string | { internal: string; external: string }; +/** + * @alpha + */ export interface BackstageInstance { url: Target; } +/** + * @alpha + */ export interface SystemMetadataService { listInstances(): Promise; } diff --git a/packages/backend-split/src/index.ts b/packages/backend-split/src/index.ts index ca5fcd93e8..52b7559867 100644 --- a/packages/backend-split/src/index.ts +++ b/packages/backend-split/src/index.ts @@ -15,7 +15,7 @@ */ import { createBackend } from '@backstage/backend-defaults'; -import { systemMetadataServiceFactory } from '@backstage/backend-defaults/alpha/systemMetadata'; +import { systemMetadataServiceFactory } from '@backstage/backend-defaults/alpha'; const backend = createBackend(); diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 87abbdcc93..a6f9b7b3e9 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -19,7 +19,7 @@ import { coreServices, createBackendFeatureLoader, } from '@backstage/backend-plugin-api'; -import { systemMetadataServiceFactory } from '@backstage/backend-defaults/alpha/systemMetadata'; +import { systemMetadataServiceFactory } from '@backstage/backend-defaults/alpha'; const backend = createBackend();