Merge branch 'master' of github.com:backstage/backstage into RoadieHQ-identity-api-client-interface

This commit is contained in:
Brian Fletcher
2022-08-16 11:13:50 +01:00
549 changed files with 18192 additions and 4069 deletions
-13
View File
@@ -84,19 +84,6 @@ Now the backend is ready to serve auth requests on the
frontend sign-in mechanism to poll that endpoint through Cloudflare Access, on
the user's behalf.
## Frontend Changes
It is recommended to use the `ProxiedSignInPage` for this provider, which is
installed in `packages/app/src/App.tsx` like this:
```diff
+import { ProxiedSignInPage } from '@backstage/core-components';
const app = createApp({
components: {
+ SignInPage: props => <ProxiedSignInPage {...props} provider="cfaccess" />,
```
## Adding the provider to the Backstage frontend
It is recommended to use the `ProxiedSignInPage` for this provider, which is
+4 -2
View File
@@ -60,7 +60,8 @@ FROM node:16-bullseye-slim
WORKDIR /app
# install sqlite3 dependencies, you can skip this if you don't use sqlite3 in the image
# Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image,
# in which case you should also move better-sqlite3 to "devDependencies" in package.json.
RUN apt-get update && \
apt-get install -y --no-install-recommends libsqlite3-dev python3 build-essential && \
rm -rf /var/lib/apt/lists/* && \
@@ -178,7 +179,8 @@ FROM node:16-bullseye-slim
WORKDIR /app
# install sqlite3 dependencies, you can skip this if you don't use sqlite3 in the image
# Install sqlite3 dependencies. You can skip this if you don't use sqlite3 in the image,
# in which case you should also move better-sqlite3 to "devDependencies" in package.json.
RUN apt-get update && \
apt-get install -y --no-install-recommends libsqlite3-dev python3 build-essential && \
rm -rf /var/lib/apt/lists/* && \
+19 -4
View File
@@ -31,6 +31,10 @@ kubernetes:
dashboardUrl: http://127.0.0.1:64713 # url copied from running the command: minikube service kubernetes-dashboard -n kubernetes-dashboard
dashboardApp: standard
caData: ${K8S_CONFIG_CA_DATA}
customResources:
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'rollouts'
- url: http://127.0.0.2:9999
name: aws-cluster-1
authProvider: 'aws'
@@ -236,10 +240,12 @@ kubernetes:
##### `clusters.\*.caData` (optional)
PEM-encoded certificate authority certificates.
Base64-encoded certificate authority bundle in PEM format. The Kubernetes client
will verify that TLS certificate presented by the API server is signed by this
CA.
This values could be obtained via inspecting the Kubernetes config file (usually
at `~/.kube/config`) under `clusters.cluster.certificate-authority-data`. For
This value could be obtained via inspecting the kubeconfig file (usually
at `~/.kube/config`) under `clusters[*].cluster.certificate-authority-data`. For
GKE, execute the following command to obtain the value
```
@@ -252,6 +258,11 @@ See also
https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication#environments-without-gcloud
for complete docs about GKE without `gcloud`.
##### `clusters.\*.customResources` (optional)
Configures which [custom resources][3] to look for when returning an entity's
Kubernetes resources belonging to the cluster. Same specification as [`customResources`](#customresources-optional)
#### `gke`
This cluster locator is designed to work with Kubernetes clusters running in
@@ -325,9 +336,13 @@ it is also possible to implement a
### `customResources` (optional)
Configures which [custom resources][3] to look for when returning an entity's
Configures which [custom resources][3] to look for by default when returning an entity's
Kubernetes resources.
**Notes:**
- The optional `kubernetes.customResources` property is overrode by `customResources` at the [clusters level](#clusterscustomresources-optional).
Defaults to empty array. Example:
```yaml
+4
View File
@@ -21,6 +21,10 @@ Backstage Search lets you find the right information you are looking for in the
See the more detailed [architecture](./architecture.md) and [tech stack](./architecture.md#tech-stack).
## Project roadmap
No current plans.
## Supported
The following sections show the plugins and search engines currently supported by Backstage Search.
@@ -377,6 +377,10 @@ import {
export class SystemXReaderProcessor implements CatalogProcessor {
constructor(private readonly reader: UrlReader) {}
getProcessorName(): string {
return 'SystemXReaderProcessor';
}
async readLocation(
location: LocationSpec,
_optional: boolean,
+9 -4
View File
@@ -30,16 +30,15 @@ Today, it is one of the core products in Spotifys developer experience offeri
### Now
With the Backstage 1.2 release, we have introduced the [TechDocs Addon Framework](https://backstage.io/blog/2022/05/13/techdocs-addon-framework) for augmenting the TechDocs experience at read-time.
In addition to the framework itself, we have open sourced a **ReportIssue** Addon, helping you to create a feedback loop that drives up documentation quality and foster a documentation culture at your organization.
No current plans.
### Next
What can we do in TechDocs to help drive up documentation quality? We have many ideas, for example, a Trust Card with associated Trust Score and automatic triggering of documentation maintenance notifications.
No current plans.
### Someday/Maybe
- What can we do in TechDocs to help drive up documentation quality? We have many ideas, for example, a Trust Card with associated Trust Score and automatic triggering of documentation maintenance notifications.
- Contribute to and deploy from a marketplace of TechDocs Addons
- Addon: MDX (allows you to use JSX in your Markdown content)
- Can we go static site generator agnostic?
@@ -129,3 +128,9 @@ TechDocs packages:
- @backstage/plugin-techdocs-backend
- @backstage/plugin-techdocs-node
- @techdocs/cli
**TechDocs Addon Framework**
With the Backstage 1.2 release, we introduced the [TechDocs Addon Framework](https://backstage.io/blog/2022/05/13/techdocs-addon-framework) for augmenting the TechDocs experience at read-time.
In addition to the framework itself, we open sourced a **ReportIssue** Addon, helping you to create a feedback loop that drives up documentation quality and foster a documentation culture at your organization.
+2
View File
@@ -83,6 +83,8 @@ Serve a documentation project locally in a Backstage app-like environment
Options:
-i, --docker-image <DOCKER_IMAGE> The mkdocs docker container to use (default: "spotify/techdocs")
--docker-entrypoint <DOCKER_ENTRYPOINT> Override the image entrypoint
--docker-option <DOCKER_OPTION...> Extra options to pass to the docker run command, e.g. "--add-host=internal.host:192.168.11.12"
(can be added multiple times).
--no-docker Do not use Docker, use MkDocs executable in current user environment.
--mkdocs-port <PORT> Port for MkDocs server to use (default: "8000")
-v --verbose Enable verbose output. (default: false)
+1 -4
View File
@@ -278,10 +278,7 @@ Note: We recommend Python version 3.7 or higher.
> Caveat: Please install the `mkdocs-techdocs-core` package after all other
> Python packages. The order is important to make sure we get correct version of
> some of the dependencies. For example, we want `Markdown` version to be
> [3.2.2](https://github.com/backstage/backstage/blob/f9f70c225548017b6a14daea75b00fbd399c11eb/packages/techdocs-container/techdocs-core/requirements.txt#L11).
> You can also explicitly install `Markdown==3.2.2` after installing all other
> Python packages.
> some of the dependencies.
## Running Backstage locally
+86 -9
View File
@@ -136,15 +136,27 @@ const myTheme = createTheme({
fontFamily: 'Comic Sans MS',
/* below drives the header colors */
pageTheme: {
home: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
documentation: genPageTheme(['#8c4351', '#343b58'], shapes.wave2),
tool: genPageTheme(['#8c4351', '#343b58'], shapes.round),
service: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
website: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
library: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
other: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
app: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
apis: genPageTheme(['#8c4351', '#343b58'], shapes.wave),
home: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }),
documentation: genPageTheme({
colors: ['#8c4351', '#343b58'],
shape: shapes.wave2,
}),
tool: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.round }),
service: genPageTheme({
colors: ['#8c4351', '#343b58'],
shape: shapes.wave,
}),
website: genPageTheme({
colors: ['#8c4351', '#343b58'],
shape: shapes.wave,
}),
library: genPageTheme({
colors: ['#8c4351', '#343b58'],
shape: shapes.wave,
}),
other: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }),
app: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }),
apis: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }),
},
});
```
@@ -261,6 +273,71 @@ const LogoFull = () => {
};
```
## Custom Icons
You can also customize the Project's _default_ icons.
You can change the following [icons](https://github.com/backstage/backstage/blob/master/packages/app-defaults/src/defaults/icons.tsx).
### Requirements
- Files in `.svg` format
- React components created for the icons
### Create React Component
In your front-end application, locate the `src` folder. We suggest creating the `assets/icons` directory and `CustomIcons.tsx` file.
> Another example [here](https://github.com/backstage/backstage/blob/master/plugins/azure-devops/src/components/AzurePipelinesIcon/AzurePipelinesIcon.tsx), if you want to ensure proper behavior in light and dark themes.
```tsx
// customIcons.tsx
import { SvgIcon, SvgIconProps } from '@material-ui/core';
import React from 'react';
export const ExampleIcon = (props: SvgIconProps) => (
<SvgIcon {...props} viewBox="0 0 24 24">
<path
fill="currentColor"
width="1em"
height="1em"
display="inline-block"
d="M11.6335 10.8398C11.6335 11.6563 12.065 12.9922 13.0863 12.9922C14.1075 12.9922 14.539 11.6563 14.539 10.8398C14.539 10.0234 14.1075 8.6875 13.0863 8.6875C12.065 8.6875 11.6335 10.0234 11.6335 10.8398V10.8398ZM2.38419e-07 8.86719C2.38419e-07 10.1133 0.126667 11.4336 0.692709 12.5781C2.19292 15.5703 6.3175 15.5 9.27042 15.5C12.2708 15.5 16.6408 15.6055 18.2004 12.5781C18.7783 11.4453 19 10.1133 19 8.86719C19 7.23047 18.4498 5.68359 17.3573 4.42969C17.5631 3.8125 17.6621 3.16406 17.6621 2.52344C17.6621 1.68359 17.4681 1.26172 17.0842 0.5C15.291 0.5 14.1431 0.851562 12.7775 1.90625C11.6296 1.63672 10.45 1.51562 9.26646 1.51562C8.19771 1.51562 7.12104 1.62891 6.08396 1.875C4.73813 0.832031 3.59021 0.5 1.81687 0.5C1.42896 1.26172 1.23896 1.68359 1.23896 2.52344C1.23896 3.16406 1.34188 3.80078 1.54375 4.40625C0.455209 5.67188 2.38419e-07 7.23047 2.38419e-07 8.86719V8.86719ZM2.54521 10.8398C2.54521 9.125 3.60208 7.61328 5.45458 7.61328C6.20271 7.61328 6.91917 7.74609 7.67125 7.84766C8.26104 7.9375 8.85083 7.97266 9.45646 7.97266C10.0581 7.97266 10.6479 7.9375 11.2417 7.84766C11.9819 7.74609 12.7063 7.61328 13.4583 7.61328C15.3108 7.61328 16.3677 9.125 16.3677 10.8398C16.3677 14.2695 13.1852 14.7969 10.4144 14.7969H8.50646C5.72375 14.7969 2.54521 14.2734 2.54521 10.8398V10.8398ZM5.81479 8.6875C6.83604 8.6875 7.2675 10.0234 7.2675 10.8398C7.2675 11.6563 6.83604 12.9922 5.81479 12.9922C4.79354 12.9922 4.36208 11.6563 4.36208 10.8398C4.36208 10.0234 4.79354 8.6875 5.81479 8.6875Z"
/>
</SvgIcon>
);
```
### Using the custom icon
Supply your custom icon in `packages/app/src/App.tsx`
```diff
+ import { ExampleIcon } from './assets/customIcons'
[...]
const app = createApp({
apis,
components: {
[...]
},
themes: [
[...]
],
+ icons: {
+ github: ExampleIcon,
+ },
bindRoutes({ bind }) {
[...]
}
})
[...]
```
## Custom Homepage
In addition to a custom theme, a custom logo, you can also customize the
+1 -1
View File
@@ -96,7 +96,7 @@ To authenticate with a certificate rather than a client secret, you can set the
If deploying to resources that supports Managed Identity, and has identities configured (e.g. Azure App Services, Azure Container Apps), Managed Identity should be picked up without any additional configuration.
If your app has multiple managed identities, you may need to set the `AZURE_CLIENT_ID` environment variable to tell Azure Identity which identity to use.
You will need to grant the same permissions to your identity as described for App Registrations above.
To grant the managed identity the same permissions as mentioned in _App Registration_ above, [please follow this guide](https://docs.microsoft.com/en-us/azure/app-service/tutorial-connect-app-access-microsoft-graph-as-app-javascript?tabs=azure-powershell)
## Filtering imported Users and Groups
+2 -2
View File
@@ -41,7 +41,7 @@ And then add the processor to your catalog builder:
## Self-hosted Bitbucket Server
To use the discovery processor with a self-hosted Bitbucket Server, you'll need
a Bitbucket integration [set up](locations.md) with a `BITBUCKET_TOKEN` and a
a Bitbucket integration [set up](../bitbucketServer/locations.md) with a `BITBUCKET_TOKEN` and a
`BITBUCKET_API_BASE_URL`. Then you can add a location target to the catalog
configuration:
@@ -74,7 +74,7 @@ The target is composed of four parts:
## Bitbucket Cloud
To use the discovery processor with Bitbucket Cloud, you'll need a Bitbucket
integration [set up](locations.md) with a `username` and an `appPassword`. Then
integration [set up](../bitbucketCloud/locations.md) with a `username` and an `appPassword`. Then
you can add a location target to the catalog configuration:
```yaml
@@ -0,0 +1,114 @@
---
id: discovery
title: Bitbucket Server Discovery
sidebar_label: Discovery
# prettier-ignore
description: Automatically discovering catalog entities from repositories in Bitbucket Server
---
The Bitbucket Server integration has a special entity provider for discovering
catalog files located in Bitbucket Server.
The provider will search your Bitbucket Server account and register catalog files matching the configured path
as Location entity and via following processing steps add all contained catalog entities.
This can be useful as an alternative to static locations or manually adding things to the catalog.
## Installation
You will have to add the entity provider in the catalog initialization code of your
backend. The provider is not installed by default, therefore you have to add a
dependency to `@backstage/plugin-catalog-backend-module-bitbucket-server` to your backend
package.
```bash
# From your Backstage root directory
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-bitbucket-server
```
And then add the entity provider to your catalog builder:
```diff
// In packages/backend/src/plugins/catalog.ts
+ import { BitbucketServerEntityProvider } from '@backstage/plugin-catalog-backend-module-bitbucket-server';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
+ builder.addEntityProvider(
+ BitbucketServerEntityProvider.fromConfig(env.config, {
+ logger: env.logger,
+ schedule: env.scheduler.createScheduledTaskRunner({
+ frequency: { minutes: 30 },
+ timeout: { minutes: 3 },
+ }),
+ }),
+ );
// [...]
}
```
## Configuration
To use the entity provider, you'll need a [Bitbucket Server integration set up](locations.md).
Additionally, you need to configure your entity provider instance(s):
```yaml
# app-config.yaml
catalog:
providers:
bitbucketServer:
yourProviderId: # identifies your ingested dataset
host: 'bitbucket.mycompany.com'
catalogPath: /catalog-info.yaml # default value
filters: # optional
projectKey: '^apis-.*$' # optional; RegExp
repoSlug: '^service-.*$' # optional; RegExp
```
- **host**:
The host of the Bitbucket Server instance, **note**: the host needs to registered as an integration as well, see [location](locations.md).
- **`catalogPath`** _(optional)_:
Default: `/catalog-info.yaml`.
Path where to look for `catalog-info.yaml` files.
When started with `/`, it is an absolute path from the repo root.
- **filters** _(optional)_:
- **`projectKey`** _(optional)_:
Regular expression used to filter results based on the project key.
- **repoSlug** _(optional)_:
Regular expression used to filter results based on the repo slug.
## Custom location processing
The Bitbucket Server Entity Provider will by default emit a location for each
matching repository. However, it is possible to override this functionality and take full control of how each
matching repository is processed.
`BitbucketServerEntityProvider.fromConfig` takes an optional parameter
`options.parser` where you can set your own parser to be used for each matched
repository.
```typescript
const provider = BitbucketServerEntityProvider.fromConfig(env.config, {
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 30 },
timeout: { minutes: 3 },
}),
parser: async function* customLocationParser(options: {
location: LocationSpec,
client: BitbucketServerClient,
}) {
// Custom logic for interpreting the matching repository
// See defaultBitbucketServerLocationParser for an example
}
);
```
## Alternative
_Deprecated!_ Please raise issues for use cases not covered by the entity provider.
[You can use the `BitbucketDiscoveryProcessor`.](../bitbucket/discovery.md#self-hosted-bitbucket-server)
@@ -1,28 +1,25 @@
---
id: locations
title: Bitbucket Locations
title: Bitbucket Server Locations
sidebar_label: Locations
# prettier-ignore
description: Integrating source code stored in Bitbucket into the Backstage catalog
description: Integrating source code stored in Bitbucket Server into the Backstage catalog
---
The Bitbucket integration supports loading catalog entities from bitbucket.org (Bitbucket Cloud)
or Bitbucket Server. Entities can be added to
The Bitbucket Server integration supports loading catalog entities from Bitbucket Server.
Entities can be added to
[static catalog configuration](../../features/software-catalog/configuration.md),
or registered with the
[catalog-import](https://github.com/backstage/backstage/tree/master/plugins/catalog-import)
plugin.
## Bitbucket Cloud
Please see [the Bitbucket Cloud documentation](../bitbucketCloud/locations.md).
## Bitbucket Server
## Configuration
```yaml
integrations:
bitbucketServer:
- host: bitbucket.company.com
- host: bitbucket.mycompany.com
apiBaseUrl: https://bitbucket.mycompany.com/rest/api/1.0
token: ${BITBUCKET_SERVER_TOKEN}
```
@@ -32,6 +29,7 @@ or with Basic Auth
integrations:
bitbucketServer:
- host: bitbucket.company.com
apiBaseUrl: https://bitbucket.mycompany.com/rest/api/1.0
username: ${BITBUCKET_SERVER_USERNAME}
password: ${BITBUCKET_SERVER_PASSWORD}
```
@@ -40,13 +38,14 @@ Directly under the `bitbucketServer` key is a list of provider configurations, w
you can list the Bitbucket Server providers you want to fetch data from. Each entry is
a structure with the following elements:
- `host`: The host of the Bitbucket Server instance, e.g. `bitbucket.company.com`.
- `host`: The host of the Bitbucket Server instance, e.g. `bitbucket.mycompany.com`.
- `token` (optional):
An [personal access token](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html)
A [personal access token](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html)
as expected by Bitbucket Server.
- `username` (optional):
use for [Basic Auth](https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication) for Bitbucket Server.
- `password` (optional):
use for [Basic Auth](https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication) for Bitbucket Server.
Note: a token can also be used as a substitute for the password, see [HTTP access tokens](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html).
- `apiBaseUrl` (optional): The URL of the Bitbucket Server API. For self-hosted
installations, it is commonly at `https://<host>/rest/api/1.0`.
+119
View File
@@ -6,6 +6,125 @@ sidebar_label: Discovery
description: Automatically discovering catalog entities from repositories in a GitHub organization
---
## GitHub Provider
The GitHub integration has a discovery provider for discovering catalog
entities within a GitHub organization. The provider will crawl the GitHub
organization and register entities matching the configured path. This can be
useful as an alternative to static locations or manually adding things to the
catalog. This is the prefered method for ingesting entities into the catalog.
## Installation
You will have to add the provider in the catalog initialization code of your
backend. They are not installed by default, therefore you have to add a
dependency on `@backstage/plugin-catalog-backend-module-github` to your backend
package.
```bash
# From your Backstage root directory
yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-github
```
And then add the entity provider to your catalog builder:
```diff
// In packages/backend/src/plugins/catalog.ts
+ import { GitHubEntityProvider } from '@backstage/plugin-catalog-backend-module-github';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
+ builder.addEntityProvider(
+ GitHubEntityProvider.fromConfig(env.config, {
+ logger: env.logger,
+ schedule: env.scheduler.createScheduledTaskRunner({
+ frequency: { minutes: 30 },
+ timeout: { minutes: 3 },
+ }),
+ }),
+ );
// [...]
}
```
## Configuration
To use the discovery provider, you'll need a GitHub integration
[set up](locations.md) with either a [Personal Access Token](../../getting-started/configuration.md#setting-up-a-github-integration) or [GitHub Apps](./github-apps.md).
Then you can add a github config to the catalog providers configuration:
```yaml
catalog:
providers:
github:
# the provider ID can be any camelCase string
providerId:
organization: 'backstage' # string
catalogPath: '/catalog-info.yaml' # string
filters:
branch: 'main' # string
repository: '.*' # Regex
customProviderId:
organization: 'new-org' # string
catalogPath: '/custom/path/catalog-info.yaml' # string
filters: # optional filters
branch: 'develop' # optional string
repository: '.*' # optional Regex
wildcardProviderId:
organization: 'new-org' # string
catalogPath: '/groups/**/*.yaml' # this will search all folders for files that end in .yaml
filters: # optional filters
branch: 'develop' # optional string
repository: '.*' # optional Regex
```
This provider supports multiple organizations via unique provider IDs.
> **Note:** It is possible but certainly not recommended to skip the provider ID level.
> If you do so, `default` will be used as provider ID.
- **`catalogPath`** _(optional)_:
Default: `/catalog-info.yaml`.
Path where to look for `catalog-info.yaml` files.
You can use wildcards - `*` or `**` - to search the path and/or the filename
- **filters** _(optional)_:
- **branch** _(optional)_:
String used to filter results based on the branch name.
- **repository** _(optional)_:
Regular expression used to filter results based on the repository name.
- **organization**:
Name of your organization account/workspace.
If you want to add multiple organizations, you need to add one provider config each.
## GitHub API Rate Limits
GitHub [rate limits](https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting) API requests to 5,000 per hour (or more for Enterprise
accounts). The snippet below refreshes the Backstage catalog data every 35 minutes, which issues an API request for each discovered location.
If your requests are too frequent then you may get throttled by
rate limiting. You can change the refresh frequency of the catalog in your `packages/backend/src/plugins/catalog.ts` file:
```typescript
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 35 },
timeout: { minutes: 30 },
}),
```
More information about scheduling can be found on the [TaskScheduleDefinition](https://backstage.io/docs/reference/backend-tasks.taskscheduledefinition) page.
Alternatively, or additionally, you can configure [github-apps](github-apps.md) authentication
which carries a much higher rate limit at GitHub.
This is true for any method of adding GitHub entities to the catalog, but
especially easy to hit with automatic discovery.
## GitHub Processor (To Be Deprecated)
The GitHub integration has a special discovery processor for discovering catalog
entities within a GitHub organization. The processor will crawl the GitHub
organization and register entities matching the configured path. This can be
+1
View File
@@ -24,6 +24,7 @@ catalog:
branch: main # Optional. Uses `master` as default
group: example-group # Optional. Group and subgroup (if needed) to look for repositories. If not present the whole project will be scanned
entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
projectPattern: /[\s\S]*/ # Optional. Filters found projects based on provided patter. Defaults to `/[\s\S]*/`, what means to not filter anything
```
As this provider is not one of the default providers, you will first need to install
+4 -16
View File
@@ -12,12 +12,12 @@ and the broader Backstage community.
The Backstage roadmap lays out both [“what's next”](#whats-next) and ["future
work"](#future-work). With "next" we mean features planned for release within
the ongoing quarter from April through June 2022. With "future" we mean
the ongoing quarter from July through September 2022. With "future" we mean
features on the radar, but not yet scheduled.
| [What's next](#whats-next) | [Future work](#future-work) |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [Backstage Search 1.0](#search-1.0) <br/> [Backend Services (MVP)](#backend-services-mvp) <br/> [Backstage Security Audit](#backstage-security-audit) <br/> [Backstage Threat Model](#backstage-threat-model) <br/> [TechDocs Addon Framework](#techdocs-addon-framework) <br/> [Software Catalog pagination](#software-catalog-pagination) <br/> [More SIGs](#more-sigs) | Ease of onboarding <br/> Composable Homepage 1.0 <br/> Creator experience <br/> GraphQL <br/> Telemetry |
| [What's next](#whats-next) | [Future work](#future-work) |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [Backend Services (MVP)](#backend-services-mvp) <br/> [Backstage Security Audit](#backstage-security-audit) <br/> [Backstage Threat Model](#backstage-threat-model) <br/> [Software Catalog pagination](#software-catalog-pagination) <br/> [More SIGs](#more-sigs) | Ease of onboarding <br/> Composable Homepage 1.0 <br/> Creator experience <br/> GraphQL <br/> Telemetry |
The long-term roadmap (12 - 36 months) is not detailed in the public roadmap.
Third-party contributions are also not currently included in the roadmap. Let us
@@ -30,10 +30,6 @@ The feature set below is planned for the ongoing quarter, and grouped by theme.
The list order doesn't necessarily reflect priority, and the development/release
cycle will vary based on maintainer schedules.
### Backstage Search 1.0
Fix the few remaining issues to get Backstage Search platform up to 1.0. For more information, see the [Backstage Search documentation and roadmap page](https://backstage.io/docs/features/search/search-overview).
### Backend Services (MVP)
To better scale and maintain the Backstage instances, a backend services system
@@ -72,14 +68,6 @@ The planned artifacts are:
- Concise high level threat model that will be included as part of the Backstage security documentation.
- Granular threat model created in conjunction with the security audit to inform further security investment areas for Backstage.
### TechDocs Addon Framework
Addons are TechDocs features that are added on top of the base docs-like-code experience. An example would be a feature that showed comments on the page. We plan to add an Addon framework and open source a selection of the Addons that we use internally at Spotify. We encourage the Backstage community to add further Addons.
For more information about the TechDocs Addon Framework, see the documentation page [here](https://backstage.io/docs/features/techdocs/addons).
For general information about TechDocs including roadmap, see [here](https://backstage.io/docs/features/techdocs/techdocs-overview).
### Software Catalog pagination
Today adopters with a big catalog (with several thousands of software components) might not have an ideal end-user experience when viewing the `/catalog` page. The issue is related to how the entities are fetched by the frontend. In order to provide a better end-user experience the pagination of the catalogs entities needs to be enforced. Some experimentation is already completed but in this quarter we plan to continue, and hopefully complete, this relevant enhancement.
+1 -1
View File
@@ -1,6 +1,6 @@
---
id: customization
title: Customization
title: Customization (Experimental)
description: Documentation on adding a customization logic to the plugin
---
+274
View File
@@ -0,0 +1,274 @@
# Release v1.5.0-next.1
## @backstage/integration@1.3.0-next.1
### Minor Changes
- ad35364e97: feat(techdocs): add edit button support for bitbucketServer
### Patch Changes
- 1f27d83933: Fixed bug in getGitLabFileFetchUrl where a target whose path did not contain the
`/-/` scope would result in a fetch URL that did not support
private-token-based authentication.
## @backstage/plugin-catalog@1.5.0-next.1
### Minor Changes
- fe94398418: Allow changing the subtitle of the `CatalogTable` component
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-common@1.0.5-next.0
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-scaffolder@1.5.0-next.1
### Minor Changes
- c4b452e16a: Starting the implementation of the Wizard page for the `next` scaffolder plugin
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-common@1.0.5-next.0
- @backstage/integration@1.3.0-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-scaffolder-backend@1.5.0-next.1
### Minor Changes
- c4b452e16a: Starting the implementation of the Wizard page for the `next` scaffolder plugin
### Patch Changes
- Updated dependencies
- @backstage/backend-common@0.15.0-next.1
- @backstage/integration@1.3.0-next.1
- @backstage/plugin-catalog-backend@1.3.1-next.1
## @backstage/plugin-sonarqube@0.4.0-next.1
### Minor Changes
- 619b515172: **BREAKING** This plugin now call the `sonarqube-backend` plugin instead of relying on the proxy plugin
The whole proxy's `'/sonarqube':` key can be removed from your configuration files.
Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/master/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances.
### Patch Changes
- f9c310a439: Add ability to provide an optional Sonarqube instance into the annotation in the `catalog-info.yaml` file
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-sonarqube-backend@0.1.0-next.0
### Minor Changes
- e2be9ab3a4: Initial creation of the plugin
### Patch Changes
- Updated dependencies
- @backstage/backend-common@0.15.0-next.1
## @backstage/plugin-techdocs-node@1.3.0-next.1
### Minor Changes
- ad35364e97: feat(techdocs): add edit button support for bitbucketServer
### Patch Changes
- f833344611: Bump default `TechDocs` image to `v1.1.0`, see the release [here](https://github.com/backstage/techdocs-container/releases/tag/v1.1.0).
- Updated dependencies
- @backstage/backend-common@0.15.0-next.1
- @backstage/integration@1.3.0-next.1
## @backstage/backend-common@0.15.0-next.1
### Patch Changes
- 1732a18a7a: Exported `redactLogLine` function to be able to use it in custom loggers and renamed it to `redactWinstonLogLine`.
- Updated dependencies
- @backstage/integration@1.3.0-next.1
## @backstage/core-components@0.10.1-next.1
### Patch Changes
- a22af3edc8: Adding a `className` prop to the `MarkdownContent` component
## @backstage/create-app@0.4.30-next.1
### Patch Changes
- Bumped create-app version.
## @techdocs/cli@1.1.4-next.1
### Patch Changes
- Updated dependencies
- @backstage/backend-common@0.15.0-next.1
- @backstage/plugin-techdocs-node@1.3.0-next.1
## @backstage/plugin-api-docs@0.8.8-next.1
### Patch Changes
- dae12c71cf: Updated dependency `@asyncapi/react-component` to `1.0.0-next.40`.
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog@1.5.0-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-catalog-backend@1.3.1-next.1
### Patch Changes
- e3d3018531: Fix issue for conditional decisions based on properties stored as arrays, like tags.
Before this change, having a permission policy returning conditional decisions based on metadata like tags, such like `createCatalogConditionalDecision(permission, catalogConditions.hasMetadata('tags', 'java'),)`, was producing wrong results. The issue occurred when authorizing entities already loaded from the database, for example when authorizing `catalogEntityDeletePermission`.
- Updated dependencies
- @backstage/plugin-catalog-common@1.0.5-next.0
- @backstage/backend-common@0.15.0-next.1
- @backstage/integration@1.3.0-next.1
## @backstage/plugin-catalog-backend-module-github@0.1.6-next.1
### Patch Changes
- f48950e34b: Github Entity Provider functionality for adding entities to the catalog.
This provider replaces the GithubDiscoveryProcessor functionality as providers offer more flexibility with scheduling ingestion, removing and preventing orphaned entities.
More information can be found on the [GitHub Discovery](https://backstage.io/docs/integrations/github/discovery) page.
- Updated dependencies
- @backstage/backend-common@0.15.0-next.1
- @backstage/integration@1.3.0-next.1
- @backstage/plugin-catalog-backend@1.3.1-next.1
## @backstage/plugin-catalog-common@1.0.5-next.0
### Patch Changes
- 92103db537: Export aggregated list of all catalog permissions
## @backstage/plugin-catalog-react@1.1.3-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-common@1.0.5-next.0
- @backstage/integration@1.3.0-next.1
## @backstage/plugin-home@0.4.24-next.1
### Patch Changes
- df7b9158b8: Add wrap-around for the listing of tools to prevent increasing width with name length.
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-jenkins@0.7.7-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
- @backstage/plugin-jenkins-common@0.1.7-next.0
## @backstage/plugin-jenkins-backend@0.1.25-next.1
### Patch Changes
- Updated dependencies
- @backstage/backend-common@0.15.0-next.1
- @backstage/plugin-jenkins-common@0.1.7-next.0
## @backstage/plugin-jenkins-common@0.1.7-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-common@1.0.5-next.0
## @backstage/plugin-kubernetes@0.7.1-next.1
### Patch Changes
- 860ed68343: Fixed bug in CronJobsAccordions component that causes an error when cronjobs use a kubernetes alias, such as `@hourly` or `@daily` instead of standard cron syntax.
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-techdocs@1.3.1-next.1
### Patch Changes
- b86ed4d990: Add highlight to active navigation item and navigation parents.
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/integration@1.3.0-next.1
- @backstage/plugin-techdocs-react@1.0.3-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
## @backstage/plugin-techdocs-backend@1.2.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-common@1.0.5-next.0
- @backstage/backend-common@0.15.0-next.1
- @backstage/integration@1.3.0-next.1
- @backstage/plugin-techdocs-node@1.3.0-next.1
## @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.1
### Patch Changes
- ad35364e97: feat(techdocs): add edit button support for bitbucketServer
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
- @backstage/integration@1.3.0-next.1
- @backstage/plugin-techdocs-react@1.0.3-next.1
## @backstage/plugin-techdocs-react@1.0.3-next.1
### Patch Changes
- 29d6cf0147: Add `toLowerEntityRefMaybe()` helper function for handling `techdocs.legacyUseCaseSensitiveTripletPaths` flag.
Pass modified `entityRef` to `TechDocsReaderPageContext` to handle the `techdocs.legacyUseCaseSensitiveTripletPaths` flag.
- Updated dependencies
- @backstage/core-components@0.10.1-next.1
## example-app@0.2.74-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes@0.7.1-next.1
- @backstage/plugin-home@0.4.24-next.1
- @backstage/core-components@0.10.1-next.1
- @backstage/plugin-scaffolder@1.5.0-next.1
- @backstage/plugin-techdocs@1.3.1-next.1
- @backstage/plugin-catalog-common@1.0.5-next.0
- @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.1
- @backstage/plugin-api-docs@0.8.8-next.1
- @backstage/plugin-techdocs-react@1.0.3-next.1
- @backstage/plugin-catalog-react@1.1.3-next.1
- @backstage/plugin-jenkins@0.7.7-next.1
+791
View File
@@ -0,0 +1,791 @@
# Release v1.5.0-next.2
## @backstage/core-components@0.11.0-next.2
### Minor Changes
- d0eefc499a: Made the `to` prop of `Button` and `Link` more strict, only supporting plain strings. It used to be the case that this prop was unexpectedly too liberal, making it look like we supported the complex `react-router-dom` object form of the parameter as well, which led to unexpected results at runtime.
## @techdocs/cli@1.2.0-next.2
### Minor Changes
- 855952db53: Added CLI option `--docker-option` to allow passing additional options to the `docker run` command executed my `serve` and `serve:mkdocs`.
## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.0-next.0
### Minor Changes
- f7607f9d85: Add new plugin catalog-backend-module-bitbucket-server which adds the `BitbucketServerEntityProvider`.
The entity provider is meant as a replacement for the `BitbucketDiscoveryProcessor` to be used with Bitbucket Server (Bitbucket Cloud already has a replacement).
**Before:**
```typescript
// packages/backend/src/plugins/catalog.ts
builder.addProcessor(
BitbucketDiscoveryProcessor.fromConfig(env.config, { logger: env.logger }),
);
```
```yaml
# app-config.yaml
catalog:
locations:
- type: bitbucket-discovery
target: 'https://bitbucket.mycompany.com/projects/*/repos/*/catalog-info.yaml
```
**After:**
```typescript
// packages/backend/src/plugins/catalog.ts
builder.addEntityProvider(
BitbucketServerEntityProvider.fromConfig(env.config, {
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 30 },
timeout: { minutes: 3 },
}),
}),
);
```
```yaml
# app-config.yaml
catalog:
providers:
bitbucketServer:
yourProviderId: # identifies your ingested dataset
catalogPath: /catalog-info.yaml # default value
filters: # optional
projectKey: '.*' # optional; RegExp
repoSlug: '.*' # optional; RegExp
```
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-backend@1.3.1-next.2
## @backstage/plugin-github-issues@0.1.0-next.0
### Minor Changes
- ffd5e47fb5: New plugin for displaying GitHub Issues added
### Patch Changes
- b522f49403: Updated dependency `@spotify/prettier-config` to `^14.0.0`.
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-scaffolder-backend@1.5.0-next.2
### Minor Changes
- 692d5d3405: Added `reviewers` and `teamReviewers` parameters to `publish:github:pull-request` action to add reviewers on the pull request created by the action
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-backend@1.3.1-next.2
## @backstage/app-defaults@1.0.5-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/cli@0.18.1-next.1
### Patch Changes
- fd68d6f138: Added resolution of `.json` and `.wasm` files to the Webpack configuration in order to match defaults.
## @backstage/create-app@0.4.30-next.2
### Patch Changes
- 0174a0a022: Add `PATCH` and `HEAD` to the `Access-Control-Allow-Methods`.
To apply this change to your Backstage installation make the following change to your `app-config.yaml`
```diff
cors:
origin: http://localhost:3000
- methods: [GET, POST, PUT, DELETE]
+ methods: [GET, POST, PUT, DELETE, PATCH, HEAD]
```
## @backstage/dev-utils@1.0.5-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/app-defaults@1.0.5-next.1
- @backstage/integration-react@1.1.3-next.1
## @backstage/integration-react@1.1.3-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-adr@0.1.3-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-search-react@1.0.1-next.1
## @backstage/plugin-airbrake@0.3.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/dev-utils@1.0.5-next.1
## @backstage/plugin-allure@0.1.24-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-analytics-module-ga@0.1.19-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-apache-airflow@0.2.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-api-docs@0.8.8-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/plugin-catalog@1.5.0-next.2
## @backstage/plugin-apollo-explorer@0.1.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-auth-backend@0.15.1-next.1
### Patch Changes
- 2d7d6028e1: Updated dependency `@google-cloud/firestore` to `^6.0.0`.
## @backstage/plugin-azure-devops@0.1.24-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-badges@0.2.32-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-bazaar@0.1.23-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/cli@0.18.1-next.1
- @backstage/core-components@0.11.0-next.2
- @backstage/plugin-catalog@1.5.0-next.2
## @backstage/plugin-bitrise@0.1.35-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-catalog@1.5.0-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-search-react@1.0.1-next.1
## @backstage/plugin-catalog-backend@1.3.1-next.2
### Patch Changes
- 059ae348b4: Use the non-deprecated form of table.unique in knex
## @backstage/plugin-catalog-backend-module-github@0.1.6-next.2
### Patch Changes
- 97f0a37378: Improved support for wildcards in `catalogPath`
- Updated dependencies
- @backstage/plugin-catalog-backend@1.3.1-next.2
## @backstage/plugin-catalog-backend-module-gitlab@0.1.6-next.1
### Patch Changes
- 24979413a4: Enhancing GitLab provider with filtering projects by pattern RegExp
```yaml
providers:
gitlab:
stg:
host: gitlab.stg.company.io
branch: main
projectPattern: 'john/' # new option
entityFilename: template.yaml
```
With the aforementioned parameter you can filter projects, and keep only who belongs to the namespace "john".
- Updated dependencies
- @backstage/plugin-catalog-backend@1.3.1-next.2
## @backstage/plugin-catalog-graph@0.2.20-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-catalog-import@0.8.11-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
## @backstage/plugin-catalog-react@1.1.3-next.2
### Patch Changes
- 44e691a7f9: Modify description column to not use auto width.
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-circleci@0.3.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-cloudbuild@0.3.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-code-climate@0.1.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-code-coverage@0.2.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-codescene@0.1.3-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-config-schema@0.1.31-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-cost-insights@0.11.30-next.1
### Patch Changes
- b746eca638: Make `products` field optional in the config
- daf4b33e34: Add name property to Group
- Updated dependencies
- @backstage/plugin-cost-insights-common@0.1.1-next.0
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-cost-insights-common@0.1.1-next.0
### Patch Changes
- daf4b33e34: Add name property to Group
## @backstage/plugin-dynatrace@0.1.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-explore@0.3.39-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-firehydrant@0.1.25-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-fossa@0.2.40-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-gcalendar@0.3.4-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-gcp-projects@0.3.27-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-git-release-manager@0.3.21-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-github-actions@0.5.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-github-deployments@0.1.39-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
## @backstage/plugin-github-pull-requests-board@0.1.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-gitops-profiles@0.3.26-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-gocd@0.1.14-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-graphiql@0.2.40-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-home@0.4.24-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/plugin-stack-overflow@0.1.4-next.1
## @backstage/plugin-ilert@0.1.34-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-jenkins@0.7.7-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-kafka@0.3.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-kubernetes@0.7.1-next.2
### Patch Changes
- f563b86a5b: Adds namespace column to Kubernetes error reporting table
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-kubernetes-backend@0.7.1-next.1
### Patch Changes
- 0cd87cf30d: Added a new `customResources` field to the ClusterDetails interface, in order to specify (override) custom resources per cluster
## @backstage/plugin-lighthouse@0.3.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-newrelic@0.3.26-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-newrelic-dashboard@0.2.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-org@0.5.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-pagerduty@0.5.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-periskop@0.1.6-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-rollbar@0.4.8-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-scaffolder@1.5.0-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
## @backstage/plugin-search@1.0.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/plugin-search-react@1.0.1-next.1
## @backstage/plugin-search-react@1.0.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-sentry@0.4.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-shortcuts@0.3.0-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-sonarqube@0.4.0-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-splunk-on-call@0.3.32-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-stack-overflow@0.1.4-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
- @backstage/plugin-home@0.4.24-next.2
## @backstage/plugin-tech-insights@0.2.4-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-tech-radar@0.5.15-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-techdocs@1.3.1-next.2
### Patch Changes
- 8acb22205c: Scroll techdocs navigation into focus and expand any nested navigation items.
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-search-react@1.0.1-next.1
- @backstage/plugin-techdocs-react@1.0.3-next.2
## @backstage/plugin-techdocs-addons-test-utils@1.0.3-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-techdocs@1.3.1-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-catalog@1.5.0-next.2
- @backstage/plugin-search-react@1.0.1-next.1
- @backstage/plugin-techdocs-react@1.0.3-next.2
## @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-techdocs-react@1.0.3-next.2
## @backstage/plugin-techdocs-react@1.0.3-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-todo@0.2.10-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-user-settings@0.4.7-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-vault@0.1.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/core-components@0.11.0-next.2
## @backstage/plugin-xcmetrics@0.2.28-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
## example-app@0.2.74-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes@0.7.1-next.2
- @backstage/plugin-catalog-react@1.1.3-next.2
- @backstage/plugin-cost-insights@0.11.30-next.1
- @backstage/cli@0.18.1-next.1
- @backstage/plugin-techdocs@1.3.1-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/app-defaults@1.0.5-next.1
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-airbrake@0.3.8-next.1
- @backstage/plugin-apache-airflow@0.2.1-next.1
- @backstage/plugin-api-docs@0.8.8-next.2
- @backstage/plugin-azure-devops@0.1.24-next.1
- @backstage/plugin-badges@0.2.32-next.1
- @backstage/plugin-catalog-graph@0.2.20-next.1
- @backstage/plugin-catalog-import@0.8.11-next.1
- @backstage/plugin-circleci@0.3.8-next.1
- @backstage/plugin-cloudbuild@0.3.8-next.1
- @backstage/plugin-code-coverage@0.2.1-next.1
- @backstage/plugin-dynatrace@0.1.2-next.1
- @backstage/plugin-explore@0.3.39-next.1
- @backstage/plugin-gcalendar@0.3.4-next.1
- @backstage/plugin-gcp-projects@0.3.27-next.1
- @backstage/plugin-github-actions@0.5.8-next.1
- @backstage/plugin-gocd@0.1.14-next.1
- @backstage/plugin-graphiql@0.2.40-next.1
- @backstage/plugin-home@0.4.24-next.2
- @backstage/plugin-jenkins@0.7.7-next.2
- @backstage/plugin-kafka@0.3.8-next.1
- @backstage/plugin-lighthouse@0.3.8-next.1
- @backstage/plugin-newrelic@0.3.26-next.1
- @backstage/plugin-newrelic-dashboard@0.2.1-next.1
- @backstage/plugin-org@0.5.8-next.1
- @backstage/plugin-pagerduty@0.5.1-next.1
- @backstage/plugin-rollbar@0.4.8-next.1
- @backstage/plugin-scaffolder@1.5.0-next.2
- @backstage/plugin-search@1.0.1-next.1
- @backstage/plugin-search-react@1.0.1-next.1
- @backstage/plugin-sentry@0.4.1-next.1
- @backstage/plugin-shortcuts@0.3.0-next.1
- @backstage/plugin-stack-overflow@0.1.4-next.1
- @backstage/plugin-tech-insights@0.2.4-next.1
- @backstage/plugin-tech-radar@0.5.15-next.1
- @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.2
- @backstage/plugin-techdocs-react@1.0.3-next.2
- @backstage/plugin-todo@0.2.10-next.1
- @backstage/plugin-user-settings@0.4.7-next.1
## techdocs-cli-embedded-app@0.2.73-next.1
### Patch Changes
- Updated dependencies
- @backstage/cli@0.18.1-next.1
- @backstage/plugin-techdocs@1.3.1-next.2
- @backstage/core-components@0.11.0-next.2
- @backstage/app-defaults@1.0.5-next.1
- @backstage/integration-react@1.1.3-next.1
- @backstage/plugin-catalog@1.5.0-next.2
- @backstage/plugin-techdocs-react@1.0.3-next.2
## @internal/plugin-todo-list@1.0.4-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.0-next.2
+48
View File
@@ -0,0 +1,48 @@
# Release v1.5.0-next.3
## @backstage/plugin-adr@0.2.0-next.2
### Minor Changes
- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem`
BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents
### Patch Changes
- Updated dependencies
- @backstage/plugin-adr-common@0.2.0-next.1
## @backstage/plugin-adr-backend@0.2.0-next.1
### Minor Changes
- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem`
BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents
### Patch Changes
- Updated dependencies
- @backstage/plugin-adr-common@0.2.0-next.1
- @backstage/backend-common@0.15.0-next.2
## @backstage/plugin-adr-common@0.2.0-next.1
### Minor Changes
- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem`
BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents
## @backstage/backend-common@0.15.0-next.2
### Patch Changes
- 5e4dc173f7: Added a second validation to the `dir()` method of ZIP archive responses returned from `readTree()` that ensures that extracted files do not fall outside the target directory.
## @backstage/create-app@0.4.30-next.3
### Patch Changes
- Bumped create-app version.
@@ -86,3 +86,16 @@ backend:
+ # ca: # if you have a CA file and want to verify it you can uncomment this section
+ # $file: <file-path>/ca/server.crt
```
### Using a single database
By default, each plugin will get its own logical database, to ensure that there's no conflict in table names throughout the plugins that you install and to keep their concerns separate for other use cases further down the line. If you are limited in that you can only make use of a single database, you can use a special option `pluginDivisionMode` with `client: pg` in the config to create separate [PostgreSQL Schemas](https://www.postgresql.org/docs/current/ddl-schemas.html) instead of creating separate databases.
You can enable this using the following config:
```yaml
backend:
database:
client: pg
pluginDivisionMode: schema # defaults to database, but changing this to schema means plugins will be given their own schema (in the specified/default database)
```