Merge branch 'master' of https://github.com/backstage/backstage into update-prism-theme

This commit is contained in:
Paul Schultz
2023-03-17 11:59:15 -05:00
758 changed files with 12497 additions and 4215 deletions
@@ -506,9 +506,10 @@ import {
processingResult,
CatalogProcessor,
CatalogProcessorEmit,
LocationSpec,
} from '@backstage/plugin-catalog-node';
import { LocationSpec } from '@backstage/plugin-catalog-common';
// A processor that reads from the fictional System-X
export class SystemXReaderProcessor implements CatalogProcessor {
constructor(private readonly reader: UrlReader) {}
@@ -58,6 +58,10 @@ It shouldn't take too long, and you'll have a success screen!
If it fails, you'll be able to click on each section to get the log from the
step that failed which can be helpful in debugging.
You can also cancel the running process. Once you clicked on button "Cancel", the abort signal
will be sent to a task and all next steps won't be executed. The current step will be cancelled
only if it supports it.
![Templating failed](../../assets/software-templates/failed.png)
## View Component in Catalog
@@ -71,7 +71,7 @@ You can also choose to define your custom action using JSON schema instead of `z
```ts title="With JSON Schema"
import { createTemplateAction } from '@backstage/plugin-scaffolder-node';
import fs from 'fs-extra';
import { writeFile } from 'fs';
export const createNewFileAction = () => {
return createTemplateAction<{ contents: string; filename: string }>({
@@ -95,9 +95,12 @@ export const createNewFileAction = () => {
},
},
async handler(ctx) {
await fs.outputFile(
const { signal } = ctx;
await writeFile(
`${ctx.workspacePath}/${ctx.input.filename}`,
ctx.input.contents,
{ signal },
_ => {},
);
},
});
+9
View File
@@ -200,6 +200,15 @@ Options:
-h, --help display help for command
```
#### Publishing from behind a proxy
For users attempting to publish TechDocs content behind a proxy, the TechDocs CLI leverages `global-agent` to navigate the proxy to successfully connect to that location. To enable `global-agent`, the following variables need to be set prior to running the techdocs-cli command:
```bash
export GLOBAL_AGENT_HTTPS_PROXY=${HTTP_PROXY}
export GLOBAL_AGENT_NO_PROXY=${NO_PROXY}
```
### Migrate content for case-insensitive access
Prior to the beta version of TechDocs (`v[0.11.0]`), TechDocs were stored in
+13 -12
View File
@@ -2,15 +2,14 @@
id: org
title: GitLab Organizational Data
sidebar_label: Org Data
description: Importing users and groups from a GitLab organization into Backstage
description: Importing users and groups from GitLab into Backstage
---
The Backstage catalog can be set up to ingest organizational data - users and
teams - directly from an organization in GitLab. The result
is a hierarchy of
The Backstage catalog can be set up to ingest organizational data -- users and
groups -- directly from GitLab. The result is a hierarchy of
[`User`](../../features/software-catalog/descriptor-format.md#kind-user) and
[`Group`](../../features/software-catalog/descriptor-format.md#kind-group) kind
entities that mirror your org setup.
[`Group`](../../features/software-catalog/descriptor-format.md#kind-group)
entities that mirrors your org setup.
```yaml
integrations:
@@ -19,10 +18,11 @@ integrations:
token: ${GITLAB_TOKEN}
```
This will query all users and groups from your gitlab installation. Depending on the size
of the Gitlab Instance, this can take some time and resources.
This will query all users and groups from your GitLab instance. Depending on the
amount of data, this can take significant time and resources.
The token that is used for the Organization Integration, has to be an Admin Personal Access Token (PAT).
The token used must have the `read_api` scope, and the Users and Groups fetched
will be those visible to the account which provisioned the token.
```yaml
catalog:
@@ -35,6 +35,7 @@ catalog:
groupPattern: '[\s\S]*' # Optional. Filters found groups based on provided pattern. Defaults to `[\s\S]*`, which means to not filter anything
```
When the `group` parameter is provided, the corresponding path prefix will be stripped out from each matching group
when computing the unique entity name. e.g. If `group` is `org/teams`, the name for `org/teams/avengers/gotg` will
be `avengers-gotg`.
When the `group` parameter is provided, the corresponding path prefix will be
stripped out from each matching group when computing the unique entity name.
e.g. If `group` is `org/teams`, the name for `org/teams/avengers/gotg` will be
`avengers-gotg`.
+22 -22
View File
@@ -73,7 +73,7 @@ Build packages in the project, excluding bundled app and backend packages.
Options:
--all Build all packages, including bundled app and backend packages.
--since &lt;ref&gt; Only build packages and their dev dependents that changed since the specified ref
--since <ref> Only build packages and their dev dependents that changed since the specified ref
```
## repo lint
@@ -86,8 +86,8 @@ Usage: backstage-cli repo lint [options]
Lint all packages in the project
Options:
--format &lt;format&gt; Lint report output format (default: "eslint-formatter-friendly")
--since &lt;ref&gt; Only lint packages that changed since the specified ref
--format <format> Lint report output format (default: "eslint-formatter-friendly")
--since <ref> Only lint packages that changed since the specified ref
--fix Attempt to automatically fix violations
```
@@ -101,8 +101,8 @@ Usage: backstage-cli package start [options]
Start a package for local development
Options:
--config &lt;path&gt; Config files to load instead of app-config.yaml (default: [])
--role &lt;name&gt; Run the command with an explicit package role
--config <path> Config files to load instead of app-config.yaml (default: [])
--role <name> Run the command with an explicit package role
--check Enable type checking and linting if available
--inspect Enable debugger in Node.js environments
--inspect-brk Enable debugger in Node.js environments, breaking before code starts
@@ -118,11 +118,11 @@ Usage: backstage-cli package build [options]
Build a package for production deployment or publishing
Options:
--role &lt;name&gt; Run the command with an explicit package role
--role <name> Run the command with an explicit package role
--minify Minify the generated code. Does not apply to app or backend packages.
--skip-build-dependencies Skip the automatic building of local dependencies. Applies to backend packages only.
--stats If bundle stats are available, write them to the output directory. Applies to app packages only.
--config &lt;path&gt; Config files to load instead of app-config.yaml. Applies to app packages only. (default: [])
--config <path> Config files to load instead of app-config.yaml. Applies to app packages only. (default: [])
```
## package lint
@@ -138,7 +138,7 @@ Usage: backstage-cli package lint [options]
Lint a package
Options:
--format &lt;format&gt; Lint report output format (default: "eslint-formatter-friendly")
--format <format> Lint report output format (default: "eslint-formatter-friendly")
--fix Attempt to automatically fix violations
```
@@ -227,10 +227,10 @@ that owns the app repo. For example you may have it set up like this:
Usage: backstage-cli create [options]
Options:
--select &lt;name&gt; Select the thing you want to be creating upfront
--option &lt;name&gt;=&lt;value&gt; Pre-fill options for the creation process (default: [])
--scope &lt;scope&gt; The scope to use for new packages
--npm-registry &lt;URL&gt; The package registry to use for new packages
--select <name> Select the thing you want to be creating upfront
--option <name>=<value> Pre-fill options for the creation process (default: [])
--scope <scope> The scope to use for new packages
--npm-registry <URL> The package registry to use for new packages
--no-private Do not mark new packages as private
-h, --help display help for command
```
@@ -248,7 +248,7 @@ Usage: backstage-cli config:docs [options]
Browse the configuration reference documentation
Options:
--package &lt;name&gt; Only include the schema that applies to the given package
--package <name> Only include the schema that applies to the given package
-h, --help display help for command
```
@@ -268,12 +268,12 @@ yarn backstage-cli config:print --frontend --package my-app
Usage: backstage-cli config:print [options]
Options:
--package &lt;name&gt; Only load config schema that applies to the given package
--package <name> Only load config schema that applies to the given package
--lax Do not require environment variables to be set
--frontend Print only the frontend configuration
--with-secrets Include secrets in the printed configuration
--format &lt;format&gt; Format to print the configuration in, either json or yaml [yaml]
--config &lt;path&gt; Config files to load instead of app-config.yaml (default: [])
--format <format> Format to print the configuration in, either json or yaml [yaml]
--config <path> Config files to load instead of app-config.yaml (default: [])
-h, --help display help for command
```
@@ -287,11 +287,11 @@ local packages in the repo.
Usage: backstage-cli config:check [options]
Options:
--package &lt;name&gt; Only load config schema that applies to the given package
--package <name> Only load config schema that applies to the given package
--lax Do not require environment variables to be set
--frontend Only validate the frontend configuration
--deprecated List all deprecated configuration settings
--config &lt;path&gt; Config files to load instead of app-config.yaml (default: [])
--config <path> Config files to load instead of app-config.yaml (default: [])
-h, --help display help for command
```
@@ -309,8 +309,8 @@ Usage: backstage-cli config:schema [options]
Print configuration schema
Options:
--package &lt;name&gt; Only output config schema that applies to the given package
--format &lt;format&gt; Format to print the schema in, either json or yaml [yaml]
--package <name> Only output config schema that applies to the given package
--format <format> Format to print the schema in, either json or yaml [yaml]
-h, --help display help for command
```
@@ -325,8 +325,8 @@ Usage: backstage-cli versions:bump [options]
Options:
-h, --help display help for command
--pattern &lt;glob&gt; Override glob for matching packages to upgrade
--release &lt;version|next|main&gt; Bump to a specific Backstage release line or version (default: "main")
--pattern <glob> Override glob for matching packages to upgrade
--release <version|next|main> Bump to a specific Backstage release line or version (default: "main")
```
## versions:check
+5 -1
View File
@@ -37,7 +37,11 @@ Defining feature flag in the application is done by adding feature flags in`feat
const app = createApp({
// ...
featureFlags: [
{ name: 'tech-radar', description: 'Enables the tech radar plugin' },
{
pluginId: '', // pluginId is required for feature flags in plugins. It can be left blank for a feature flag leveraged in the application.
name: 'tech-radar',
description: 'Enables the tech radar plugin',
},
],
// ...
});
File diff suppressed because it is too large Load Diff
+62
View File
@@ -0,0 +1,62 @@
---
id: v1.12.0
title: v1.12.0
description: Backstage Release v1.12.0
---
These are the release notes for the v1.12.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
This release mostly contains a bunch of smaller additions and bug fixes, but on top of that, theres also some quality of life improvements and features as listed below. Enjoy!
### Using `zod` for action definitions
As a convenience, it is now possible to define your action inputs and outputs as `zod` schemas. This tends to be more convenient than writing JSON schema by hand, and gives you instant type feedback in your editor.
Added by [@zcason](https://github.com/zcason) in [#15561](https://github.com/backstage/backstage/pull/15561)
### Reading paginated data from the catalog
The catalog has a new backend endpoint and corresponding client method, for fetching entities with proper cursor based pagination and server side filtering and ordering. This will be used to target performance hot-spots in the frontend and elsewhere.
Added by [@vinzscam](https://github.com/vinzscam) in [#12246](https://github.com/backstage/backstage/pull/12246)
### Renamed backend system related plugin exports
As we settle the new backend system bit by bit, we have renamed a number of exports from individual plugins, to match the new [recommended naming patterns](https://backstage.io/docs/backend-system/architecture/naming-patterns). If you are already leveraging the new backend system, you may find that you need to update some imports. For example, `githubEntityProviderCatalogModule` was renamed to `catalogModuleGithubEntityProvider`. These were considered non-breaking since they are still in alpha. More details can be found in [#16760](https://github.com/backstage/backstage/pull/16760) and [#16764](https://github.com/backstage/backstage/pull/16764).
### New plugin: `catalog-backend` `puppetdb` module
Added a `catalogModulePuppetDbEntityProvider` alpha export for the new backend system. Contributed by [@tdabasinskas](https://github.com/tdabasinskas) in [#16184](https://github.com/backstage/backstage/pull/16184)
### New plugin: Octopus deploy
[Octopus](https://octopus.com) deployment plugin. Contributed by [@jmezach](https://github.com/jmezach) in [#16353](https://github.com/backstage/backstage/pull/16353)
### New plugin: StackStorm
Integration with [StackStorm](https://stackstorm.com). Contributed by [@pamelin](https://github.com/pamelin) in [#16152](https://github.com/backstage/backstage/pull/16152)
## 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/backstage-687207715902193673) for discussions and support
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.12.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.