Merge branch 'backstage:master' into github-homepage

This commit is contained in:
Leon van Ginneken
2022-08-17 11:52:23 +02:00
committed by GitHub
409 changed files with 4739 additions and 2291 deletions
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes': patch
---
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.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Linting is now ignored for any `.eslintrc.*` files, not just `.eslintrc.js`.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/backend-common': patch
---
Improve `scm/git` wrapper around `isomorphic-git` library :
- Add `checkout` function,
- Add optional `remoteRef` parameter in the `push` function.
-17
View File
@@ -1,17 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': patch
---
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".
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-adr': minor
'@backstage/plugin-adr-backend': minor
'@backstage/plugin-adr-common': minor
---
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
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/backend-app-api': patch
'@backstage/backend-plugin-api': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-catalog-node': patch
---
Refactored experimental backend system with new type names.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
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.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Added back reduction in size, this fixes the extremely large TeachDocs headings
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-home': patch
---
Add wrap-around for the listing of tools to prevent increasing width with name length.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-kubernetes-common': patch
---
Added `DaemonSets` to the default kubernetes resources.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': minor
---
Added back support for when no branch is provided to the `UrlReader` for Bitbucket Server
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/integration': patch
---
Handle incorrect return type from Octokit paginate plugin to resolve reading URLs from GitHub
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-sonarqube-backend': minor
---
Initial creation of the plugin
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': patch
---
Adding a `className` prop to the `MarkdownContent` component
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-scaffolder': minor
'@backstage/plugin-scaffolder-backend': minor
---
Starting the implementation of the Wizard page for the `next` scaffolder plugin
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/core-plugin-api': patch
---
Introduced a new experimental feature that allows you to declare plugin-wide options for your plugin by defining
`__experimentalConfigure` in your `createPlugin` options. See https://backstage.io/docs/plugins/customization.md for more information.
This is an experimental feature and it will have breaking changes in the future.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Add a `publish:gerrit:review` scaffolder action
-15
View File
@@ -1,15 +0,0 @@
---
'@backstage/plugin-catalog': minor
---
Plugin catalog has been modified to use an experimental feature where you can customize the title of the create button.
You can modify it by doing:
```typescript jsx
import { catalogPlugin } from '@backstage/plugin-catalog';
catalogPlugin.__experimentalReconfigure({
createButtonTitle: 'New',
});
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes': patch
---
Adds namespace column to Kubernetes error reporting table
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-sonarqube': minor
---
**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.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/integration': minor
'@backstage/plugin-scaffolder-backend': minor
---
Add support for Basic Auth for Bitbucket Server.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
The `publish:file` action has been deprecated in favor of testing templates using the template editor instead. Note that this action is not and was never been installed by default.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-stack-overflow-backend': patch
---
Added API key as separate configuration
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Fixed a bug where `NODE_ENV` was not set in the environment when starting the backend in development mode. It has always been the case that Webpack transformed `NODE_ENV` when running in development mode, but this did not affect dependencies in `node_modules` as they are treated as external.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-auth-backend': patch
---
Fixed a bug in auth plugin on the backend where it ignores the skip migration database options when using the database provider.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-plugin-api': patch
---
The factory returned by `createBackendPlugin` and `createBackendModule` no longer require a parameter to be passed if the options are optional.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-github-issues': patch
---
Moved communication with GitHub graphql API to the dedicated plugin API.
Fixes issue when no GitHub Issues are rendered when partial failure is returned from GitHub API.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-react': patch
---
Modify description column to not use auto width.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-cost-insights': patch
---
Make `products` field optional in the config
+71
View File
@@ -0,0 +1,71 @@
---
'@backstage/create-app': patch
---
The `packages/backend/Dockerfile` received a couple of updates, it now looks as follows:
```Dockerfile
FROM node:16-bullseye-slim
# 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/* && \
yarn config set python /usr/bin/python3
# From here on we use the least-privileged `node` user to run the backend.
USER node
WORKDIR /app
# This switches many Node.js dependencies to production mode.
ENV NODE_ENV production
# Copy repo skeleton first, to avoid unnecessary docker cache invalidation.
# The skeleton contains the package.json of each package in the monorepo,
# and along with yarn.lock and the root package.json, that's enough to run yarn install.
COPY --chown=node:node yarn.lock package.json packages/backend/dist/skeleton.tar.gz ./
RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz
RUN yarn install --frozen-lockfile --production --network-timeout 300000 && rm -rf "$(yarn cache dir)"
# Then copy the rest of the backend bundle, along with any other files we might want.
COPY --chown=node:node packages/backend/dist/bundle.tar.gz app-config*.yaml ./
RUN tar xzf bundle.tar.gz && rm bundle.tar.gz
CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.production.yaml"]
```
The two notable changes are that a `USER node` instruction has been added and the ordering of instructions has been changed accordingly. This means that the app will now be running using the least-privileged `node` user. In order for this to work we now need to make sure that all app files are owned by the `node` user, which we do by adding the `--chown=node:node` option to the `COPY` instructions.
The second change is the addition of `ENV NODE_ENV production`, which ensured that all Node.js modules run in production mode. If you apply this change to an existing app, note that one of the more significant changes is that this switches the log formatting to use the default production format, JSON. Rather than your log lines looking like this:
```log
2022-08-10T11:36:05.478Z catalog info Performing database migration type=plugin
```
They will now look like this:
```log
{"level":"info","message":"Performing database migration","plugin":"catalog","service":"backstage","type":"plugin"}
```
If you wish to keep the existing format, you can override this change by applying the following change to `packages/backend/src/index.ts`:
```diff
getRootLogger,
+ setRootLogger,
+ createRootLogger,
+ coloredFormat,
useHotMemoize,
...
ServerTokenManager,
} from '@backstage/backend-common';
...
async function main() {
+ setRootLogger(createRootLogger({ format: coloredFormat }));
+
const config = await loadBackendConfig({
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Add highlight to active navigation item and navigation parents.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Fix issue on Windows where templated files where not properly skipped as intended.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/backend-common': minor
---
- Added `force` and `remoteRef` option to `push` method in `git` actions
- Added `addRemote` and `deleteRemote` methods to `git` actions
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-graphiql': patch
---
Minor internal tweak to lazy loading in order to improve module compatibility.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/backend-app-api': minor
'@backstage/backend-defaults': minor
---
Introduced a new `backend-defaults` package carrying `createBackend` which was previously exported from `backend-app-api`.
The `backend-app-api` package now exports the `createSpecializedBacked` that does not add any service factories by default.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog': minor
---
Allow changing the subtitle of the `CatalogTable` component
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Added a new `customResources` field to the ClusterDetails interface, in order to specify (override) custom resources per cluster
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/create-app': patch
---
The `better-sqlite3` dependency has been moved back to production `"dependencies"` in `packages/backend/package.json`, with instructions in the Dockerfile to move it to `"devDependencies"` if desired. There is no need to apply this change to existing apps, unless you want your production image to have SQLite available as a database option.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-techdocs-node': patch
---
Fix AWS S3 404 NotFound error
When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-common': patch
---
Export aggregated list of all catalog permissions
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
Exported `redactLogLine` function to be able to use it in custom loggers and renamed it to `redactWinstonLogLine`.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': minor
'@backstage/backend-common': patch
---
Add support for Bearer Authorization header / token-based auth at Git commands.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Fixed techdocs sidebar layout bug for medium devices.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Added Backstage version to output of `yarn backstage-cli info` command
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/backend-common': patch
---
The `ZipArchiveResponse` now correctly handles corrupt ZIP archives.
Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely.
By switching out the `zip` parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the `.zip` files are done correctly because `streaming` of `zip` paths is technically impossible without being able to parse the headers at the end of the file.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-kafka': patch
---
Add dashboard URL feature and fix minor styling issues.
-9
View File
@@ -1,9 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
---
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.
-8
View File
@@ -1,8 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-aws': patch
---
Deprecate `AwsS3DiscoveryProcessor` in favor of `AwsS3EntityProvider` (since v0.1.4).
You can find a migration guide at
[the release notes for v0.1.4](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/CHANGELOG.md#014).
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-cost-insights-common': patch
---
Add name property to Group
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-cost-insights': patch
---
Display minus sign in trends in `CostOverviewCard`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Added resolution of `.json` and `.wasm` files to the Webpack configuration in order to match defaults.
-242
View File
@@ -1,242 +0,0 @@
{
"mode": "exit",
"tag": "next",
"initialVersions": {
"example-app": "0.2.73",
"@backstage/app-defaults": "1.0.4",
"example-backend": "0.2.73",
"@backstage/backend-app-api": "0.1.0",
"@backstage/backend-common": "0.14.1",
"example-backend-next": "0.0.1",
"@backstage/backend-plugin-api": "0.1.0",
"@backstage/backend-tasks": "0.3.3",
"@backstage/backend-test-utils": "0.1.26",
"@backstage/catalog-client": "1.0.4",
"@backstage/catalog-model": "1.1.0",
"@backstage/cli": "0.18.0",
"@backstage/cli-common": "0.1.9",
"@backstage/codemods": "0.1.38",
"@backstage/config": "1.0.1",
"@backstage/config-loader": "1.1.3",
"@backstage/core-app-api": "1.0.4",
"@backstage/core-components": "0.10.0",
"@backstage/core-plugin-api": "1.0.4",
"@backstage/create-app": "0.4.29",
"@backstage/dev-utils": "1.0.4",
"e2e-test": "0.2.0",
"@backstage/errors": "1.1.0",
"@backstage/integration": "1.2.2",
"@backstage/integration-react": "1.1.2",
"@backstage/release-manifests": "0.0.5",
"@techdocs/cli": "1.1.3",
"techdocs-cli-embedded-app": "0.2.72",
"@backstage/test-utils": "1.1.2",
"@backstage/theme": "0.2.16",
"@backstage/types": "1.0.0",
"@backstage/version-bridge": "1.0.1",
"@backstage/plugin-adr": "0.1.2",
"@backstage/plugin-adr-backend": "0.1.2",
"@backstage/plugin-adr-common": "0.1.2",
"@backstage/plugin-airbrake": "0.3.7",
"@backstage/plugin-airbrake-backend": "0.2.7",
"@backstage/plugin-allure": "0.1.23",
"@backstage/plugin-analytics-module-ga": "0.1.18",
"@backstage/plugin-apache-airflow": "0.2.0",
"@backstage/plugin-api-docs": "0.8.7",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.0",
"@backstage/plugin-apollo-explorer": "0.1.0",
"@backstage/plugin-app-backend": "0.3.34",
"@backstage/plugin-auth-backend": "0.15.0",
"@backstage/plugin-auth-node": "0.2.3",
"@backstage/plugin-azure-devops": "0.1.23",
"@backstage/plugin-azure-devops-backend": "0.3.13",
"@backstage/plugin-azure-devops-common": "0.2.4",
"@backstage/plugin-badges": "0.2.31",
"@backstage/plugin-badges-backend": "0.1.28",
"@backstage/plugin-bazaar": "0.1.22",
"@backstage/plugin-bazaar-backend": "0.1.18",
"@backstage/plugin-bitbucket-cloud-common": "0.1.1",
"@backstage/plugin-bitrise": "0.1.34",
"@backstage/plugin-catalog": "1.4.0",
"@backstage/plugin-catalog-backend": "1.3.0",
"@backstage/plugin-catalog-backend-module-aws": "0.1.7",
"@backstage/plugin-catalog-backend-module-azure": "0.1.5",
"@backstage/plugin-catalog-backend-module-bitbucket": "0.2.1",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.1",
"@backstage/plugin-catalog-backend-module-gerrit": "0.1.2",
"@backstage/plugin-catalog-backend-module-github": "0.1.5",
"@backstage/plugin-catalog-backend-module-gitlab": "0.1.5",
"@backstage/plugin-catalog-backend-module-ldap": "0.5.1",
"@backstage/plugin-catalog-backend-module-msgraph": "0.4.0",
"@backstage/plugin-catalog-backend-module-openapi": "0.1.0",
"@backstage/plugin-catalog-common": "1.0.4",
"@backstage/plugin-catalog-graph": "0.2.19",
"@backstage/plugin-catalog-graphql": "0.3.11",
"@backstage/plugin-catalog-import": "0.8.10",
"@backstage/plugin-catalog-node": "1.0.0",
"@backstage/plugin-catalog-react": "1.1.2",
"@backstage/plugin-cicd-statistics": "0.1.9",
"@backstage/plugin-cicd-statistics-module-gitlab": "0.1.3",
"@backstage/plugin-circleci": "0.3.7",
"@backstage/plugin-cloudbuild": "0.3.7",
"@backstage/plugin-code-climate": "0.1.7",
"@backstage/plugin-code-coverage": "0.2.0",
"@backstage/plugin-code-coverage-backend": "0.2.0",
"@backstage/plugin-codescene": "0.1.2",
"@backstage/plugin-config-schema": "0.1.30",
"@backstage/plugin-cost-insights": "0.11.29",
"@backstage/plugin-cost-insights-common": "0.1.0",
"@backstage/plugin-dynatrace": "0.1.1",
"@internal/plugin-todo-list": "1.0.3",
"@internal/plugin-todo-list-backend": "1.0.3",
"@internal/plugin-todo-list-common": "1.0.3",
"@backstage/plugin-explore": "0.3.38",
"@backstage/plugin-explore-react": "0.0.19",
"@backstage/plugin-firehydrant": "0.1.24",
"@backstage/plugin-fossa": "0.2.39",
"@backstage/plugin-gcalendar": "0.3.3",
"@backstage/plugin-gcp-projects": "0.3.26",
"@backstage/plugin-git-release-manager": "0.3.20",
"@backstage/plugin-github-actions": "0.5.7",
"@backstage/plugin-github-deployments": "0.1.38",
"@backstage/plugin-github-pull-requests-board": "0.1.1",
"@backstage/plugin-gitops-profiles": "0.3.25",
"@backstage/plugin-gocd": "0.1.13",
"@backstage/plugin-graphiql": "0.2.39",
"@backstage/plugin-graphql-backend": "0.1.24",
"@backstage/plugin-home": "0.4.23",
"@backstage/plugin-ilert": "0.1.33",
"@backstage/plugin-jenkins": "0.7.6",
"@backstage/plugin-jenkins-backend": "0.1.24",
"@backstage/plugin-jenkins-common": "0.1.6",
"@backstage/plugin-kafka": "0.3.7",
"@backstage/plugin-kafka-backend": "0.2.27",
"@backstage/plugin-kubernetes": "0.7.0",
"@backstage/plugin-kubernetes-backend": "0.7.0",
"@backstage/plugin-kubernetes-common": "0.4.0",
"@backstage/plugin-lighthouse": "0.3.7",
"@backstage/plugin-newrelic": "0.3.25",
"@backstage/plugin-newrelic-dashboard": "0.2.0",
"@backstage/plugin-org": "0.5.7",
"@backstage/plugin-pagerduty": "0.5.0",
"@backstage/plugin-periskop": "0.1.5",
"@backstage/plugin-periskop-backend": "0.1.5",
"@backstage/plugin-permission-backend": "0.5.9",
"@backstage/plugin-permission-common": "0.6.3",
"@backstage/plugin-permission-node": "0.6.3",
"@backstage/plugin-permission-react": "0.4.3",
"@backstage/plugin-proxy-backend": "0.2.28",
"@backstage/plugin-rollbar": "0.4.7",
"@backstage/plugin-rollbar-backend": "0.1.31",
"@backstage/plugin-scaffolder": "1.4.0",
"@backstage/plugin-scaffolder-backend": "1.4.0",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.9",
"@backstage/plugin-scaffolder-backend-module-rails": "0.4.2",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.7",
"@backstage/plugin-scaffolder-common": "1.1.2",
"@backstage/plugin-search": "1.0.0",
"@backstage/plugin-search-backend": "1.0.0",
"@backstage/plugin-search-backend-module-elasticsearch": "1.0.0",
"@backstage/plugin-search-backend-module-pg": "0.3.5",
"@backstage/plugin-search-backend-node": "1.0.0",
"@backstage/plugin-search-common": "1.0.0",
"@backstage/plugin-search-react": "1.0.0",
"@backstage/plugin-sentry": "0.4.0",
"@backstage/plugin-shortcuts": "0.2.8",
"@backstage/plugin-sonarqube": "0.3.7",
"@backstage/plugin-splunk-on-call": "0.3.31",
"@backstage/plugin-stack-overflow": "0.1.3",
"@backstage/plugin-stack-overflow-backend": "0.1.3",
"@backstage/plugin-tech-insights": "0.2.3",
"@backstage/plugin-tech-insights-backend": "0.5.0",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.18",
"@backstage/plugin-tech-insights-common": "0.2.5",
"@backstage/plugin-tech-insights-node": "0.3.2",
"@backstage/plugin-tech-radar": "0.5.14",
"@backstage/plugin-techdocs": "1.3.0",
"@backstage/plugin-techdocs-addons-test-utils": "1.0.2",
"@backstage/plugin-techdocs-backend": "1.2.0",
"@backstage/plugin-techdocs-module-addons-contrib": "1.0.2",
"@backstage/plugin-techdocs-node": "1.2.0",
"@backstage/plugin-techdocs-react": "1.0.2",
"@backstage/plugin-todo": "0.2.9",
"@backstage/plugin-todo-backend": "0.1.31",
"@backstage/plugin-user-settings": "0.4.6",
"@backstage/plugin-vault": "0.1.1",
"@backstage/plugin-vault-backend": "0.2.0",
"@backstage/plugin-xcmetrics": "0.2.27",
"@internal/plugin-catalog-customized": "0.0.0",
"@backstage/plugin-sonarqube-backend": "0.0.0",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.0.0",
"@backstage/plugin-github-issues": "0.0.0"
},
"changesets": [
"big-mirrors-play",
"calm-clocks-drum",
"cool-months-tickle",
"create-app-1658824524",
"create-app-1659429685",
"create-app-1660127534",
"cyan-carpets-build",
"dirty-pears-allow",
"dull-owls-grab",
"dull-pumas-hope",
"dull-starfishes-chew",
"eighty-radios-look",
"empty-apple-pie",
"empty-apples-tie",
"famous-bikes-brush",
"fast-panthers-fold",
"few-berries-deny",
"flat-zebras-draw",
"forty-lobsters-guess",
"fresh-hounds-argue",
"friendly-sheep-flash",
"green-laws-greet",
"hot-crabs-wonder",
"itchy-mice-kiss",
"khaki-meals-hammer",
"little-laws-heal",
"long-pumpkins-walk",
"loud-panthers-arrive",
"lovely-walls-brush",
"mean-ants-hang",
"metal-points-itch",
"mighty-penguins-tap",
"modern-shrimps-wave",
"nine-mails-crash",
"odd-adults-smash",
"odd-tomatoes-juggle",
"olive-tips-camp",
"plenty-timers-flow",
"popular-starfishes-bow",
"pretty-gifts-do",
"purple-apricots-build",
"red-turtles-melt",
"renovate-15030f1",
"renovate-5b3cf8c",
"renovate-5b7b62b",
"renovate-5ba3a71",
"renovate-5f2abaa",
"rich-readers-return",
"rotten-moles-give",
"short-trains-roll",
"silver-carpets-grin",
"silver-poets-push",
"strange-crabs-confess",
"strange-moles-design",
"stupid-carpets-remain",
"tall-mugs-press",
"tasty-falcons-press",
"techdocs-eagles-stare",
"ten-roses-walk",
"thick-readers-invite",
"three-parents-love",
"tricky-ligers-move",
"twenty-humans-visit",
"violet-mayflies-mix",
"violet-trees-play",
"weak-shrimps-deny",
"wicked-knives-wink"
]
}
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/integration': patch
---
Avoid double encoding of the file path in `getBitbucketDownloadUrl`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-common': patch
---
The config prop `ensureExists` now applies to schema creation when `pluginDivisionMode` is set to `schema`. This means schemas will no longer accidentally be automatically created when `ensureExists` is set to `false`.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/integration': minor
'@backstage/plugin-techdocs-node': minor
'@backstage/plugin-techdocs-module-addons-contrib': patch
---
feat(techdocs): add edit button support for bitbucketServer
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/cli': patch
---
Updated dependencies `@svgr/*` to `6.3.x`.
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-catalog-graphql': patch
'@backstage/plugin-graphql-backend': patch
---
Updated dependency `@graphql-tools/schema` to `^9.0.0`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-auth-backend': patch
---
Updated dependency `@google-cloud/firestore` to `^6.0.0`.
-17
View File
@@ -1,17 +0,0 @@
---
'@backstage/backend-common': patch
'@backstage/backend-tasks': patch
'@backstage/integration': patch
'@backstage/plugin-cicd-statistics': patch
'@backstage/plugin-code-climate': patch
'@backstage/plugin-gocd': patch
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-periskop': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-tech-insights-common': patch
'@backstage/plugin-tech-insights-node': patch
'@backstage/plugin-xcmetrics': patch
---
Updated dependency `@types/luxon` to `^3.0.0`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-api-docs': patch
---
Updated dependency `@asyncapi/react-component` to `1.0.0-next.40`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-github-issues': patch
---
Updated dependency `@spotify/prettier-config` to `^14.0.0`.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Scroll techdocs navigation into focus and expand any nested navigation items.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/integration': patch
---
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.
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-catalog-node': patch
'@backstage/plugin-scaffolder-backend': patch
---
Fixed typos in alpha types.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
---
Fixed bug where repository filter was including all archived repositories
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/backend-test-utils': patch
---
Added alpha test helpers for the new experimental backend system.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
User Bearer Authorization header at Git commands with token-based auth at Bitbucket Server.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Removed the depreacated `publish:file` action, use the template editor to test templates instead.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-github-issues': minor
---
New plugin for displaying GitHub Issues added
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-github-pull-requests-board': patch
---
Fixed rendering when PR contains references to deleted Github accounts
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Fail gracefully if an invalid `Authorization` header is passed to `POST /v2/tasks`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Add missing `res.end()` in scaffolder backend `EventStream` usage
-7
View File
@@ -1,7 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
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`.
-21
View File
@@ -1,21 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-openapi': patch
---
Add an `$openapi` placeholder resolver that supports more use cases for resolving `$ref` instances. This means that the quite recently added `OpenApiRefProcessor` has been deprecated in favor of the `openApiPlaceholderResolver`.
An example of how to use it can be seen below.
```yaml
apiVersion: backstage.io/v1alpha1
kind: API
metadata:
name: example
description: Example API
spec:
type: openapi
lifecycle: production
owner: team
definition:
$openapi: ./spec/openapi.yaml # by using $openapi Backstage will now resolve all $ref instances
```
-51
View File
@@ -1,51 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-bitbucket-server': minor
---
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
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-plugin-api': patch
---
Add a note that the `fetchApi` utility should not be used on sign-in page implementations and similar.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
---
Improved support for wildcards in `catalogPath`
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/core-components': minor
---
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.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs-node': patch
---
Bump default `TechDocs` image to `v1.1.0`, see the release [here](https://github.com/backstage/techdocs-container/releases/tag/v1.1.0).
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-sonarqube': patch
---
Add ability to provide an optional Sonarqube instance into the annotation in the `catalog-info.yaml` file
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Updated `publish:gitlab:merge-request` action to allow commit updates and deletes
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend': patch
---
Use the non-deprecated form of table.unique in knex
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Added `reviewers` and `teamReviewers` parameters to `publish:github:pull-request` action to add reviewers on the pull request created by the action
-6
View File
@@ -1,6 +0,0 @@
---
'@backstage/plugin-techdocs-react': patch
---
Add `toLowerEntityRefMaybe()` helper function for handling `techdocs.legacyUseCaseSensitiveTripletPaths` flag.
Pass modified `entityRef` to `TechDocsReaderPageContext` to handle the `techdocs.legacyUseCaseSensitiveTripletPaths` flag.
-14
View File
@@ -1,14 +0,0 @@
---
'@backstage/create-app': patch
---
Updated backend to write stack trace when the backend fails to start up.
To apply this change to your Backstage installation, make the following change to `packages/backend/src/index.ts`
```diff
cors:
origin: http://localhost:3000
- console.error(`Backend failed to start up, ${error}`);
+ console.error('Backend failed to start up', error);
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-catalog-backend-module-msgraph': patch
---
Adjust references in deprecation warnings to point to stable URL/document.
-14
View File
@@ -1,14 +0,0 @@
---
'@backstage/plugin-shortcuts': minor
---
Internal observable replaced with a mapping from the storage API. This fixes shortcuts initialization when using firestore.
`ShortcutApi.get` method, that returns an immediate snapshot of shortcuts, made public.
Example of how to get and observe `shortcuts`:
```typescript
const shortcutApi = useApi(shortcutsApiRef);
const shortcuts = useObservable(shortcutApi.shortcut$(), shortcutApi.get());
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-code-climate': patch
---
Send Authorization headers in fetch requests using FetchApi in Code Climate plugin to fix unauthorized requests to Backstage backends with authentication enabled.
-5
View File
@@ -1,5 +0,0 @@
---
'@techdocs/cli': minor
---
Added CLI option `--docker-option` to allow passing additional options to the `docker run` command executed my `serve` and `serve:mkdocs`.
-14
View File
@@ -1,14 +0,0 @@
---
'@backstage/create-app': patch
---
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]
```
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-tech-radar': patch
---
Move CSS overflow property to quadrant block element (i.e. to a div element) in RadarLegend component.
@@ -1,11 +0,0 @@
FROM alpine:3.16
RUN apk add --update \
git \
python \
python-dev \
py-pip \
g++ && \
pip install cookiecutter jinja2_custom_filters_extension && \
apk del g++ py-pip python-dev && \
rm -rf /var/cache/apk/*
@@ -51,7 +51,7 @@ steps:
imageName: 'foo/custom-built-cookiecutter-image-with-extensions'
```
See for example, the [`Dockerfile`](./Dockerfile) in this directory.
For example, you can `pip install jinja2_custom_filters_extension` as part of your cookiecutter Dockerfile.
### Instructing Cookiecutter to use the extension
@@ -1,33 +0,0 @@
FROM node:14-buster
WORKDIR /usr/src/app
# (workaround) Install cookiecutter and mkdocs to avoid the need to run docker in docker
RUN cd /tmp && curl -O https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz && \
tar -xvf Python-3.8.2.tar.xz && \
cd Python-3.8.2 && \
./configure --enable-optimizations && \
make -j 4 && \
make altinstall
RUN apt update
RUN apt install -y mkdocs
RUN pip3.8 install mkdocs-techdocs-core
RUN pip3.8 install cookiecutter && \
apt remove -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev g++ python-pip python-dev && \
rm -rf /var/cache/apt/* /tmp/Python-3.8.2
# Copy repo skeleton first, to avoid unnecessary docker cache invalidation.
# The skeleton contains the package.json of each package in the monorepo,
# and along with yarn.lock and the root package.json, that's enough to run yarn install.
ADD yarn.lock package.json skeleton.tar ./
RUN yarn install --frozen-lockfile --production
# This will copy the contents of the dist-workspace when running the build-image command.
# Do not use this Dockerfile outside of that command, as it will copy in the source code instead.
COPY . .
CMD ["node", "packages/backend", "--config", "app-config.yaml", "--config", "app-config.development.yaml"]
@@ -1,13 +0,0 @@
# Example backend Dockerfile
This Dockerfile will build the example backend with certain additional binaries needed to workaround
the docker requirement in the scaffolder and techdocs.
# Usage
```bash
yarn docker-build -f <absolute_path_to_the_dockerfile> --tag <your_tag>
```
> The absolute path is necessary as this directory is not copied to the build workspace when building
> the docker image.
+19 -9
View File
@@ -58,8 +58,6 @@ Once the host build is complete, we are ready to build our image. The following
```Dockerfile
FROM node:16-bullseye-slim
WORKDIR /app
# 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 && \
@@ -67,16 +65,23 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/* && \
yarn config set python /usr/bin/python3
# From here on we use the least-privileged `node` user to run the backend.
USER node
WORKDIR /app
# This switches many Node.js dependencies to production mode.
ENV NODE_ENV production
# Copy repo skeleton first, to avoid unnecessary docker cache invalidation.
# The skeleton contains the package.json of each package in the monorepo,
# and along with yarn.lock and the root package.json, that's enough to run yarn install.
COPY yarn.lock package.json packages/backend/dist/skeleton.tar.gz ./
COPY --chown=node:node yarn.lock package.json packages/backend/dist/skeleton.tar.gz ./
RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz
RUN yarn install --frozen-lockfile --production --network-timeout 300000 && rm -rf "$(yarn cache dir)"
# Then copy the rest of the backend bundle, along with any other files we might want.
COPY packages/backend/dist/bundle.tar.gz app-config.yaml ./
COPY --chown=node:node packages/backend/dist/bundle.tar.gz app-config*.yaml ./
RUN tar xzf bundle.tar.gz && rm bundle.tar.gz
CMD ["node", "packages/backend", "--config", "app-config.yaml"]
@@ -177,8 +182,6 @@ RUN yarn --cwd packages/backend build
# Stage 3 - Build the actual backend image and install production dependencies
FROM node:16-bullseye-slim
WORKDIR /app
# 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 && \
@@ -186,18 +189,25 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/* && \
yarn config set python /usr/bin/python3
# From here on we use the least-privileged `node` user to run the backend.
USER node
WORKDIR /app
# This switches many Node.js dependencies to production mode.
ENV NODE_ENV production
# Copy the install dependencies from the build stage and context
COPY --from=build /app/yarn.lock /app/package.json /app/packages/backend/dist/skeleton.tar.gz ./
COPY --from=build --chown=node:node /app/yarn.lock /app/package.json /app/packages/backend/dist/skeleton.tar.gz ./
RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz
RUN yarn install --frozen-lockfile --production --network-timeout 600000 && rm -rf "$(yarn cache dir)"
# Copy the built packages from the build stage
COPY --from=build /app/packages/backend/dist/bundle.tar.gz .
COPY --from=build --chown=node:node /app/packages/backend/dist/bundle.tar.gz .
RUN tar xzf bundle.tar.gz && rm bundle.tar.gz
# Copy any other files that we need at runtime
COPY app-config.yaml ./
COPY --chown=node:node app-config.yaml ./
CMD ["node", "packages/backend", "--config", "app-config.yaml"]
```
+2 -2
View File
@@ -38,7 +38,7 @@ In addition, there are a number of hard and soft requirements:
- Scale - It should scale to hundreds of large packages without excessive wait
times
- Reloads - The development flow should support quick on-save hot reloads
- Simple - Usage should simple and configuration should be kept minimal
- Simple - Usage should be simple and configuration should be kept minimal
- Universal - Development towards both web applications, isomorphic packages,
and Node.js
- Modern - The build system targets modern environments
@@ -95,7 +95,7 @@ These are the available roles that are currently supported by the Backstage buil
| Role | Description | Example |
| ---------------------- | -------------------------------------------- | -------------------------------------------- |
| frontend | Bundled frontend application | `package/app` |
| frontend | Bundled frontend application | `packages/app` |
| backend | Bundled backend application | `packages/backend` |
| cli | Package used as a command-line interface | `@backstage/cli`, `@backstage/codemods` |
| web-library | Web library for use by other packages | `@backstage/plugin-catalog-react` |

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