diff --git a/.changeset/orange-planets-suffer.md b/.changeset/orange-planets-suffer.md new file mode 100644 index 0000000000..bc14a8cf8f --- /dev/null +++ b/.changeset/orange-planets-suffer.md @@ -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 diff --git a/docs/backend-system/architecture/01-index.md b/docs/backend-system/architecture/01-index.md index 6f1a3dd4d1..9c37df7b66 100644 --- a/docs/backend-system/architecture/01-index.md +++ b/docs/backend-system/architecture/01-index.md @@ -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 diff --git a/docs/backend-system/architecture/02-backends.md b/docs/backend-system/architecture/02-backends.md index c64024d653..3386cff3f7 100644 --- a/docs/backend-system/architecture/02-backends.md +++ b/docs/backend-system/architecture/02-backends.md @@ -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. diff --git a/docs/backend-system/architecture/03-services.md b/docs/backend-system/architecture/03-services.md index df610f45ab..573f6612c2 100644 --- a/docs/backend-system/architecture/03-services.md +++ b/docs/backend-system/architecture/03-services.md @@ -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. diff --git a/docs/backend-system/architecture/04-plugins.md b/docs/backend-system/architecture/04-plugins.md index e93a6a39b2..195c32b049 100644 --- a/docs/backend-system/architecture/04-plugins.md +++ b/docs/backend-system/architecture/04-plugins.md @@ -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 diff --git a/docs/backend-system/architecture/05-extension-points.md b/docs/backend-system/architecture/05-extension-points.md index e6eb0a9e16..4b7f893f0b 100644 --- a/docs/backend-system/architecture/05-extension-points.md +++ b/docs/backend-system/architecture/05-extension-points.md @@ -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. diff --git a/docs/backend-system/architecture/06-modules.md b/docs/backend-system/architecture/06-modules.md index b15c873c39..eb00e737e3 100644 --- a/docs/backend-system/architecture/06-modules.md +++ b/docs/backend-system/architecture/06-modules.md @@ -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. diff --git a/docs/backend-system/architecture/07-naming-patterns.md b/docs/backend-system/architecture/07-naming-patterns.md index 9af1e09a27..f45355acf0 100644 --- a/docs/backend-system/architecture/07-naming-patterns.md +++ b/docs/backend-system/architecture/07-naming-patterns.md @@ -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. diff --git a/docs/backend-system/building-backends/01-index.md b/docs/backend-system/building-backends/01-index.md index 3c6c51be51..b1c85aad5d 100644 --- a/docs/backend-system/building-backends/01-index.md +++ b/docs/backend-system/building-backends/01-index.md @@ -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). diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md index f866cb63d1..6f27f3005a 100644 --- a/docs/backend-system/building-backends/08-migrating.md +++ b/docs/backend-system/building-backends/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 diff --git a/docs/backend-system/building-plugins-and-modules/01-index.md b/docs/backend-system/building-plugins-and-modules/01-index.md index 0f12e81a8c..168646afab 100644 --- a/docs/backend-system/building-plugins-and-modules/01-index.md +++ b/docs/backend-system/building-plugins-and-modules/01-index.md @@ -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). diff --git a/docs/backend-system/building-plugins-and-modules/02-testing.md b/docs/backend-system/building-plugins-and-modules/02-testing.md index 4bab1d1b9b..f8af2bcabe 100644 --- a/docs/backend-system/building-plugins-and-modules/02-testing.md +++ b/docs/backend-system/building-plugins-and-modules/02-testing.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. diff --git a/docs/backend-system/building-plugins-and-modules/08-migrating.md b/docs/backend-system/building-plugins-and-modules/08-migrating.md index cc920c576e..8a31251ee8 100644 --- a/docs/backend-system/building-plugins-and-modules/08-migrating.md +++ b/docs/backend-system/building-plugins-and-modules/08-migrating.md @@ -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: diff --git a/docs/backend-system/core-services/01-index.md b/docs/backend-system/core-services/01-index.md index 0163d45108..9074998719 100644 --- a/docs/backend-system/core-services/01-index.md +++ b/docs/backend-system/core-services/01-index.md @@ -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. diff --git a/docs/backend-system/index.md b/docs/backend-system/index.md index c74dd34102..22ea4c6c59 100644 --- a/docs/backend-system/index.md +++ b/docs/backend-system/index.md @@ -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). diff --git a/docs/features/search/how-to-guides.md b/docs/features/search/how-to-guides.md index a5662999ae..e49bdb4fa5 100644 --- a/docs/features/search/how-to-guides.md +++ b/docs/features/search/how-to-guides.md @@ -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]: diff --git a/docs/plugins/new-backend-system.md b/docs/plugins/new-backend-system.md index b2c73af33b..0fc44f283f 100644 --- a/docs/plugins/new-backend-system.md +++ b/docs/plugins/new-backend-system.md @@ -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(); diff --git a/microsite/blog/2023-02-15-backend-system-alpha.mdx b/microsite/blog/2023-02-15-backend-system-alpha.mdx index 28ff7bdf6b..24004d00b6 100644 --- a/microsite/blog/2023-02-15-backend-system-alpha.mdx +++ b/microsite/blog/2023-02-15-backend-system-alpha.mdx @@ -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. We’re 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 don’t recommend that you use this new system in your production setups just yet, more on that later. diff --git a/plugins/search-backend-module-catalog/README.md b/plugins/search-backend-module-catalog/README.md index 4f37234a7e..a2825c17cd 100644 --- a/plugins/search-backend-module-catalog/README.md +++ b/plugins/search-backend-module-catalog/README.md @@ -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 diff --git a/plugins/search-backend-module-explore/README.md b/plugins/search-backend-module-explore/README.md index cf2a01b9f0..9ba33ae326 100644 --- a/plugins/search-backend-module-explore/README.md +++ b/plugins/search-backend-module-explore/README.md @@ -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 diff --git a/plugins/search-backend-module-stack-overflow-collator/README.md b/plugins/search-backend-module-stack-overflow-collator/README.md index 7df3229eeb..4790917375 100644 --- a/plugins/search-backend-module-stack-overflow-collator/README.md +++ b/plugins/search-backend-module-stack-overflow-collator/README.md @@ -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 diff --git a/plugins/search-backend-module-techdocs/README.md b/plugins/search-backend-module-techdocs/README.md index 9ffdcb7f55..04c884efb0 100644 --- a/plugins/search-backend-module-techdocs/README.md +++ b/plugins/search-backend-module-techdocs/README.md @@ -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