Merge branch 'master' into af/add-readme-card-azure-devops

Signed-off-by: alissonfabiano <56898864+alissonfabiano@users.noreply.github.com>
This commit is contained in:
alissonfabiano
2022-08-19 11:08:42 +01:00
committed by GitHub
736 changed files with 12075 additions and 5398 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Add the option for a homepage when using the `github:publish` action
-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.
-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.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-kafka': patch
'@backstage/plugin-kafka-backend': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-proxy-backend': patch
---
Minor API signatures cleanup
+16
View File
@@ -0,0 +1,16 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Fixed a bug in plugin-scaffolder-backend where it ignores the skip migration database options.
To use this new implementation you need to create the instance of `DatabaseTaskStore` using the `PluginDatabaseManager` instead of `Knex`;
```
import { DatabaseManager, getRootLogger, loadBackendConfig } from '@backstage/backend-common';
import { DatabaseTaskStore } from '@backstage/plugin-scaffolder-backend';
const config = await loadBackendConfig({ argv: process.argv, logger: getRootLogger() });
const databaseManager = DatabaseManager.fromConfig(config, { migrations: { skip: true } });
const databaseTaskStore = await DatabaseTaskStore.create(databaseManager);
```
-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/plugin-home': patch
---
Add wrap-around for the listing of tools to prevent increasing width with name length.
-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
+25
View File
@@ -0,0 +1,25 @@
---
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-azure-devops-common': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-explore': patch
'@backstage/plugin-fossa': patch
'@backstage/plugin-git-release-manager': patch
'@backstage/plugin-github-actions': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-newrelic-dashboard': patch
'@backstage/plugin-pagerduty': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-tech-insights-node': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-vault-backend': patch
---
Minor API signatures cleanup
-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.
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/plugin-dynatrace': minor
---
New features:
- Some visual improvements to the table that displays Problems
- Added support for viewing recent Synthetics results using
- Added some additional linking to the configured Dynatrace instance
-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/plugin-catalog-react': patch
---
Modify description column to not use auto width.
@@ -2,4 +2,4 @@
'@backstage/create-app': patch
---
Bumped create-app version.
Fix typo in the documentation
-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({
```
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/core-app-api': patch
'@backstage/core-plugin-api': patch
---
Added `getSystemIcons()` function to the `AppContext` available through `useApp` that will pull a list of all the icons that have been registered in the App.
-5
View File
@@ -1,5 +0,0 @@
---
'@backstage/plugin-techdocs': patch
---
Add highlight to active navigation item and navigation parents.
-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
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Adds code to generate ids for headers parsed through the MarkdownContent component.
+16
View File
@@ -0,0 +1,16 @@
---
'@backstage/plugin-search-backend-module-pg': minor
---
Fixed a bug in search-backend-module-pg where it ignores the skip migration database options when using the database.
To use this new implementation you need to create the instance of `DatabaseDocumentStore` using the `PluginDatabaseManager` instead of `Knex`;
```
import { DatabaseManager, getRootLogger, loadBackendConfig } from '@backstage/backend-common';
import { DatabaseDocumentStore } from '@backstage/plugin-search-backend-module-pg';
const config = await loadBackendConfig({ argv: process.argv, logger: getRootLogger() });
const databaseManager = DatabaseManager.fromConfig(config, { migrations: { skip: true } });
const databaseDocumentStore = await DatabaseDocumentStore.create(databaseManager);
```
-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
-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
@@ -0,0 +1,5 @@
---
'@backstage/plugin-org': patch
---
Added an edit button to the `UserProfileCard` that is enabled when the `backstage.io/edit-url` is present, this matches how the `GroupProfileCard` works
-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/cli': patch
---
Added resolution of `.json` and `.wasm` files to the Webpack configuration in order to match defaults.
+152 -216
View File
@@ -1,239 +1,175 @@
{
"mode": "exit",
"mode": "pre",
"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",
"example-app": "0.2.74",
"@backstage/app-defaults": "1.0.5",
"example-backend": "0.2.74",
"@backstage/backend-app-api": "0.2.0",
"@backstage/backend-common": "0.15.0",
"@backstage/backend-defaults": "0.1.0",
"example-backend-next": "0.0.2",
"@backstage/backend-plugin-api": "0.1.1",
"@backstage/backend-tasks": "0.3.4",
"@backstage/backend-test-utils": "0.1.27",
"@backstage/catalog-client": "1.0.4",
"@backstage/catalog-model": "1.1.0",
"@backstage/cli": "0.18.0",
"@backstage/cli": "0.18.1",
"@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",
"@backstage/core-app-api": "1.0.5",
"@backstage/core-components": "0.11.0",
"@backstage/core-plugin-api": "1.0.5",
"@backstage/create-app": "0.4.30",
"@backstage/dev-utils": "1.0.5",
"e2e-test": "0.2.0",
"@backstage/errors": "1.1.0",
"@backstage/integration": "1.2.2",
"@backstage/integration-react": "1.1.2",
"@backstage/integration": "1.3.0",
"@backstage/integration-react": "1.1.3",
"@backstage/release-manifests": "0.0.5",
"@techdocs/cli": "1.1.3",
"techdocs-cli-embedded-app": "0.2.72",
"@backstage/test-utils": "1.1.2",
"@techdocs/cli": "1.2.0",
"techdocs-cli-embedded-app": "0.2.73",
"@backstage/test-utils": "1.1.3",
"@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-adr": "0.2.0",
"@backstage/plugin-adr-backend": "0.2.0",
"@backstage/plugin-adr-common": "0.2.0",
"@backstage/plugin-airbrake": "0.3.8",
"@backstage/plugin-airbrake-backend": "0.2.8",
"@backstage/plugin-allure": "0.1.24",
"@backstage/plugin-analytics-module-ga": "0.1.19",
"@backstage/plugin-apache-airflow": "0.2.1",
"@backstage/plugin-api-docs": "0.8.8",
"@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-apollo-explorer": "0.1.1",
"@backstage/plugin-app-backend": "0.3.35",
"@backstage/plugin-auth-backend": "0.15.1",
"@backstage/plugin-auth-node": "0.2.4",
"@backstage/plugin-azure-devops": "0.1.24",
"@backstage/plugin-azure-devops-backend": "0.3.14",
"@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",
"@backstage/plugin-badges": "0.2.32",
"@backstage/plugin-badges-backend": "0.1.29",
"@backstage/plugin-bazaar": "0.1.23",
"@backstage/plugin-bazaar-backend": "0.1.19",
"@backstage/plugin-bitbucket-cloud-common": "0.1.2",
"@backstage/plugin-bitrise": "0.1.35",
"@backstage/plugin-catalog": "1.5.0",
"@backstage/plugin-catalog-backend": "1.3.1",
"@backstage/plugin-catalog-backend-module-aws": "0.1.8",
"@backstage/plugin-catalog-backend-module-azure": "0.1.6",
"@backstage/plugin-catalog-backend-module-bitbucket": "0.2.2",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.2",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.0",
"@backstage/plugin-catalog-backend-module-gerrit": "0.1.3",
"@backstage/plugin-catalog-backend-module-github": "0.1.6",
"@backstage/plugin-catalog-backend-module-gitlab": "0.1.6",
"@backstage/plugin-catalog-backend-module-ldap": "0.5.2",
"@backstage/plugin-catalog-backend-module-msgraph": "0.4.1",
"@backstage/plugin-catalog-backend-module-openapi": "0.1.1",
"@backstage/plugin-catalog-common": "1.0.5",
"@internal/plugin-catalog-customized": "0.0.1",
"@backstage/plugin-catalog-graph": "0.2.20",
"@backstage/plugin-catalog-graphql": "0.3.12",
"@backstage/plugin-catalog-import": "0.8.11",
"@backstage/plugin-catalog-node": "1.0.1",
"@backstage/plugin-catalog-react": "1.1.3",
"@backstage/plugin-cicd-statistics": "0.1.10",
"@backstage/plugin-cicd-statistics-module-gitlab": "0.1.4",
"@backstage/plugin-circleci": "0.3.8",
"@backstage/plugin-cloudbuild": "0.3.8",
"@backstage/plugin-code-climate": "0.1.8",
"@backstage/plugin-code-coverage": "0.2.1",
"@backstage/plugin-code-coverage-backend": "0.2.1",
"@backstage/plugin-codescene": "0.1.3",
"@backstage/plugin-config-schema": "0.1.31",
"@backstage/plugin-cost-insights": "0.11.30",
"@backstage/plugin-cost-insights-common": "0.1.1",
"@backstage/plugin-dynatrace": "0.1.2",
"@internal/plugin-todo-list": "1.0.4",
"@internal/plugin-todo-list-backend": "1.0.4",
"@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-explore": "0.3.39",
"@backstage/plugin-explore-react": "0.0.20",
"@backstage/plugin-firehydrant": "0.1.25",
"@backstage/plugin-fossa": "0.2.40",
"@backstage/plugin-gcalendar": "0.3.4",
"@backstage/plugin-gcp-projects": "0.3.27",
"@backstage/plugin-git-release-manager": "0.3.21",
"@backstage/plugin-github-actions": "0.5.8",
"@backstage/plugin-github-deployments": "0.1.39",
"@backstage/plugin-github-issues": "0.1.0",
"@backstage/plugin-github-pull-requests-board": "0.1.2",
"@backstage/plugin-gitops-profiles": "0.3.26",
"@backstage/plugin-gocd": "0.1.14",
"@backstage/plugin-graphiql": "0.2.40",
"@backstage/plugin-graphql-backend": "0.1.25",
"@backstage/plugin-home": "0.4.24",
"@backstage/plugin-ilert": "0.1.34",
"@backstage/plugin-jenkins": "0.7.7",
"@backstage/plugin-jenkins-backend": "0.1.25",
"@backstage/plugin-jenkins-common": "0.1.7",
"@backstage/plugin-kafka": "0.3.8",
"@backstage/plugin-kafka-backend": "0.2.28",
"@backstage/plugin-kubernetes": "0.7.1",
"@backstage/plugin-kubernetes-backend": "0.7.1",
"@backstage/plugin-kubernetes-common": "0.4.1",
"@backstage/plugin-lighthouse": "0.3.8",
"@backstage/plugin-newrelic": "0.3.26",
"@backstage/plugin-newrelic-dashboard": "0.2.1",
"@backstage/plugin-org": "0.5.8",
"@backstage/plugin-pagerduty": "0.5.1",
"@backstage/plugin-periskop": "0.1.6",
"@backstage/plugin-periskop-backend": "0.1.6",
"@backstage/plugin-permission-backend": "0.5.10",
"@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-permission-node": "0.6.4",
"@backstage/plugin-permission-react": "0.4.4",
"@backstage/plugin-proxy-backend": "0.2.29",
"@backstage/plugin-rollbar": "0.4.8",
"@backstage/plugin-rollbar-backend": "0.1.32",
"@backstage/plugin-scaffolder": "1.5.0",
"@backstage/plugin-scaffolder-backend": "1.5.0",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.10",
"@backstage/plugin-scaffolder-backend-module-rails": "0.4.3",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.8",
"@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": "1.0.1",
"@backstage/plugin-search-backend": "1.0.1",
"@backstage/plugin-search-backend-module-elasticsearch": "1.0.1",
"@backstage/plugin-search-backend-module-pg": "0.3.6",
"@backstage/plugin-search-backend-node": "1.0.1",
"@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"
"@backstage/plugin-search-react": "1.0.1",
"@backstage/plugin-sentry": "0.4.1",
"@backstage/plugin-shortcuts": "0.3.0",
"@backstage/plugin-sonarqube": "0.4.0",
"@backstage/plugin-sonarqube-backend": "0.1.0",
"@backstage/plugin-splunk-on-call": "0.3.32",
"@backstage/plugin-stack-overflow": "0.1.4",
"@backstage/plugin-stack-overflow-backend": "0.1.4",
"@backstage/plugin-tech-insights": "0.2.4",
"@backstage/plugin-tech-insights-backend": "0.5.1",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.19",
"@backstage/plugin-tech-insights-common": "0.2.6",
"@backstage/plugin-tech-insights-node": "0.3.3",
"@backstage/plugin-tech-radar": "0.5.15",
"@backstage/plugin-techdocs": "1.3.1",
"@backstage/plugin-techdocs-addons-test-utils": "1.0.3",
"@backstage/plugin-techdocs-backend": "1.2.1",
"@backstage/plugin-techdocs-module-addons-contrib": "1.0.3",
"@backstage/plugin-techdocs-node": "1.3.0",
"@backstage/plugin-techdocs-react": "1.0.3",
"@backstage/plugin-todo": "0.2.10",
"@backstage/plugin-todo-backend": "0.1.32",
"@backstage/plugin-user-settings": "0.4.7",
"@backstage/plugin-vault": "0.1.2",
"@backstage/plugin-vault-backend": "0.2.1",
"@backstage/plugin-xcmetrics": "0.2.28"
},
"changesets": [
"big-mirrors-play",
"calm-clocks-drum",
"cool-months-tickle",
"create-app-1658824524",
"create-app-1659429685",
"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"
]
"changesets": []
}
-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`.
-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.
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/backend-tasks': patch
'@backstage/plugin-app-backend': patch
'@backstage/plugin-bazaar-backend': patch
'@backstage/plugin-code-coverage-backend': patch
'@backstage/plugin-tech-insights-backend': patch
---
Fixed a bug where the database option to skip migrations was ignored.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': minor
---
Added support for `async` validation for the `next` version of the plugin
-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
---
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`.
-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/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
+19
View File
@@ -0,0 +1,19 @@
---
'@backstage/catalog-client': patch
'@backstage/core-plugin-api': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-apollo-explorer': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-badges': patch
'@backstage/plugin-badges-backend': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-circleci': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-search-backend-module-elasticsearch': patch
'@backstage/plugin-sonarqube-backend': patch
'@backstage/plugin-techdocs': patch
---
Minor API signatures cleanup
-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.
-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 @@
---
'@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]
```
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/core-components': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-api-docs': patch
---
Minor cleanup of the public API surface to reduce the number of warnings
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-msgraph': patch
---
Fix typo
+3 -3
View File
@@ -28,7 +28,6 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi
| [Lunar](https://lunar.app) | [Jacob Valdemar](https://github.com/JacobValdemar) | Internal developer portal for service overview and insights, API documentation, technical guides, onboarding guides and RFC's. |
| [Trendyol](https://trendyol.com) | [Gamze Senturk](https://github.com/gmzsenturk), [Mert Can Bilgic](https://github.com/mertcb) | The Developer Portal has been called `Pandora`. Provides an overview of Trendyol tech ecosystem. TechDocs, Catalog, Custom Plugins and Theme. |
| [Peloton](https://www.onepeloton.com/) | [Matt Waldron](https://github.com/daftgopher) | Creating our first developer portal and tech-docs. Exploring Service Catalog, Tech Insights and Cost Insights as well. |
| [TELUS](https://telus.com) | [Seb Barre](https://github.com/sbarre) | The Go-to place to find answers about development and delivery at TELUS. |
| [Brex](https://www.brex.com/) | [Vamsi Chitters](https://github.com/vamsikc) | A centralized UI to understand how a service fits in the whole Brex architecture and manage a teams engineering dependencies. |
| [Oriflame](https://www.oriflame.com/) | [Oriflame](https://github.com/oriflame) | Internal developer portal for services, single page apps and packages overview, API documentation, technical guides, tech-radar and more. |
| [Booz Allen Hamilton](https://www.boozallen.com/) | [Jason Miller](https://github.com/JasonMiller-BAH) | Developer portal for a full-stack software development ecosystem that accelerates consistent and repeatable Modern Software Development practices for internal innovation and investments. |
@@ -201,10 +200,11 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi
| [Intility](https://intility.no/en/) | [@daniwk](https://github.com/daniwk) | We are creating a developer portal powered by Backstage, with software catalog, documentation, templates and integrations to our infrastructure and internal tools. |
| [ImmobiliareLabs](https://labs.immobiliare.it/) | [@JellyBellyDev](https://github.com/JellyBellyDev) | Centralized portal with our internal services, infrastructures, relationships between systems, technical documentation, templates, monitoring and custom integrations with our own DX tools. |
| [Skillz](https://skillz.com/) | [Peiman Jafari](https://github.com/peimanja) | Internal developers portal for technical documentations, components ownership and relationship, software templates and integrations with internal tools |
| [Telus](https://www.telus.com/en/) | [Leo Li](mailto:leo.li@telus.com), [Laurent Robichaud](mailto:laurent.robichaud@telus.com) | Simplifying the developer experience through centralized team member portals. Our current focus includes the adoption of Tech Docs, Software Catalog, Software Templates, the plethora of plugins, and contributing features back to Backstage. 🤖 |
| [Telus](https://www.telus.com/en/) | [Leo Li](mailto:leo.li@telus.com), [Laurent Robichaud](mailto:laurent.robichaud@telus.com), [Seb Barre](https://github.com/sbarre) | Simplifying the developer experience through centralized team member portals. Our current focus includes the adoption of Tech Docs, Software Catalog, Software Templates, the plethora of plugins, and contributing features back to Backstage. 🤖 |
| [Fidelity Investments](https://fidelity.com) | [Ankita Upadhyay](mailto:ankita.upadhyay@fmr.com) | Getting started with the adoption for Monorepo projects |
| [Verisk](https://verisk.com) | [Callen Barton](mailto:cbarton@verisk.com) | Developer portal to quickly create and deploy microservices. |
| [iodigital](https://iodigital.com) | [Jan-Willem Mulder](mailto:jan-willem.mulder@iodigital.com) | Internal developer portal for discovery of applications, projects and teams. Using several plugins like the Software Catalog and Tech Insights for promoting best practices and supporting our SDLC toolchain |
| [Fanatics](https://www.fanaticsinc.com/) | [Rory Scott](mailto:rscott@fanatics.com) | Internal Portal consolidating documentation, making it easier to manage applications, internal developer community platform, and self-service cloud infrastructure + pipelines. |
| [Appfolio](https://appfolio.com) | [Andy Vaughn](mailto:andy.vaughn@appfolio.com) | Internal software catalog, tech radar, documentation portal to disambiguate software and domain ownership, foster exploration of available developer platform services and tools, improve communication, democratize documentation and knowledge sharing, and coordinate the software lifecycle; all in service of a best-in-class developer experience. |
| [isaac](https://isaac.com.br/) | [Leonardo Borges](mailto:leonardo.borges@isaac.com.br), [Ordilei Souza](mailto:ordilei.souza@isaac.com.br) | We're using Backstage as our Internal Developer Portal and main microservices catalog for mapping ownership, health and metrics for each one.
| [isaac](https://isaac.com.br/) | [Leonardo Borges](mailto:leonardo.borges@isaac.com.br), [Ordilei Souza](mailto:ordilei.souza@isaac.com.br) | We're using Backstage as our Internal Developer Portal and main microservices catalog for mapping ownership, health and metrics for each one. |
| [Paraná Banco](https://site.paranabanco.com.br/) | [Joao Antunes](mailto:joaopma@pbtech.net.br) | Internal software catalog, documentation and ownership, improve communication, democratize documentation and knowledge sharing, and coordinate the software lifecycle; all in service of a best-in-class developer experience. |
-2
View File
@@ -1,7 +1,5 @@
![headline](docs/assets/headline.png)
> 🏖 From July 7th due to Summer Vacations for some of the maintainers, expect the project to move a little slower than normal, and support to be limited. Normal service will resume on August 8th 🏝
# [Backstage](https://backstage.io)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
+1 -3
View File
@@ -2,9 +2,7 @@
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| 0.x | :white_check_mark: |
See our [Release & Versioning Policy](https://backstage.io/docs/overview/versioning-policy#release-versioning-policy).
## Reporting a Vulnerability
@@ -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.
@@ -1 +1,3 @@
# Basic Kubernetes example with Helm
Note that these examples aim to show a minimal setup and do not include best practices for secure Kubernetes deployments. See the [Kubernetes documentation](https://kubernetes.io/docs/concepts/security/) for more information, or resources provided by your own organization.
+12 -12
View File
@@ -40,14 +40,14 @@
lodash.once "^4.1.1"
"@types/node@*":
version "18.6.3"
resolved "https://registry.npmjs.org/@types/node/-/node-18.6.3.tgz#4e4a95b6fe44014563ceb514b2598b3e623d1c98"
integrity sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==
version "18.7.6"
resolved "https://registry.npmjs.org/@types/node/-/node-18.7.6.tgz#31743bc5772b6ac223845e18c3fc26f042713c83"
integrity sha512-EdxgKRXgYsNITy5mjjXjVE/CS8YENSdhiagGrLqjG0pvA2owgJ6i4l7wy/PFZGC0B1/H20lWKN7ONVDNYDZm7A==
"@types/node@^14.14.31":
version "14.18.23"
resolved "https://registry.npmjs.org/@types/node/-/node-14.18.23.tgz#70f5f20b0b1b38f696848c1d3647bb95694e615e"
integrity sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA==
version "14.18.24"
resolved "https://registry.npmjs.org/@types/node/-/node-14.18.24.tgz#406b220dc748947e1959d8a38a75979e87166704"
integrity sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w==
"@types/sinonjs__fake-timers@8.1.1":
version "8.1.1"
@@ -304,9 +304,9 @@ cross-spawn@^7.0.0:
which "^2.0.1"
cypress@^10.0.0:
version "10.4.0"
resolved "https://registry.npmjs.org/cypress/-/cypress-10.4.0.tgz#bb5b3b6588ad49eff172fecf5778cc0da2980e4e"
integrity sha512-OM7F8MRE01SHQRVVzunid1ZK1m90XTxYnl+7uZfIrB4CYqUDCrZEeSyCXzIbsS6qcaijVCAhqDL60SxG8N6hew==
version "10.6.0"
resolved "https://registry.npmjs.org/cypress/-/cypress-10.6.0.tgz#13f46867febf2c3715874ed5dce9c2e946b175fe"
integrity sha512-6sOpHjostp8gcLO34p6r/Ci342lBs8S5z9/eb3ZCQ22w2cIhMWGUoGKkosabPBfKcvRS9BE4UxybBtlIs8gTQA==
dependencies:
"@cypress/request" "^2.88.10"
"@cypress/xvfb" "^1.2.4"
@@ -359,9 +359,9 @@ dashdash@^1.12.0:
assert-plus "^1.0.0"
dayjs@^1.10.4:
version "1.11.4"
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.4.tgz#3b3c10ca378140d8917e06ebc13a4922af4f433e"
integrity sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==
version "1.11.5"
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93"
integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==
debug@^3.1.0:
version "3.2.7"
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

+23 -11
View File
@@ -58,24 +58,30 @@ 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
# 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 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"]
@@ -176,26 +182,32 @@ 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
# 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 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"]
```
+120
View File
@@ -273,6 +273,126 @@ const LogoFull = () => {
};
```
## Icons
So far you've seen how to create your own theme and add your own logo, in the following sections you'll be shown how to override the existing icons and how to add more icons
### Custom Icons
You can also customize the Project's _default_ icons.
You can change the following [icons](https://github.com/backstage/backstage/blob/master/packages/app-defaults/src/defaults/icons.tsx).
#### Requirements
- Files in `.svg` format
- React components created for the icons
#### Create React Component
In your front-end application, locate the `src` folder. We suggest creating the `assets/icons` directory and `CustomIcons.tsx` file.
> Another example [here](https://github.com/backstage/backstage/blob/master/plugins/azure-devops/src/components/AzurePipelinesIcon/AzurePipelinesIcon.tsx), if you want to ensure proper behavior in light and dark themes.
```tsx
// customIcons.tsx
import { SvgIcon, SvgIconProps } from '@material-ui/core';
import React from 'react';
export const ExampleIcon = (props: SvgIconProps) => (
<SvgIcon {...props} viewBox="0 0 24 24">
<path
fill="currentColor"
width="1em"
height="1em"
display="inline-block"
d="M11.6335 10.8398C11.6335 11.6563 12.065 12.9922 13.0863 12.9922C14.1075 12.9922 14.539 11.6563 14.539 10.8398C14.539 10.0234 14.1075 8.6875 13.0863 8.6875C12.065 8.6875 11.6335 10.0234 11.6335 10.8398V10.8398ZM2.38419e-07 8.86719C2.38419e-07 10.1133 0.126667 11.4336 0.692709 12.5781C2.19292 15.5703 6.3175 15.5 9.27042 15.5C12.2708 15.5 16.6408 15.6055 18.2004 12.5781C18.7783 11.4453 19 10.1133 19 8.86719C19 7.23047 18.4498 5.68359 17.3573 4.42969C17.5631 3.8125 17.6621 3.16406 17.6621 2.52344C17.6621 1.68359 17.4681 1.26172 17.0842 0.5C15.291 0.5 14.1431 0.851562 12.7775 1.90625C11.6296 1.63672 10.45 1.51562 9.26646 1.51562C8.19771 1.51562 7.12104 1.62891 6.08396 1.875C4.73813 0.832031 3.59021 0.5 1.81687 0.5C1.42896 1.26172 1.23896 1.68359 1.23896 2.52344C1.23896 3.16406 1.34188 3.80078 1.54375 4.40625C0.455209 5.67188 2.38419e-07 7.23047 2.38419e-07 8.86719V8.86719ZM2.54521 10.8398C2.54521 9.125 3.60208 7.61328 5.45458 7.61328C6.20271 7.61328 6.91917 7.74609 7.67125 7.84766C8.26104 7.9375 8.85083 7.97266 9.45646 7.97266C10.0581 7.97266 10.6479 7.9375 11.2417 7.84766C11.9819 7.74609 12.7063 7.61328 13.4583 7.61328C15.3108 7.61328 16.3677 9.125 16.3677 10.8398C16.3677 14.2695 13.1852 14.7969 10.4144 14.7969H8.50646C5.72375 14.7969 2.54521 14.2734 2.54521 10.8398V10.8398ZM5.81479 8.6875C6.83604 8.6875 7.2675 10.0234 7.2675 10.8398C7.2675 11.6563 6.83604 12.9922 5.81479 12.9922C4.79354 12.9922 4.36208 11.6563 4.36208 10.8398C4.36208 10.0234 4.79354 8.6875 5.81479 8.6875Z"
/>
</SvgIcon>
);
```
#### Using the custom icon
Supply your custom icon in `packages/app/src/App.tsx`
```diff
+ import { ExampleIcon } from './assets/customIcons'
[...]
const app = createApp({
apis,
components: {
[...]
},
themes: [
[...]
],
+ icons: {
+ github: ExampleIcon,
+ },
bindRoutes({ bind }) {
[...]
}
})
[...]
```
### Adding Icons
You can add more icons, if the [default icons](https://github.com/backstage/backstage/blob/master/packages/app-defaults/src/defaults/icons.tsx) do not fit your needs, so that they can be used in other places like for Links in your entities. For this example we'll be using icons from[Material UI](https://v4.mui.com/components/material-icons/) and specifically the `AlarmIcon`. Here's how to do that:
1. First you will want to open your `App.tsx` in `/packages/app/src`
2. Then you want to import your icon, add this to the rest of your imports: `import AlarmIcon from '@material-ui/icons/Alarm';`
3. Next you want to add the icon like this to your `createApp`:
```diff
const app = createApp({
apis: ...,
plugins: ...,
+ icons: {
+ alert: AlarmIcon,
+ },
themes: ...,
components: ...,
});
```
4. Now we can reference `alert` for our icon in our entity links like this:
```yaml
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: artist-lookup
description: Artist Lookup
links:
- url: https://example.com/alert
title: Alerts
icon: alert
```
And this is the result:
![Example Link with Alert icon](../assets/getting-started/add-icons-links-example.png)
Another way you can use these icons is from the `AppContext` like this:
```ts
import { useApp } from '@backstage/core-plugin-api';
const app = useApp();
const alertIcon = app.getSystemIcon('alert');
```
You might want to use this method if you have an icon you want to use in several locations.
Note: If the icon is not available as one of the default icons or one you've added then it will fall back to Material UI's `LanguageIcon`
## Custom Homepage
In addition to a custom theme, a custom logo, you can also customize the
+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` |
+1 -1
View File
@@ -1,6 +1,6 @@
---
id: customization
title: Customization
title: Customization (Experimental)
description: Documentation on adding a customization logic to the plugin
---
File diff suppressed because it is too large Load Diff
+48
View File
@@ -0,0 +1,48 @@
# Release v1.5.0-next.3
## @backstage/plugin-adr@0.2.0-next.2
### Minor Changes
- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem`
BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents
### Patch Changes
- Updated dependencies
- @backstage/plugin-adr-common@0.2.0-next.1
## @backstage/plugin-adr-backend@0.2.0-next.1
### Minor Changes
- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem`
BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents
### Patch Changes
- Updated dependencies
- @backstage/plugin-adr-common@0.2.0-next.1
- @backstage/backend-common@0.15.0-next.2
## @backstage/plugin-adr-common@0.2.0-next.1
### Minor Changes
- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem`
BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents
## @backstage/backend-common@0.15.0-next.2
### Patch Changes
- 5e4dc173f7: Added a second validation to the `dir()` method of ZIP archive responses returned from `readTree()` that ensures that extracted files do not fall outside the target directory.
## @backstage/create-app@0.4.30-next.3
### Patch Changes
- Bumped create-app version.
+60
View File
@@ -0,0 +1,60 @@
---
id: v1.5.0
title: v1.5.0
description: Backstage Release v1.5.0
---
These are the release notes for the v1.5.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 the hard work in getting this release developed and done.
## Highlights
### GitHub Entity Provider
Added a new `GitHubEntityProvider` ([documentation](https://backstage.io/docs/integrations/github/discovery)), which allows for automatic discovery of catalog entity definition files out of your GitHub projects. This is an improvement upon the `GithubDiscoveryProcessor` that existed before, and we recommend using entity providers rather than processors for discovery and ingestion when possible. Contributed by [@brentg-telus](https://github.com/brentg-telus) [#12822](https://github.com/backstage/backstage/pull/12822)
### Experimental Plugin Reconfiguration
This release adds an experimental API that allows plugin authors to define plugin wide options. These options can then be used by adopters of the plugin to reconfigure it to fit their app. Check out the [plugin customization](https://backstage.io/docs/plugins/customization) docs for more information on how to get started. Feedback is welcome on this new feature! Contributed by [@acierto](https://github.com/acierto) [#11404](https://github.com/backstage/backstage/pull/11404)
### Experimental Backend System Evolution
This release adds the new `@backstage/backend-defaults` package, part of the [evolution of the backend system](https://github.com/backstage/backstage/issues/11611). This package is highly experimental and we do not recommend using it for any purpose, yet.
### New plugin: `@aws/aws-proton-plugin-for-backstage`
Interact with AWS Proton in Backstage. Contributed by [@clareliguori](https://github.com/clareliguori) [#12193](https://github.com/backstage/backstage/pull/12193)
### New plugin: `@backstage/plugin-github-issues`
This new plugin can be used to display GitHub issues for your entities. Contributed by [@mrwolny](https://github.com/mrwolny) [#12875](https://github.com/backstage/backstage/pull/12875)
### New plugin: `@backstage/plugin-sonarqube-backend`
This new backend for `@backstage/plugin-sonarqube` replaces the Sonarqube proxy configuration; once it is installed, you can remove the `/sonarqube` proxy entry. For more information, see the plugin [README.md](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-backend/README.md). Contributed by [@Neemys](https://github.com/Neemys) [#11925](https://github.com/backstage/backstage/pull/11925)
### New module: `@backstage/plugin-catalog-backend-module-bitbucket-server`
This new module for the catalog backend adds the `BitbucketServerEntityProvider`, which allows discovery of entities out of Bitbucket Server installations. Contributed by [@ONordander](https://github.com/ONordander) [#12835](https://github.com/backstage/backstage/pull/12835)
## Security Fixes
This release does not contain any security fixes.
## 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/bFESRKVt) for discussions and support
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.5.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.
@@ -86,3 +86,16 @@ backend:
+ # ca: # if you have a CA file and want to verify it you can uncomment this section
+ # $file: <file-path>/ca/server.crt
```
### Using a single database
By default, each plugin will get its own logical database, to ensure that there's no conflict in table names throughout the plugins that you install and to keep their concerns separate for other use cases further down the line. If you are limited in that you can only make use of a single database, you can use a special option `pluginDivisionMode` with `client: pg` in the config to create separate [PostgreSQL Schemas](https://www.postgresql.org/docs/current/ddl-schemas.html) instead of creating separate databases.
You can enable this using the following config:
```yaml
backend:
database:
client: pg
pluginDivisionMode: schema # defaults to database, but changing this to schema means plugins will be given their own schema (in the specified/default database)
```
+1 -1
View File
@@ -3,7 +3,7 @@ title: Dynatrace
author: TELUS
authorUrl: https://github.com/telus
category: Monitoring
description: View monitoring info from dynatrace for services in your software catalog.
description: View monitoring info from Dynatrace for services in your software catalog.
documentation: https://github.com/backstage/backstage/tree/master/plugins/dynatrace
iconUrl: img/dynatrace.svg
npmPackageName: '@backstage/plugin-dynatrace'

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