Merge branch 'master' of github.com:backstage/backstage into pagerduty-homepage-component

This commit is contained in:
Brian Fletcher
2023-05-19 15:30:28 +01:00
703 changed files with 19393 additions and 3385 deletions
-10
View File
@@ -1,10 +0,0 @@
---
'@backstage/plugin-tech-insights': patch
---
Added the possibility to customize the check description in the scorecard component.
- The `CheckResultRenderer` type now exposes an optional `description` method that allows to overwrite the description with a different string or a React component for a provided check result.
Until now only the `BooleanCheck` element could be overridden, but from now on it's also possible to override the description for a check.
As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-test-utils': patch
---
Added `POSTGRES_11` and `POSTGRES_12` as supported test database IDs.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder': patch
---
Fix case GitLab workspace is a nested subgroup
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-github-pull-requests-board': patch
---
The `EntityTeamPullRequestsContent` and `EntityTeamPullRequestsCard` support the ability to view the labels/tags added to each PR
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-bazaar': patch
---
Fixed `validateDOMNesting` warnings
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-search': patch
---
Fixed 404 Error when fetching search results due to URL encoding changes
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-react': patch
---
fixed refresh problem when backstage backend disconnects without any feedback to user. Now we send a generic message and try to reconnect after 15 seconds
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-openapi-utils': patch
---
Use permalinks for links including a line number reference
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Ensure that entity cache state is only written to the database when actually changed
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Remove the direct dependency on deprecated "request" library
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-kubernetes-backend': minor
---
Allow fetching pod metrics limited by a `labelSelector`.
This is used by the Kubernetes tab on a components' page and leads to much smaller responses being received from Kubernetes, especially with larger Kubernetes clusters.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-explore': patch
---
Make sure that the first support button row does not break across lines
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Re-add the possibility to have trailing slashes in Techdocs navigation.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Forward `Authorization` header for `EventSource` when credentials are available.
-10
View File
@@ -1,10 +0,0 @@
---
'@backstage/app-defaults': patch
---
Added a System Icon for resource entities.
This can be obtained using:
```ts
useApp().getSystemIcon('kind:resource');
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-openapi-utils': patch
---
Adjusted README accordingly after the generated output now has a `.generated.ts` extension
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Updated the `DatabaseManager` to include the plugin id in the Postgres application name of the database connections created for each plugin.
-10
View File
@@ -1,10 +0,0 @@
---
'@backstage/plugin-badges': patch
'@backstage/plugin-badges-backend': minor
---
Fixing badges-backend plugin to get a token from the TokenManager instead of parsing the request header. Hence, it's now possible to disable the authMiddleware for the badges-backend plugin to expose publicly the badges.
Implementing an obfuscation feature to protect an open badges endpoint from being enumerated. The feature is disabled by default and the change is compatible with the previous version.
**BREAKING**: `createRouter` now require that `tokenManager`, `logger`, `identityApi` and `database`, are passed in as options.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Fixed a bug in the `queryEntities` endpoint that was causing filtered entities to be included in cursor requests.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes': patch
---
Omit managed fields in the Kubernetes resource YAML display.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-stack-overflow': patch
---
StackOverflowSearchResultListItem can now accept an empty result prop so that it can be rendered in the suggested SearchResultListItem pattern.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Adjusted the OpenAPI schema file name according to the new structure
-25
View File
@@ -1,25 +0,0 @@
---
'@backstage/plugin-catalog-react': minor
'@backstage/plugin-catalog': minor
---
Added an entity namespace filter and column on the default catalog page.
If you have a custom version of the catalog page, you can add this filter in your CatalogPage code:
```ts
<CatalogFilterLayout>
<CatalogFilterLayout.Filters>
<EntityTypePicker />
<UserListPicker initialFilter={initiallySelectedFilter} />
<EntityTagPicker />
/* if you want namespace picker */
<EntityNamespacePicker />
</CatalogFilterLayout.Filters>
<CatalogFilterLayout.Content>
<CatalogTable columns={columns} actions={actions} />
</CatalogFilterLayout.Content>
</CatalogFilterLayout>
```
The namespace column can be added using `createNamespaceColumn();`. This is only needed if you customized the columns for CatalogTable.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/integration': patch
---
Fixed a bug where the wrong credentials would be selected when using multiple GitHub app integrations.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': minor
---
The analytics' `navigate` event will now include the route parameters as attributes of the navigate event
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/repo-tools': minor
---
Generated OpenAPI files now have a `.generated.ts` file name and a warning header at the top, to highlight that they should not be edited by hand.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-jenkins-backend': patch
---
Fix handling of slashes in branch names
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-graph': patch
---
Expose all `EntityRelationsGraphProps` to Catalog Graph Page
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-openapi': patch
---
Fixed bug in `jsonSchemaRefPlaceholderResolver` where relative $ref files were resolved through file system instead of base URL of file
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-explore': patch
---
Display the title of the entity on the explore card if present, otherwise stick to the name
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-circleci': patch
---
Fixes row display for in progress jobs to not display trailing "took"
-10
View File
@@ -1,10 +0,0 @@
---
'@backstage/plugin-search-react': minor
'@backstage/plugin-search': minor
---
Add close button & improve search input.
MUI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.
SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-analytics-module-ga4': minor
---
Plugin provides Backstage Analytics API for Google Analytics 4. Once installed and configured, analytics events will be sent to GA4 as your users navigate and use your Backstage instance
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-app-api': patch
---
Switch `configServiceFactory` to use `ConfigSources` from `@backstage/config-loader` to load config.
-40
View File
@@ -1,40 +0,0 @@
---
'@backstage/config-loader': minor
---
Introduced a new config source system to replace `loadConfig`. There is a new `ConfigSource` interface along with utilities provided by `ConfigSources`, as well as a number of built-in configuration source implementations. The new system is more flexible and makes it easier to create new and reusable sources of configuration, such as loading configuration from secret providers.
The following is an example of how to load configuration using the default behavior:
```ts
const source = ConfigSources.default({
argv: options?.argv,
remote: options?.remote,
});
const config = await ConfigSources.toConfig(source);
```
The `ConfigSource` interface looks like this:
```ts
export interface ConfigSource {
readConfigData(options?: ReadConfigDataOptions): AsyncConfigSourceIterator;
}
```
It is best implemented using an async iterator:
```ts
class MyConfigSource implements ConfigSource {
async *readConfigData() {
yield {
config: [
{
context: 'example',
data: { backend: { baseUrl: 'http://localhost' } },
},
],
};
}
}
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend-module-gitlab': minor
---
Add a new scaffolder action for gitlab to ensure a group exists
-16
View File
@@ -1,16 +0,0 @@
---
'@backstage/plugin-org': patch
---
Changed the MembersListCard component to allow displaying aggregated members when viewing a group. Now, a toggle switch can be displayed that lets you switch between showing direct members and aggregated members.
To enable this new feature, set the showAggregateMembersToggle prop on EntityMembersListCard:
```jsx
// In packages/app/src/components/catalog/EntityPage.tsx
const groupPage = (
// ...
<EntityMembersListCard showAggregateMembersToggle />
// ...
);
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-home': patch
---
Bump to using the later v5 versions of `@rjsf/*`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
---
Fixed bug in queryWithPaging that caused secondary rate limit errors in GitHub with organizations having more than 1000 repositories. This change makes one request per second to avoid concurrency issues.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
---
Tweak README
-33
View File
@@ -1,33 +0,0 @@
---
'@backstage/plugin-kubernetes': minor
---
Added Pod logs components for Kubernetes plugin
**BREAKING**: `kubernetesProxyApi` for custom plugins built with components from the Kubernetes plugin apis, `kubernetesProxyApi` should be added to the plugin's API list.
```
...
export const kubernetesPlugin = createPlugin({
id: 'kubernetes',
apis: [
...
createApiFactory({
api: kubernetesProxyApiRef,
deps: {
kubernetesApi: kubernetesApiRef,
},
factory: ({ kubernetesApi }) =>
new KubernetesProxyClient({
kubernetesApi,
}),
}),
```
**BREAKING**: `KubernetesDrawer` is now called `KubernetesStructuredMetadataTableDrawer` so that we can do more than just show `StructuredMetadataTable`
`import { KubernetesDrawer } from "@backstage/plugin-kubernetes"`
should now be:
`import { KubernetesStructuredMetadataTableDrawer } from "@backstage/plugin-kubernetes"`
-271
View File
@@ -1,271 +0,0 @@
{
"mode": "pre",
"tag": "next",
"initialVersions": {
"example-app": "0.2.82",
"@backstage/app-defaults": "1.3.0",
"example-backend": "0.2.82",
"@backstage/backend-app-api": "0.4.2",
"@backstage/backend-common": "0.18.4",
"@backstage/backend-defaults": "0.1.9",
"@backstage/backend-dev-utils": "0.1.1",
"example-backend-next": "0.0.10",
"@backstage/backend-openapi-utils": "0.0.1",
"@backstage/backend-plugin-api": "0.5.1",
"@backstage/backend-tasks": "0.5.1",
"@backstage/backend-test-utils": "0.1.36",
"@backstage/catalog-client": "1.4.1",
"@backstage/catalog-model": "1.3.0",
"@backstage/cli": "0.22.6",
"@backstage/cli-common": "0.1.12",
"@backstage/cli-node": "0.1.0",
"@backstage/codemods": "0.1.44",
"@backstage/config": "1.0.7",
"@backstage/config-loader": "1.2.0",
"@backstage/core-app-api": "1.7.0",
"@backstage/core-components": "0.13.0",
"@backstage/core-plugin-api": "1.5.1",
"@backstage/create-app": "0.5.0",
"@backstage/dev-utils": "1.0.14",
"e2e-test": "0.2.2",
"@backstage/errors": "1.1.5",
"@backstage/eslint-plugin": "0.1.3",
"@backstage/integration": "1.4.4",
"@backstage/integration-aws-node": "0.1.2",
"@backstage/integration-react": "1.1.12",
"@backstage/release-manifests": "0.0.9",
"@backstage/repo-tools": "0.2.0",
"@techdocs/cli": "1.4.1",
"techdocs-cli-embedded-app": "0.2.81",
"@backstage/test-utils": "1.3.0",
"@backstage/theme": "0.2.19",
"@backstage/types": "1.0.2",
"@backstage/version-bridge": "1.0.4",
"@backstage/plugin-adr": "0.5.0",
"@backstage/plugin-adr-backend": "0.3.2",
"@backstage/plugin-adr-common": "0.2.8",
"@backstage/plugin-airbrake": "0.3.17",
"@backstage/plugin-airbrake-backend": "0.2.17",
"@backstage/plugin-allure": "0.1.33",
"@backstage/plugin-analytics-module-ga": "0.1.28",
"@backstage/plugin-apache-airflow": "0.2.10",
"@backstage/plugin-api-docs": "0.9.2",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.2",
"@backstage/plugin-apollo-explorer": "0.1.10",
"@backstage/plugin-app-backend": "0.3.44",
"@backstage/plugin-auth-backend": "0.18.2",
"@backstage/plugin-auth-node": "0.2.13",
"@backstage/plugin-azure-devops": "0.2.8",
"@backstage/plugin-azure-devops-backend": "0.3.23",
"@backstage/plugin-azure-devops-common": "0.3.0",
"@backstage/plugin-azure-sites": "0.1.6",
"@backstage/plugin-azure-sites-backend": "0.1.6",
"@backstage/plugin-azure-sites-common": "0.1.0",
"@backstage/plugin-badges": "0.2.41",
"@backstage/plugin-badges-backend": "0.1.38",
"@backstage/plugin-bazaar": "0.2.7",
"@backstage/plugin-bazaar-backend": "0.2.7",
"@backstage/plugin-bitbucket-cloud-common": "0.2.5",
"@backstage/plugin-bitrise": "0.1.44",
"@backstage/plugin-catalog": "1.10.0",
"@backstage/plugin-catalog-backend": "1.9.0",
"@backstage/plugin-catalog-backend-module-aws": "0.1.18",
"@backstage/plugin-catalog-backend-module-azure": "0.1.15",
"@backstage/plugin-catalog-backend-module-bitbucket": "0.2.11",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.11",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.9",
"@backstage/plugin-catalog-backend-module-gerrit": "0.1.12",
"@backstage/plugin-catalog-backend-module-github": "0.2.7",
"@backstage/plugin-catalog-backend-module-gitlab": "0.2.0",
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.3.1",
"@backstage/plugin-catalog-backend-module-ldap": "0.5.11",
"@backstage/plugin-catalog-backend-module-msgraph": "0.5.3",
"@backstage/plugin-catalog-backend-module-openapi": "0.1.10",
"@backstage/plugin-catalog-backend-module-puppetdb": "0.1.1",
"@backstage/plugin-catalog-common": "1.0.13",
"@internal/plugin-catalog-customized": "0.0.9",
"@backstage/plugin-catalog-graph": "0.2.29",
"@backstage/plugin-catalog-graphql": "0.3.20",
"@backstage/plugin-catalog-import": "0.9.7",
"@backstage/plugin-catalog-node": "1.3.5",
"@backstage/plugin-catalog-react": "1.5.0",
"@backstage/plugin-cicd-statistics": "0.1.19",
"@backstage/plugin-cicd-statistics-module-gitlab": "0.1.13",
"@backstage/plugin-circleci": "0.3.17",
"@backstage/plugin-cloudbuild": "0.3.17",
"@backstage/plugin-code-climate": "0.1.17",
"@backstage/plugin-code-coverage": "0.2.10",
"@backstage/plugin-code-coverage-backend": "0.2.10",
"@backstage/plugin-codescene": "0.1.12",
"@backstage/plugin-config-schema": "0.1.40",
"@backstage/plugin-cost-insights": "0.12.6",
"@backstage/plugin-cost-insights-common": "0.1.1",
"@backstage/plugin-dynatrace": "4.0.0",
"@backstage/plugin-entity-feedback": "0.2.0",
"@backstage/plugin-entity-feedback-backend": "0.1.2",
"@backstage/plugin-entity-feedback-common": "0.1.1",
"@backstage/plugin-entity-validation": "0.1.2",
"@backstage/plugin-events-backend": "0.2.5",
"@backstage/plugin-events-backend-module-aws-sqs": "0.1.6",
"@backstage/plugin-events-backend-module-azure": "0.1.6",
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.6",
"@backstage/plugin-events-backend-module-gerrit": "0.1.6",
"@backstage/plugin-events-backend-module-github": "0.1.6",
"@backstage/plugin-events-backend-module-gitlab": "0.1.6",
"@backstage/plugin-events-backend-test-utils": "0.1.6",
"@backstage/plugin-events-node": "0.2.5",
"@internal/plugin-todo-list": "1.0.12",
"@internal/plugin-todo-list-backend": "1.0.12",
"@internal/plugin-todo-list-common": "1.0.10",
"@backstage/plugin-explore": "0.4.2",
"@backstage/plugin-explore-backend": "0.0.6",
"@backstage/plugin-explore-common": "0.0.1",
"@backstage/plugin-explore-react": "0.0.28",
"@backstage/plugin-firehydrant": "0.2.1",
"@backstage/plugin-fossa": "0.2.49",
"@backstage/plugin-gcalendar": "0.3.13",
"@backstage/plugin-gcp-projects": "0.3.36",
"@backstage/plugin-git-release-manager": "0.3.30",
"@backstage/plugin-github-actions": "0.5.17",
"@backstage/plugin-github-deployments": "0.1.48",
"@backstage/plugin-github-issues": "0.2.6",
"@backstage/plugin-github-pull-requests-board": "0.1.11",
"@backstage/plugin-gitops-profiles": "0.3.35",
"@backstage/plugin-gocd": "0.1.23",
"@backstage/plugin-graphiql": "0.2.49",
"@backstage/plugin-graphql-backend": "0.1.34",
"@backstage/plugin-graphql-voyager": "0.1.2",
"@backstage/plugin-home": "0.5.0",
"@backstage/plugin-ilert": "0.2.6",
"@backstage/plugin-jenkins": "0.7.16",
"@backstage/plugin-jenkins-backend": "0.1.34",
"@backstage/plugin-jenkins-common": "0.1.15",
"@backstage/plugin-kafka": "0.3.17",
"@backstage/plugin-kafka-backend": "0.2.37",
"@backstage/plugin-kubernetes": "0.8.0",
"@backstage/plugin-kubernetes-backend": "0.10.0",
"@backstage/plugin-kubernetes-common": "0.6.2",
"@backstage/plugin-lighthouse": "0.4.2",
"@backstage/plugin-lighthouse-backend": "0.2.0",
"@backstage/plugin-lighthouse-common": "0.1.1",
"@backstage/plugin-linguist": "0.1.2",
"@backstage/plugin-linguist-backend": "0.2.1",
"@backstage/plugin-linguist-common": "0.1.0",
"@backstage/plugin-microsoft-calendar": "0.1.2",
"@backstage/plugin-newrelic": "0.3.35",
"@backstage/plugin-newrelic-dashboard": "0.2.10",
"@backstage/plugin-octopus-deploy": "0.1.1",
"@backstage/plugin-org": "0.6.7",
"@backstage/plugin-org-react": "0.1.6",
"@backstage/plugin-pagerduty": "0.5.10",
"@backstage/plugin-periskop": "0.1.15",
"@backstage/plugin-periskop-backend": "0.1.15",
"@backstage/plugin-permission-backend": "0.5.19",
"@backstage/plugin-permission-common": "0.7.5",
"@backstage/plugin-permission-node": "0.7.7",
"@backstage/plugin-permission-react": "0.4.12",
"@backstage/plugin-playlist": "0.1.8",
"@backstage/plugin-playlist-backend": "0.3.0",
"@backstage/plugin-playlist-common": "0.1.6",
"@backstage/plugin-proxy-backend": "0.2.38",
"@backstage/plugin-puppetdb": "0.1.0",
"@backstage/plugin-rollbar": "0.4.17",
"@backstage/plugin-rollbar-backend": "0.1.41",
"@backstage/plugin-scaffolder": "1.13.0",
"@backstage/plugin-scaffolder-backend": "1.13.0",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.1.0",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.19",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.1.0",
"@backstage/plugin-scaffolder-backend-module-rails": "0.4.12",
"@backstage/plugin-scaffolder-backend-module-sentry": "0.1.4",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.17",
"@backstage/plugin-scaffolder-common": "1.2.7",
"@backstage/plugin-scaffolder-node": "0.1.2",
"@backstage/plugin-scaffolder-react": "1.3.0",
"@backstage/plugin-search": "1.2.0",
"@backstage/plugin-search-backend": "1.3.0",
"@backstage/plugin-search-backend-module-catalog": "0.1.0",
"@backstage/plugin-search-backend-module-elasticsearch": "1.2.0",
"@backstage/plugin-search-backend-module-explore": "0.1.0",
"@backstage/plugin-search-backend-module-pg": "0.5.5",
"@backstage/plugin-search-backend-module-techdocs": "0.1.0",
"@backstage/plugin-search-backend-node": "1.2.0",
"@backstage/plugin-search-common": "1.2.3",
"@backstage/plugin-search-react": "1.5.2",
"@backstage/plugin-sentry": "0.5.2",
"@backstage/plugin-shortcuts": "0.3.9",
"@backstage/plugin-sonarqube": "0.6.6",
"@backstage/plugin-sonarqube-backend": "0.1.9",
"@backstage/plugin-sonarqube-react": "0.1.5",
"@backstage/plugin-splunk-on-call": "0.4.6",
"@backstage/plugin-stack-overflow": "0.1.13",
"@backstage/plugin-stack-overflow-backend": "0.2.0",
"@backstage/plugin-stackstorm": "0.1.1",
"@backstage/plugin-tech-insights": "0.3.9",
"@backstage/plugin-tech-insights-backend": "0.5.10",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.28",
"@backstage/plugin-tech-insights-common": "0.2.10",
"@backstage/plugin-tech-insights-node": "0.4.2",
"@backstage/plugin-tech-radar": "0.6.3",
"@backstage/plugin-techdocs": "1.6.1",
"@backstage/plugin-techdocs-addons-test-utils": "1.0.12",
"@backstage/plugin-techdocs-backend": "1.6.1",
"@backstage/plugin-techdocs-module-addons-contrib": "1.0.12",
"@backstage/plugin-techdocs-node": "1.7.0",
"@backstage/plugin-techdocs-react": "1.1.5",
"@backstage/plugin-todo": "0.2.19",
"@backstage/plugin-todo-backend": "0.1.41",
"@backstage/plugin-user-settings": "0.7.2",
"@backstage/plugin-user-settings-backend": "0.1.8",
"@backstage/plugin-vault": "0.1.11",
"@backstage/plugin-vault-backend": "0.3.0",
"@backstage/plugin-xcmetrics": "0.2.37",
"@backstage/plugin-analytics-module-ga4": "0.0.0"
},
"changesets": [
"afraid-shirts-train",
"backend-like-a-tattoo",
"beige-tigers-matter",
"brown-eyes-yell",
"calm-wolves-taste",
"chilly-fireants-type",
"clean-lobsters-brake",
"cold-drinks-exercise",
"create-app-1682437922",
"curvy-months-appear",
"dry-boats-sniff",
"dull-wombats-stare",
"eighty-olives-live",
"fifty-laws-count",
"five-tigers-whisper",
"fresh-moons-unite",
"funny-trains-sniff",
"good-lions-approve",
"green-cheetahs-cover",
"healthy-ladybugs-chew",
"honest-countries-deny",
"hungry-foxes-divide",
"lazy-keys-work",
"mighty-bears-glow",
"mighty-cows-greet",
"modern-pumpkins-join",
"moody-lizards-beam",
"nine-ties-smoke",
"olive-turkeys-switch",
"polite-dingos-train",
"pretty-gifts-greet",
"quick-flies-guess",
"red-cheetahs-invite",
"rotten-chefs-jog",
"serious-hornets-remember",
"six-mails-shout",
"slimy-turkeys-return",
"soft-readers-exist",
"swift-fishes-run",
"tame-games-rule",
"thick-parents-pump",
"tough-moles-whisper",
"unlucky-plants-give",
"warm-lamps-tease"
]
}
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-home': patch
---
Add missing @rjsf/core dependency
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-app-api': patch
---
Added `FrontendHostDiscovery` for config driven discovery implementation
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-openapi-utils': patch
---
Corrected resolution of parameter nested schema to use central schemas.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-puppetdb': patch
---
Fixes import paths and updates documentation
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-octopus-deploy': minor
---
Added support for Octopus Deploy spaces. The octopus.com/project-id annotation can now (optionally) be prefixed by a space identifier, for example. Spaces-1/Projects-102.
Also note that some of this plugins exported API's have changed to accommodate this change, changing from separate arguments to a single object.
-10
View File
@@ -1,10 +0,0 @@
---
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder': patch
---
Improvements to the `scaffolder/next` buttons UX:
- Added padding around the "Create" button in the `Stepper` component
- Added a button bar that includes the "Cancel" and "Start Over" buttons to the `OngoingTask` component. The state of these buttons match their existing counter parts in the Context Menu
- Added a "Show Button Bar"/"Hide Button Bar" item to the `ContextMenu` component
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-circleci': patch
---
Hide empty time field data for queued builds which haven't started yet
+16
View File
@@ -0,0 +1,16 @@
---
'@backstage/plugin-linguist-backend': minor
---
**BREAKING**: Removed public constructor from `LinguistBackendApi`. Removed export of `LinguistBackendDatabase` and `LinguistBackendStore`
Several improvements to the Linguist backend have been made:
- Added tests for the `LinguistBackendDatabase` and `LinguistBackendApi`
- Added support for using SQLite as a database, helpful for local development
- Removed the default from the `processes_date` column
- Converted the `LinguistBackendApi` into an Interface
- Added the `LinguistBackendClient` which implements the `LinguistBackendApi` Interface
- Unprocessed entities will get processed before stale entities
- Entities in the Linguist database but not in the Catalog anymore will be deleted
- Improved the README's headings
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': patch
---
Change deprecated local references to import from shared `plugin-techdocs-react` plugin
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-shortcuts': patch
---
Marked `LocalStoredShortcuts` as deprecated, replacing it with `DefaultShortcutsApi` whose naming more clearly suggests that the shortcuts aren't necessarily stored locally (it depends on the storage implementation).
-22
View File
@@ -1,22 +0,0 @@
---
'@backstage/plugin-permission-node': patch
---
`createPermissionIntegrationRouter` now accepts rules and permissions for multiple resource types. Example:
```typescript
createPermissionIntegrationRouter({
resources: [
{
resourceType: 'resourceType-1',
permissions: permissionsResourceType1,
rules: rulesResourceType1,
},
{
resourceType: 'resourceType-2',
permissions: permissionsResourceType2,
rules: rulesResourceType2,
},
],
});
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Added `HostDiscovery` to supersede deprecated `SingleHostDiscovery` (deprecated due to name)
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Fix accessibility issue on controlled select input on tab navigation + keyboard enter/space action.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Bump minimum required version of `vm2` to be 3.9.17
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Pin some octokit dependencies to avoid failing typescript build under `tsc:full`
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-scaffolder-node': patch
---
Update typing for `RouterOptions::actions` and `ScaffolderActionsExtensionPoint::addActions` to allow any kind of action being assigned to it.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-search-react': patch
---
Fix text-overflow UI issue for Lifecycle spans in SearchFilter checkbox labels.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-tech-radar': patch
---
Added the ability to display a timeline to each entry in the details box
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-search-backend': patch
---
Added an OpenAPI 3.0 spec and enforced schema-first model on the router.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-explore': patch
---
Updated the example code in the "Customization" section of the README to make the imports match the components used.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Start capturing sidebar click events in analytics by default.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-kubernetes-backend': minor
---
Update `aws-sdk` client from v2 to v3.
**BREAKING**: The `AwsIamKubernetesAuthTranslator` class no longer exposes the following methods `awsGetCredentials`, `getBearerToken`, `getCredentials` and `validCredentials`. There is no replacement for these methods.
@@ -14,6 +14,7 @@ services:
POSTGRES_PORT: 5432
POSTGRES_USER: postgres
POSTGRES_PASSWORD: kiTMoTsiEuyQ43GrL4Hv
REF_NAME: ${GITHUB_SHA}
NODE_ENV: production
deploy:
resources:
@@ -28,6 +28,7 @@ backend:
credentials: true
csp:
connect-src: ["'self'", 'http:', 'https:']
img-src: ["'self'", 'data:', 'https://cdnjs.cloudflare.com']
# Content-Security-Policy directives follow the Helmet format: https://helmetjs.github.io/#reference
# Default Helmet Content-Security-Policy values can be removed by setting the key to false
@@ -41,15 +42,18 @@ auth:
catalog:
locations:
- type: url
target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all.yaml
target: https://github.com/backstage/backstage/blob/${REF_NAME}/packages/catalog-model/examples/all.yaml
- type: url
target: https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/acme-corp.yaml
target: https://github.com/backstage/backstage/blob/${REF_NAME}/plugins/techdocs-backend/examples/documented-component-uffizzi/catalog-info.yaml
- type: url
target: https://github.com/backstage/backstage/blob/${REF_NAME}/packages/catalog-model/examples/acme-corp.yaml
rules:
- allow: [User, Group]
- type: url
target: https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/all-templates.yaml
target: https://github.com/backstage/backstage/blob/${REF_NAME}/plugins/scaffolder-backend/sample-templates/all-templates.yaml
rules:
- allow: [Template]
@@ -124,7 +128,7 @@ proxy:
techdocs:
builder: 'local' # Alternatives - 'external'
generator:
runIn: 'docker'
runIn: 'local'
# dockerImage: my-org/techdocs # use a custom docker image
# pullImage: true # or false to disable automatic pulling of image (e.g. if custom docker login is required)
publisher:
+6
View File
@@ -188,6 +188,7 @@ learnings
Leasot
lerna
Lerna
lightbox
limitranges
LocalStack
lockdown
@@ -247,6 +248,7 @@ Olausson
Oldsberg
onboarding
Onboarding
OpenSearch
OpenShift
orgs
padding
@@ -314,6 +316,7 @@ scaffolded
scaffolder
Scaffolder
scrollbar
sdks
seb
semlas
semver
@@ -341,6 +344,8 @@ stdout
storable
stringified
stringify
subcommand
subcommands
subcomponent
subcomponents
subfolder
@@ -389,6 +394,7 @@ transpilers
truthy
TSDoc
typeahead
Uffizzi
ui
unbreak
Unconference
+1 -1
View File
@@ -96,7 +96,7 @@ jobs:
run: node scripts/verify-api-reference.js
- name: verify openapi yaml file matches generated ts file
run: yarn backstage-repo-tools schema:openapi:verify
run: yarn backstage-repo-tools schema openapi verify
- name: verify doc links
run: node scripts/verify-links.js
+1 -1
View File
@@ -81,7 +81,7 @@ jobs:
BACKSTAGE_IMAGE=$(echo ${{ needs.build-backstage.outputs.tags }})
export BACKSTAGE_IMAGE
# Render simple template from environment variables.
envsubst '$BACKSTAGE_IMAGE' < .github/uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml
envsubst '$BACKSTAGE_IMAGE $GITHUB_SHA' < .github/uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml
cat docker-compose.rendered.yml
- name: Upload Rendered Compose File as Artifact
uses: actions/upload-artifact@v3
+5 -3
View File
@@ -14,7 +14,7 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [American Airlines](https://www.aa.com) | [@paulpach](https://github.com/paulpach) | Central place for developers to develop and maintain applications |
| [Kiwi.com](https://kiwi.com) | [@aexvir](https://github.com/aexvir) | Replacing the frontend of [The Zoo](https://github.com/kiwicom/the-zoo), their service registry. |
| [Voi](https://www.voiscooters.com/) | [@K-Phoen](https://github.com/K-Phoen) | Developer portal, main gateway to our infrastructure, documentation and internal tooling. |
| [Talkdesk](https://www.talkdesk.com) | [@jaime-talkdesk](https://github.com/jaime-talkdesk) | Initial work for Engineering Portal and Self Provisioning to R&D |
| [Talkdesk](https://www.talkdesk.com) | [@atmcarmo](https://github.com/atmcarmo) | Engineering Portal with all of our apps and services, overview about our deployment regions and scaffolding new services. |
| [Wealthsimple](https://www.wealthsimple.com) | [@andrewthauer](https://github.com/andrewthauer) | Developer portal, service catalog, documentation and tooling |
| [Grab](https://www.grab.com) | [@althafh](https://github.com/althafh) | Initial work as a unified interface for all of Grab's internal tooling |
| [Telenor Sweden](https://www.telenor.se) | [@O5ten](https://github.com/O5ten) | Building a developer portal for scaffolding projects towards our unified build environment and microservice stacks |
@@ -132,7 +132,7 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [Tink](https://tink.com/) | [Sebastian Olsson](https://github.com/Sebelino), [Błażej Szum](https://github.com/blazejszumtink), [Anders Eurenius Runvald](https://github.com/anders-er-at-tink) | Internal developer portal which provides templates for creating new Java or Go microservices seamlessly. Also includes a tech radar and a visualization of our CD pipeline. |
| [Brandwatch](https://brandwatch.com) | [Stefan Buck](https://github.com/stefanbuck) | Our primary focus is on the service catalog. Backstage is replacing our homemade service catalog. The switch was quite simple due to the catalog processor API. |
| [Laybuy](https://www.laybuy.com) | [Chris Simmons](https://github.com/contrarianchris) | Backstage is the heart of Laybuys new centralised Development Platform, bringing disparate development tools and experiences into a single easy-to-use portal. It simplifies software and API discovery, project scaffolding, and technical documentation, enabling us to embrace golden path development and automate software standards. |
| [Sendinblue](https://engineering.sendinblue.com/) | [Tanguy Antoine](mailto:antoine.tanguy@sendinblue.com) | Helps us drive the change at scale. Puts light on services, resources, and dependencies. One tool that rules them all through plugins we created for that purpose. We are aiming to put Backstage at the center of every developer's work (Actionable items, Debugging, Monitoring, Provisioning, etc...) to improve their happiness |
| [Brevo](https://engineering.brevo.com/) | [Tanguy Antoine](mailto:antoine.tanguy@brevo.com) | Helps us drive the change at scale. Puts light on services, resources, and dependencies. One tool that rules them all through plugins we created for that purpose. We are aiming to put Backstage at the center of every developer's work (Actionable items, Debugging, Monitoring, Provisioning, etc...) to improve their happiness |
| [SafetyCulture](https://safetyculture.com/) | [@R-cen](https://github.com/R-cen), [@lachlancooper](https://github.com/lachlancooper), [@hkf57](https://github.com/hkf57) | Internal developer portal to provide a centralized place for engineers to see an overview of their team's services and information related to the service from other systems. Initially focused on the software catalog, techdocs and search. |
| [Sana Life Science](https://sanalifescience.com) | [Joe Hillyard](mailto:joe@sanalifescience.com) | API Catalog, Tools Management & Control Hub |
| [Ndustrial](https://ndustrial.io) | [Jonathan Skubic](mailto:jonathan@ndustrial.io) | Software Project Catalog |
@@ -244,4 +244,6 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [Quantum Metric](https://www.quantummetric.com/) | [Eric Irwin](https://www.linkedin.com/in/ericirwin1124/) | Backstage is used within our Developer Experience Platform (DXP) in order to increase self-service, standardization and discoverability across our Engineering teams. |
| [VodafoneZiggo](https://www.vodafoneziggo.nl/) | [Peter Macdonald](https://github.com/Parsifal-M) | We use Backstage as our go-to platform for managing our internal tools and services. With Backstage, we can easily discover and access all the services we need to do our work, whether it's deploying code, managing infrastructure, or accessing documentation. We appreciate the standardized, consistent interface and the ability to easily create custom plugins to integrate with our existing workflows. Overall, Backstage is streamlining our internal operations and helps us work more efficiently as a team. |
| [Volvo Cars](https://www.volvocars.com) | [Martin Wänerskär](https://github.com/martin-wanerskar) | Internal developer portal with intent to unify infrastructure tooling, services, and developer documentation under a single, easy-to-use interface. |
| [Mercantil Andina](https://www.mercantilandina.com.ar/) | [Sebastian Paredero](https://www.linkedin.com/in/sebastian-paredero/), [Matias Javier Gomez](https://www.linkedin.com/in/matias-javier-gomez-140540a3/), [Gustavo Wilgenhoff](https://github.com/wilgustavo) | Developer portal: documentation, service templates, org structure, service catalog, plugins for integration with internal systems. |
| [Mercantil Andina](https://www.mercantilandina.com.ar/) | [Sebastian Paredero](https://www.linkedin.com/in/sebastian-paredero/), [Matias Javier Gomez](https://www.linkedin.com/in/matias-javier-gomez-140540a3/), [Gustavo Wilgenhoff](https://github.com/wilgustavo) | Developer portal: documentation, service templates, org structure, service catalog, plugins for integration with internal systems. |
| [Livelo](https://www.livelo.com.br) | [Felipe Nardon](https://www.linkedin.com/in/felipe-nardon-dos-santos/), [Yves Galvão](https://www.linkedin.com/in/yvesgalvao/), [Isaque Rocha](https://www.linkedin.com/in/isaque-rocha/) | Internal platform that aims to reduce the teams' cognitive load through self-service, abstracting processes that are now part of the teams' daily lives, enabling a centralized management of documentation, catalog, metrics and knowledge. |
| [Worten](https://www.worten.pt) | [@elisiariocouto](https://github.com/elisiariocouto) | We are proud to be an adopter of Backstage. Our goal is to make our Backstage installation the go-to location for every developer. To achieve this, we developed a custom plugin to populate Backstage's catalog with information from our internal deployment tool. As a result, we now have full visibility of all Worten systems, components, APIs, messaging topics, and documentation. We also migrated the internal deployment tool's Web UI to Backstage. Currently, we are working on Backstage's Software Templates feature. |
+5 -1
View File
@@ -92,10 +92,14 @@ For those contributors who have earned write access to the repository, when a pu
## Code of Conduct
This project adheres to the [Spotify FOSS Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code.
This project adheres to the [CNCF Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code.
[code-of-conduct]: https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md
## Security Issues?
See [SECURITY](SECURITY.md).
## Accessibility
We encourage you to catch any accessibility issues already in the development phase of new features to Backstage, see our [Accessibility documentation](./docs/accessibility/index.md) for more details.
+14
View File
@@ -77,6 +77,20 @@ Scope: The TechDocs plugin and related tooling
| Morgan Bentell | Spotify | Pulp Fiction | [agentbellnorm](http://github.com/agentbellnorm) | morganbentell#9030 |
| Raghunandan Balachandran | Spotify | Pulp Fiction | [soapraj](http://github.com/soapraj) | raghunandanb#1114 |
## Incubating Project Areas
These incubating project areas have shared ownership with @backstage/maintainers.
### OpenAPI Tooling
Team: @backstage/openapi-tooling-maintainers
Scope: Tooling for frontend and backend schema-first OpenAPI development.
| Name | Organization | GitHub | Discord |
| -------------- | ------------ | --------------------------------------- | ------------- |
| Aramis Sennyey | | [sennyeya](https://github.com/sennyeya) | `Aramis#7984` |
## Sponsors
| Name | Organization | GitHub | Email |
+1
View File
@@ -9,6 +9,7 @@
![Code style](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)
[![Codecov](https://img.shields.io/codecov/c/github/backstage/backstage)](https://codecov.io/gh/backstage/backstage)
[![](https://img.shields.io/github/v/release/backstage/backstage)](https://github.com/backstage/backstage/releases)
[![Uffizzi](https://img.shields.io/endpoint?url=https%3A%2F%2Fapp.uffizzi.com%2Fapi%2Fv1%2Fpublic%2Fshields%2Fgithub.com%2Fbackstage%2Fbackstage)](https://app.uffizzi.com/ephemeral-environments/backstage/backstage)
## What is Backstage?
+2 -2
View File
@@ -9,8 +9,8 @@ import {
DeferredEntity,
EntityProvider,
EntityProviderConnection,
parseEntityYaml,
} from '@backstage/plugin-catalog-backend';
} from '@backstage/plugin-catalog-node';
import { parseEntityYaml } from '@backstage/plugin-catalog-backend';
import bodyParser from 'body-parser';
import express from 'express';
import Router from 'express-promise-router';
@@ -82,10 +82,20 @@ export const createAuthMiddleware = async (
};
```
Install cookie-parser:
```bash
# From your Backstage root directory
yarn add --cwd packages/backend cookie-parser
```
Update routes in `packages/backend/src/index.ts`:
```typescript
// packages/backend/src/index.ts from a create-app deployment
import { createAuthMiddleware } from './authMiddleware';
import cookieParser from 'cookie-parser';
// ...
+60
View File
@@ -0,0 +1,60 @@
---
id: index
title: Backstage Accessibility
description: Documentation on Backstage Accessibility
---
In an effort to bake accessibility practices further into our process of building features for Backstage, we support automated CI tests for some of our core features in the OSS project: Software Catalog, Software Templates, Search, and TechDocs. As these are just a few of the many plugins out there, we encourage you to consider the accessibility implications of your work on Backstage in order to build a great experience for everyone.
## How to contribute
There are multiple ways to contribute to making Backstage more accessible, you'll find below a list of examples to help you get started.
### Run Lighthouse in CI on your plugin
If your plugin lives in the [Backstage main repository](https://github.com/backstage/backstage/) you can modify the [urls in the Lighthouse config](https://github.com/backstage/backstage/blob/39ba2284d73885b7ca8290cb38e2b1e4d983c8d6/lighthouserc.js#L19-L34) to run the Lighthouse checks on urls where your plugin exists as well. E.g.
```diff
ci: {
collect: {
url: [
+ /** Your plugin paths */
+ 'http://localhost:3000/your-plugin-path,
/** Software Catalog */
'http://localhost:3000/catalog',
'http://localhost:3000/catalog-import',
'http://localhost:3000/catalog/default/component/backstage',
...
],
settings: {
...
},
...
},
assert: {
...
},
},
```
To make sure the [Accessibility Github workflow](https://github.com/backstage/backstage/blob/master/.github/workflows/verify_accessibility.yml) is running when changes are made to your plugin folders, modify the [list of paths](https://github.com/backstage/backstage/blob/10759b6ad2561bd86183ad940256f9a309c7a6b0/.github/workflows/verify_accessibility.yml#L7-L16).
### Run the Lighthouse CLI locally when developing new features
If you want to use the Lighthouse CLI and run the checks based on the config you can use the following command:
```
yarn dlx @lhci/cli@0.11.x autorun
```
> Note: running this command will use the [Lighthouse config](https://github.com/backstage/backstage/blob/39ba2284d73885b7ca8290cb38e2b1e4d983c8d6/lighthouserc.js#L19-L34) so make sure to adjust it to your needs if needed.
### Use Lighthouse Github Action on your own repo
If your Backstage plugin lives outside of the [Backstage main repository](https://github.com/backstage/backstage/), and you use GitHub Actions for continuous integration, we encourage you to add and modify the [Accessibility GitHub workflow](https://github.com/backstage/backstage/blob/master/.github/workflows/verify_accessibility.yml) to your needs.
### Report identified issues
Its important to remember that automated checks can only catch a small number of accessibility issues, therefore we also encourage you to conduct manual testing of your plugins using Assistive technology (screen readers, alternative navigation, and screen magnifiers are a few examples).
If you have identified accessibility issues and dont have time to contribute a fix, please open an issue over at [Backstage Issues](https://github.com/backstage/backstage/issues) to let us know.
@@ -66,6 +66,7 @@ as `401` or similar.
The providers available as client side are:
- `aks`
- `google`
- `oidc`
+4 -3
View File
@@ -104,12 +104,13 @@ cluster. Valid values are:
| Value | Description |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `serviceAccount` | This will use a Kubernetes [service account](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/) to access the Kubernetes API. When this is used the `serviceAccountToken` field should also be set. |
| `google` | This will use a user's Google auth token from the [Google auth plugin](https://backstage.io/docs/auth/) to access the Kubernetes API. |
| `aks` | This will use a user's AKS access token from the [Microsoft auth provider](https://backstage.io/docs/auth/microsoft/provider) to access the Kubernetes API on AKS clusters. |
| `aws` | This will use AWS credentials to access resources in EKS clusters |
| `googleServiceAccount` | This will use the Google Cloud service account credentials to access resources in clusters |
| `azure` | This will use [Azure Identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) to access resources in clusters |
| `google` | This will use a user's Google access token from the [Google auth provider](https://backstage.io/docs/auth/google/provider) to access the Kubernetes API on GKE clusters. |
| `googleServiceAccount` | This will use the Google Cloud service account credentials to access resources in clusters |
| `oidc` | This will use [Oidc Tokens](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens) to authenticate to the Kubernetes API. When this is used the `oidcTokenProvider` field should also be set. Please note the cluster must support OIDC, at the time of writing AKS clusters do not support OIDC. |
| `serviceAccount` | This will use a Kubernetes [service account](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/) to access the Kubernetes API. When this is used the `serviceAccountToken` field should also be set. |
Check the [Kubernetes Authentication][4] section for additional explanation.
@@ -239,17 +239,18 @@ Example: `visits-tracking-service`, `CircleciBuildsDumpV2_avro_gcs`
### `namespace` [optional]
The ID of a namespace that the entity belongs to. This is a string that follows
the same format restrictions as `name` above.
The ID of a namespace that the entity belongs to. This field is optional, and
currently has no special semantics apart from bounding the name uniqueness
constraint if specified. It is reserved for future use and may get broader
semantic implication later.
This field is optional, and currently has no special semantics apart from
bounding the name uniqueness constraint if specified. It is reserved for future
use and may get broader semantic implication later. For now, it is recommended
to not specify a namespace unless you have specific need to do so. This means
the entity belongs to the `"default"` namespace.
For now, it is recommended to not specify a namespace unless you have specific
need to do so. This means the entity belongs to the `"default"` namespace.
Namespaces may also be part of the catalog, and are `v1` / `Namespace` entities,
i.e. not Backstage specific but the same as in Kubernetes.
Namespaces must be sequences of `[a-zA-Z0-9]`, possibly separated by `-`, at
most 63 characters in total. Namespace names are case insensitive and will be rendered as lower case in most places.
Example: `tracking-services`, `payment`
### `uid` [output]
@@ -510,10 +510,8 @@ take a look at, or you can
Each individual step can output some variables that can be used in the
scaffolder frontend for after the job is finished. This is useful for things
like linking to the entity that has been created with the backend, and also
linking to the created repository.
The main two that are used are the following:
like linking to the entity that has been created with the backend, linking
to the created repository, or showing Markdown text blobs.
```yaml
output:
@@ -523,6 +521,10 @@ output:
- title: Open in catalog
icon: catalog
entityRef: ${{ steps['register'].output.entityRef }} # link to the entity that has been ingested to the catalog
text:
- title: More information
content: |
**Entity URL:** `${{ steps['publish'].output.remoteUrl }}`
```
## The templating syntax
+2
View File
@@ -243,6 +243,8 @@ integrations:
token: ${GITHUB_TOKEN} # this will use the environment variable GITHUB_TOKEN
```
> Note: If you've updated the configuration for your integration, it's likely that the backend will need a restart to apply these changes. To do this, stop the running instance in your terminal with `Control-C`, then start it again with `yarn dev`. Once the backend has restarted, retry the operation.
Some helpful links, for if you want to learn more about:
- [Other available integrations](../integrations/)
+3
View File
@@ -21,6 +21,9 @@ you to use the [Contributors](contributors.md) guide to do a repository-based in
- Access to a Unix-based operating system, such as Linux, MacOS or
[Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/)
- A GNU-like build environment available at the command line.
For example, on Debian/Ubuntu you will want to have the `make` and `build-essential` packages installed.
On MacOS, you will want to have run `xcode-select --install` to get the XCode command line build tooling in place.
- An account with elevated rights to install the dependencies
- `curl` or `wget` installed
- Node.js [Active LTS Release](https://nodejs.org/en/blog/release/) installed using one of these
+72
View File
@@ -65,6 +65,42 @@ export default async function createPlugin(
}
```
Alternatively, if you wish to ingest data from multiple GitHub organizations you can use
the `GithubMultiOrgEntityProvider` instead. Note that by default, this provider will namespace
groups according to the org they originate from to avoid potential name duplicates:
```ts title="packages/backend/src/plugins/catalog.ts"
/* highlight-add-next-line */
import { GithubMultiOrgEntityProvider } from '@backstage/plugin-catalog-backend-module-github';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
/* highlight-add-start */
// The GitHub URL below needs to match a configured integrations.github entry
// specified in your app-config.
builder.addEntityProvider(
GithubMultiOrgEntityProvider.fromConfig(env.config, {
id: 'production',
githubUrl: 'https://github.com',
// Set the following to list the GitHub orgs you wish to ingest from. You can
// also omit this option to ingest all orgs accessible by your GitHub integration
orgs: ['org-a', 'org-b'],
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 60 },
timeout: { minutes: 15 },
}),
}),
);
/* highlight-add-end */
// ..
}
```
## Installation with Events Support
Please follow the installation instructions at
@@ -110,6 +146,42 @@ export default async function createPlugin(
}
```
Or, alternatively, if using the `GithubMultiOrgEntityProvider`:
```ts title="packages/backend/src/plugins/catalog.ts"
/* highlight-add-next-line */
import { GithubMultiOrgEntityProvider } from '@backstage/plugin-catalog-backend-module-github';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
/* highlight-add-start */
// The GitHub URL below needs to match a configured integrations.github entry
// specified in your app-config.
builder.addEntityProvider(
GithubMultiOrgEntityProvider.fromConfig(env.config, {
id: 'production',
githubUrl: 'https://github.com',
// Set the following to list the GitHub orgs you wish to ingest from. You can
// also omit this option to ingest all orgs accessible by your GitHub integration
orgs: ['org-a', 'org-b'],
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 60 },
timeout: { minutes: 15 },
}),
// Pass in the eventBroker to allow this provider to subscribe to GitHub events
eventBroker: env.eventBroker,
}),
);
/* highlight-add-end */
// ..
}
```
You can check the official docs to [configure your webhook](https://docs.github.com/en/developers/webhooks-and-events/webhooks/creating-webhooks) and to [secure your request](https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks).
The webhook will need to be configured to forward `organization`,`team` and `membership` events.
+2 -1
View File
@@ -290,7 +290,8 @@ Options:
--package <name> Only load config schema that applies to the given package
--lax Do not require environment variables to be set
--frontend Only validate the frontend configuration
--deprecated List all deprecated configuration settings
--deprecated Output deprecated configuration settings
--strict Ensure that the provided config(s) has no errors and does not contain keys not in the schema.
--config <path> Config files to load instead of app-config.yaml (default: [])
-h, --help display help for command
```
+1 -1
View File
@@ -11,7 +11,7 @@ npm.
### Creating a new release
Releases are handled by changesets and trigger whenever the "Version Packages"
PR is merged. This is typically done every Thursday around noon CET.
PR is merged. This is typically done every Tuesday around noon CET.
## Emergency Release Process
+5 -5
View File
@@ -4,7 +4,7 @@
### Minor Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
### Patch Changes
@@ -61,7 +61,7 @@
### Minor Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- c15e0cedbe1: The `AuthConnector` interface now supports specifying a set of scopes when
refreshing a session. The `DefaultAuthConnector` implementation passes the
`scope` query parameter to the auth-backend plugin appropriately. The
@@ -106,7 +106,7 @@
- 67140d9f96f: Upgrade `react-virtualized-auto-sizer´ to version `^1.0.11\`
- 6e0b71493df: Switched internal declaration of `DependencyGraphTypes` to use `namespace`.
- c8779cc1d09: Updated `LogLine` component, which is used by the `LogViewer`, to turn URLs into clickable links. This feature is on by default
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- 29ba8267d69: Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs)
@@ -170,7 +170,7 @@
### Minor Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
### Patch Changes
@@ -1245,7 +1245,7 @@
- d8f774c30df: Enforce the secret visibility of certificates and client secrets in the auth backend. Also, document all known options for each auth plugin.
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 475abd1dc3f: The `microsoft` (i.e. Azure) auth provider now supports negotiating tokens for
Azure resources besides Microsoft Graph (e.g. AKS, Virtual Machines, Machine
+5 -5
View File
@@ -4,7 +4,7 @@
### Minor Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
### Patch Changes
@@ -19,7 +19,7 @@
### Minor Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
### Patch Changes
@@ -33,7 +33,7 @@
### Minor Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
### Patch Changes
@@ -336,7 +336,7 @@
### Patch Changes
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs)
- 7245e744ab1: Fixed the font color on `BackstageHeaderLabel` to respect the active page theme.
- Updated dependencies
@@ -530,7 +530,7 @@
### Patch Changes
- d8f774c30df: Enforce the secret visibility of certificates and client secrets in the auth backend. Also, document all known options for each auth plugin.
- 7908d72e033: Introduce a new global config parameter, `auth.enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
- Updated dependencies
- @backstage/backend-common@0.18.4-next.0
- @backstage/config@1.0.7
+1 -1
View File
@@ -86,7 +86,7 @@ Contributed by [@sennyeya](https://github.com/sennyeya) in [#15667](https://gith
### Experimental inline auth flows
Theres new support for running auth flows inline in the current page instead of in a separate popup window, enabled via the `auth.enableExperimentalRedirectFlow` app-config parameter. This will allow the use of some providers that do not support popup flows. Its still an experimental feature, but do try it out if this applies to you!
Theres new support for running auth flows inline in the current page instead of in a separate popup window, enabled via the `enableExperimentalRedirectFlow` app-config parameter. This will allow the use of some providers that do not support popup flows. Its still an experimental feature, but do try it out if this applies to you!
Contributed by [@headphonejames](https://github.com/headphonejames) in [#15841](https://github.com/backstage/backstage/pull/15841)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+80
View File
@@ -0,0 +1,80 @@
---
id: v1.14.0
title: v1.14.0
description: Backstage Release v1.14.0
---
These are the release notes for the v1.14.0 release of [Backstage](https://backstage.io/).
A huge thanks to the whole team of maintainers and contributors as well as the amazing Backstage Community for their hard work in getting this release developed and done.
## Highlights
This release has an important security fix, along with a lot of squashed bugs and exciting additions! Enjoy.
### **BREAKING**: Tweaks to the OpenAPI tooling
Theres been further work made on the OpenAPI tooling! One of the changes is that the commands for this feature are grouped under a `schema openapi` subcommand. This lets us structure things a bit better for the future. The generated file now also has a `.generated.ts` extension, to more easily be able to keep it apart in linting and similar.
### **BREAKING**: Kubernetes plugin log viewer and tweaks
Theres been some awesome additions made to the Kubernetes plugin, including the ability to show pod logs! To support this, some breaking changes were made in some of its interfaces. Check out [#17120](https://github.com/backstage/backstage/pull/17120) for some details of what changed.
### **DEPRECATION**: React 16
We are preparing for React 18, and as part of doing that, we are now officially deprecating support for React 16. Nothing will break for you just yet, but if you are still on React 16 your `backstage-cli` commands will start to show helpful warning messages guiding you to bump to version 17 when you can.
See [#17752](https://github.com/backstage/backstage/pull/17752) for some details about this, and links to the relevant issues.
### New plugin: DevTools
This plugin is focused on integrators rather than end users. It allows you to see useful information about your Backstage installation, such as what operating system and NodeJS version its running on, what Backstage and individual package versions you have, and more! This may serve as a foundation for adding even more ops focused features in the future.
Contributed by [@awanlin](https://github.com/awanlin) in [#17393](https://github.com/backstage/backstage/pull/17393)
### Migration to AWS-SDK version 3
Theres been work done under the hood to migrate AWS features over to using v3 of their client SDKs. While this should mostly go below the radar and ultimately work the same as it did before, do reach out to us if you encounter any problems that might be related to this migration.
Theres actually a minor interface breakage as part of this, where `AwsIamKubernetesAuthTranslator` has some methods removed, but thats one which may not have a lot of use outside of the package.
Contributed by [@aochsner](https://github.com/aochsner), see PRs linked at the bottom of issue [#16470](https://github.com/backstage/backstage/issues/16470)
### Persistent session store for the auth backend
For auth providers that use session storage, those sessions are now persisted in the auth backend database, instead of in local memory. This should make session handling work better across scaled auth backend instances.
### Markdown Output Support for Software Templates
You can now output Markdown from the Software Template runs which can provide more data to the end user after a job has completed in the outputs section of `scaffolder/next`
Contributed by [@voximity](https://github.com/voximity) in [#17641](https://github.com/backstage/backstage/pull/17641)
### Refactored Configuration Loading
The configuration loading system has been refactored to make it easier to extend the system with additional sources of configuration. See the [initial PR](https://github.com/backstage/backstage/pull/17209) and the [`@backstage/config-loader` changelog](https://github.com/backstage/backstage/blob/master/packages/config-loader/CHANGELOG.md#130) for more details.
### Catalog database performance tweaks
We found some hotspots in the catalog database operations, and streamlined them. Hopefully this should be noticeable in the form of slightly lower CPU and IOPS usage.
## Security Fixes
A [security flaw in the `vm2` package](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32314) used by the Scaffolder plugin was patched by our automated security processes in [#17810](https://github.com/backstage/backstage/pull/17810). The fixed version of `vm2` was already covered by the required version range of the Scaffolder plugin, so adopters are able to address this vulnerability separately without upgrading Backstage itself, as part of their regular security processes.
## Upgrade path
We recommend that you keep your Backstage project up to date with this latest release. For more guidance on how to upgrade, check out the documentation for [keeping Backstage updated](https://backstage.io/docs/getting-started/keeping-backstage-updated).
## Links and References
Below you can find a list of links and references to help you learn about and start using this new release.
- [Backstage official website](https://backstage.io/), [documentation](https://backstage.io/docs/), and [getting started guide](https://backstage.io/docs/getting-started/)
- [GitHub repository](https://github.com/backstage/backstage)
- Backstage's [versioning and support policy](https://backstage.io/docs/overview/versioning-policy)
- [Community Discord](https://discord.gg/backstage-687207715902193673) for discussions and support
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.14.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+2 -2
View File
@@ -37,7 +37,7 @@ backend:
connection: ':memory:'
# highlight-remove-end
# highlight-add-start
# config options: https://node-postgres.com/api/client
# config options: https://node-postgres.com/apis/client
client: pg
connection:
host: ${POSTGRES_HOST}
@@ -72,7 +72,7 @@ backend:
connection: ':memory:'
# highlight-remove-end
# highlight-add-start
# config options: https://node-postgres.com/api/client
# config options: https://node-postgres.com/apis/client
client: pg
connection:
host: ${POSTGRES_HOST}
+10
View File
@@ -0,0 +1,10 @@
---
title: APIs with 3scale
author: Red Hat
authorUrl: https://redhat.com
category: Discovery
description: Synchronize 3scale content into the Backstage catalog.
documentation: https://janus-idp.io/plugins/3scale
iconUrl: http://janus-idp.io/images/plugins/3scale.svg
npmPackageName: '@janus-idp/backstage-plugin-3scale-backend'
addedDate: '2023-05-15'
@@ -0,0 +1,10 @@
---
title: AWS App Developer Tools
author: Amazon Web Services
authorUrl: https://aws.amazon.com/
category: Infrastructure
description: Create and manage AWS Apps within Backstage
documentation: https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme
iconUrl: https://github.com/awslabs/app-development-for-backstage-io-on-aws/blob/main/docs/images/AWS_logo.png?raw=true
npmPackageName: '@aws/plugin-aws-apps-for-backstage'
addedDate: '2023-05-10'
@@ -0,0 +1,10 @@
---
title: Container Image Registry for JFrog Artifactory
author: Red Hat
authorUrl: https://redhat.com
category: Image
description: View container image details from JFrog Artifactory in Backstage.
documentation: https://janus-idp.io/plugins/jfrog-artifactory
iconUrl: http://janus-idp.io/images/plugins/jfrog-artifactory.svg
npmPackageName: '@janus-idp/backstage-plugin-jfrog-artifactory'
addedDate: '2023-05-15'
+10
View File
@@ -0,0 +1,10 @@
---
title: Authentication and Authorization with Keycloak
author: Red Hat
authorUrl: https://redhat.com
category: Authentication
description: Load users and groups from Keycloak, enabling use of multiple authentication providers to be applied to Backstage entities.
documentation: https://janus-idp.io/plugins/keycloak
iconUrl: http://janus-idp.io/images/plugins/keycloak.svg
npmPackageName: '@janus-idp/backstage-plugin-keycloak-backend'
addedDate: '2023-05-15'
+10
View File
@@ -0,0 +1,10 @@
---
title: Multi Cluster View with OCM
author: Red Hat
authorUrl: https://redhat.com
category: OCM
description: View clusters from OCM's MultiClusterHub and MultiCluster Engine in Backstage.
documentation: https://janus-idp.io/plugins/ocm
iconUrl: http://janus-idp.io/images/plugins/ocm.svg
npmPackageName: '@janus-idp/backstage-plugin-ocm'
addedDate: '2023-05-15'
+10
View File
@@ -0,0 +1,10 @@
---
title: Container Image Registry for Quay
author: Red Hat
authorUrl: https://redhat.com
category: Image
description: View container image details from Quay in Backstage.
documentation: https://janus-idp.io/plugins/quay
iconUrl: http://janus-idp.io/images/plugins/quay.svg
npmPackageName: '@janus-idp/backstage-plugin-quay'
addedDate: '2023-05-15'

Some files were not shown because too many files have changed in this diff Show More