update release status wording for the new backend system

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2023-12-22 13:58:00 +01:00
parent 42c79de334
commit 2e6c56bb8e
22 changed files with 14 additions and 43 deletions
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
'@backstage/plugin-search-backend-module-techdocs': patch
'@backstage/plugin-search-backend-module-catalog': patch
'@backstage/plugin-search-backend-module-explore': patch
---
Update wording to show that the backend system no longer is in alpha
@@ -6,8 +6,6 @@ sidebar_label: Overview
description: The structure and architecture of the new Backend System and its component parts
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
## Building Blocks
This section introduces the high-level building blocks upon which this new
@@ -6,8 +6,6 @@ sidebar_label: Backend
description: Backend instances
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
## The Backend Instance
This is the main entry point for creating a backend. It does not have any functionality in and of itself, but is simply responsible for wiring things together.
@@ -6,8 +6,6 @@ sidebar_label: Services
description: Services for backend plugins
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
Backend services provide shared functionality available to all backend plugins and modules. They are made available through service references that embed a type that represents the service interface, similar to how [Utility APIs](../../api/utility-apis.md) work in the Backstage frontend system. To use a service in your plugin or module you request an implementation of that service using the service reference.
The system surrounding services exists to provide a level of indirection between the service interfaces and their implementation. It is an implementation of dependency injection, where each backend instance is the dependency injection container. The implementation for each service is provided by a service factory, which encapsulates the logic for how each service instance is created.
@@ -6,8 +6,6 @@ sidebar_label: Plugins
description: Backend plugins
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
Plugins provide the actual base features of a Backstage backend. Each plugin operates completely independently of all other plugins and they only communicate with each other through network calls. This means that there is a strong degree of isolation between plugins, and that each plugin can be considered a separate microservice. While a default Backstage project has all plugins installed within a single backend, it is also possible to split this setup into multiple backends, with each backend housing one or more plugins.
## Defining a Plugin
@@ -6,8 +6,6 @@ sidebar_label: Extension Points
description: Extension points of backend plugins
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
While plugins are able to use static configuration for lightweight forms of customization, you can quickly hit a limit where you need something more powerful to allow users to extend your plugin. For this purpose, the backend system provides a mechanism for plugins to provide extension points, which can be used to expose deeper customizations for your plugin. Extension points are used by modules, which are installed in the backend adjacent to plugins. Modules are covered more in-depth in the [next section](./06-modules.md).
Extension points are quite similar to services, in that they both encapsulate an interface in a reference object. The key difference is that extension points are registered and provided by plugins themselves, and do not have any factory associated with them. Extension points for a given plugin are also only accessible to modules that extend that same plugin.
@@ -6,8 +6,6 @@ sidebar_label: Modules
description: Modules for backend plugins
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
Backend modules are used to extend [plugins](./04-plugins.md) or sometimes other modules with additional features or change existing behavior. They must always be installed in the same backend instance as the plugin that they extend, and may only extend a single plugin. Modules interact with their target plugin using the [extension points](./05-extension-points.md) registered by the plugin, while also being able to depend on the [services](./03-services.md) of that plugin.
Both modules and plugins register an `init` method that is called during startup. In order to ensure that modules have registered all their extensions before the plugin starts up, all modules for each plugin are completely initialized before the plugin itself is initialized. In practice this means that all promises returned by each `init` method of the modules need to resolve before the plugin `init` method is called. This also means that it is not possible to further interact with the extension points once the `init` method has resolved.
@@ -6,8 +6,6 @@ sidebar_label: Naming Patterns
description: Naming patterns in the backend system
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
These are the naming patterns to adhere to within the backend system. They help us keep exports consistent across packages and make it easier to understand the usage and intent of exports.
As a rule, all names should be camel case, with the exceptions of plugin and module IDs, which should be kebab case.
@@ -6,8 +6,6 @@ sidebar_label: Overview
description: Building backends using the new backend system
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
> NOTE: If you have an existing backend that is not yet using the new backend
> system, see [migrating](./08-migrating.md).
@@ -6,8 +6,6 @@ sidebar_label: Migration Guide
description: How to migrate existing backends to the new backend system
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
## Overview
This section describes how to migrate an existing Backstage backend service
@@ -6,8 +6,6 @@ sidebar_label: Overview
description: Building backend plugins and modules using the new backend system
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
> NOTE: If you have an existing backend and/or backend plugins that are not yet
> using the new backend system, see [migrating](./08-migrating.md).
@@ -6,8 +6,6 @@ sidebar_label: Testing
description: Learn how to test your backend plugins and modules
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
Utilities for testing backend plugins and modules are available in
`@backstage/backend-test-utils`. This section describes those facilities.
@@ -6,8 +6,6 @@ sidebar_label: Migration Guide
description: How to migrate existing backend plugins to the new backend system
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
Migrating an existing backend plugin to the new backend system is fairly straightforward. The process is similar across the majority of plugins which just return a `Router` that is then wired up in the `index.ts` file of your backend. The primary thing that we need to do is to make sure that the dependencies that are required by the plugin are available, and then registering the router with the HTTP router service.
Let's look at an example of migrating the Kubernetes backend plugin. In the existing (old) system, the kubernetes backend is structured like this:
@@ -6,8 +6,6 @@ sidebar_label: Overview
description: Core backend service APIs
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
The default backend provides several [core services](https://github.com/backstage/backstage/blob/master/packages/backend-plugin-api/src/services/definitions/coreServices.ts) out of the box which includes access to configuration, logging, URL Readers, databases and more.
All core services are available through the `coreServices` namespace in the `@backstage/backend-plugin-api` package.
+1 -3
View File
@@ -6,10 +6,8 @@ sidebar_label: Introduction
description: The Backend System
---
> **NOTE: The new backend system is in alpha, and some plugins do not yet fully implement it.**
## Status
The new backend system is in alpha, but many plugins have already been migrated. We recommend all plugins to migrate to the new system, and you can also try it out in your own production deployments.
The new backend system is released and ready for production use, and many plugins and modules have already been migrated. We recommend all plugins and deployments to migrate to the new system.
You can find an example backend setup in [the `backend-next` package](https://github.com/backstage/backstage/tree/master/packages/backend-next).
-2
View File
@@ -391,8 +391,6 @@ There are other more specific search results layout components that also accept
## How to migrate your backend installation to use Search together with the new backend system
> DISCLAIMER: The new backend system is in alpha, and so are the search backend support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, this is the guide for you!
Recently, the Backstage maintainers [announced the new Backend System](https://backstage.io/blog/2023/02/15/backend-system-alpha). The search plugins are now migrated to support the new backend system. In this guide you will learn how to update your backend set up.
In "packages/backend-next/index.ts", install the search plugin [1], the search engine [2], and the search collators/decorators modules [3]:
+3 -4
View File
@@ -6,25 +6,24 @@ description: Details of the new backend system
## Status
The new backend system is in alpha, and some plugins do not yet fully implement it. But do feel free to try it out! We would love to hear back about your impressions.
The new backend system is released and ready for production use, and many plugins and modules have already been migrated. We recommend all plugins and deployments to migrate to the new system.
You can find an example backend setup in [the backend-next package](https://github.com/backstage/backstage/tree/master/packages/backend-next).
## Overview
The new Backstage backend system is being built to help make it simpler to install backend plugins and to keep projects up to date. It also changes the foundation to one that makes it a lot easier to evolve plugins and the system itself with minimal disruption or cause for breaking changes. You can read more about the reasoning in the [original RFC](https://github.com/backstage/backstage/issues/11611).
The new Backstage backend system was built to help make it simpler to install backend plugins and to keep projects up to date. It also changed the foundation to one that makes it a lot easier to evolve plugins and the system itself with minimal disruption or cause for breaking changes. You can read more about the reasoning in the [original RFC](https://github.com/backstage/backstage/issues/11611).
One of the goals of the new system was to reduce the code needed for setting up a Backstage backend and installing plugins. This is an example of how you create, add features, and start up your backend in the new system:
```ts
import { createBackend } from '@backstage/backend-defaults';
import { catalogPlugin } from '@backstage/plugin-catalog-backend';
// Create your backend instance
const backend = createBackend();
// Install all desired features
backend.add(catalogPlugin());
backend.add(import('@backstage/plugin-catalog-backend'));
// Start up the backend
await backend.start();
@@ -7,6 +7,8 @@ authorImageURL: https://avatars.githubusercontent.com/u/4984472?v=4
![backend system alpha header image](assets/2023-02-15/backend-system-alpha.gif)
> UPDATE: The backend system is now released! See [the v1.18 release notes](https://backstage.io/docs/releases/v1.18.0).
For the past year, the Backstage maintainer team has been spending time to give the [old Backstage backend system](https://backstage.io/docs/plugins/backend-plugin) a much needed revamp. Our goal was not to build something completely new from scratch, but rather to solidify the existing foundations that have grown organically. We wanted to make plugin installation a lot simpler, while maintaining and even improving the ways in which you can customize your backend setups.
Were happy to announce that the [v1.11](https://backstage.io/docs/releases/v1.11.0) release includes the public alpha of the [new Backstage backend system](https://backstage.io/docs/backend-system/)! The system has already been available to use for some time, as some of you have already found, but this alpha release marks the point where we are finally ready to encourage widespread adoption by plugin builders. We still dont recommend that you use this new system in your production setups just yet, more on that later.
@@ -1,7 +1,5 @@
# search-backend-module-catalog
> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below.
This package exports a module that extends the search backend to also indexing the entities of your catalog.
## Installation
@@ -1,7 +1,5 @@
# search-backend-module-explore
> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below.
This package exports a module that extends the search backend to also indexing the tools exposed by the [`explore` service](https://github.com/backstage/backstage/tree/master/plugins/explore-backend).
## Installation
@@ -65,8 +65,6 @@ indexBuilder.addCollator({
## New Backend System
> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below.
This package exports a module that extends the search backend to also indexing the questions exposed by the [`Stack Overflow` API](https://api.stackexchange.com/docs/questions).
### Installation
@@ -1,7 +1,5 @@
# search-backend-module-techdocs
> DISCLAIMER: The new backend system is in alpha, and so are the search backend module support for the new backend system. We don't recommend you to migrate your backend installations to the new system yet. But if you want to experiment, you can find getting started guides below.
This package exports a module that extends the search backend to also index techdocs.
## Installation