rewrite repo location urls

This commit is contained in:
Patrik Oldsberg
2020-11-03 10:37:24 +01:00
parent 5aaeeb03b5
commit af141c0766
170 changed files with 549 additions and 542 deletions
+3 -3
View File
@@ -2,16 +2,16 @@
Backstage is a single-page application composed of a set of plugins.
Our goal for the plugin ecosystem is that the definition of a plugin is flexible enough to allow you to expose pretty much any kind of infrastructure or software development tool as a plugin in Backstage. By following strong [design guidelines](https://github.com/spotify/backstage/blob/master/docs/dls/design.md) we ensure the overall user experience stays consistent between plugins.
Our goal for the plugin ecosystem is that the definition of a plugin is flexible enough to allow you to expose pretty much any kind of infrastructure or software development tool as a plugin in Backstage. By following strong [design guidelines](https://github.com/backstage/backstage/blob/master/docs/dls/design.md) we ensure the overall user experience stays consistent between plugins.
![plugin](../docs/assets/my-plugin_screenshot.png)
## Creating a plugin
To create a plugin, follow the steps outlined [here](https://github.com/spotify/backstage/blob/master/docs/plugins/create-a-plugin.md).
To create a plugin, follow the steps outlined [here](https://github.com/backstage/backstage/blob/master/docs/plugins/create-a-plugin.md).
## Suggesting a plugin
If you start developing a plugin that you aim to release as open source, we suggest that you create a [new Issue](https://github.com/spotify/backstage/issues/new?template=plugin_template.md). This helps the community know what plugins are in development.
If you start developing a plugin that you aim to release as open source, we suggest that you create a [new Issue](https://github.com/backstage/backstage/issues/new?template=plugin_template.md). This helps the community know what plugins are in development.
You can also use this process if you have an idea for a good plugin but you hope that someone else will pick up the work.
+1 -1
View File
@@ -119,7 +119,7 @@ To try out SAML, you can use the mock identity provider:
## Authentication providers
[How to add an auth provider](https://github.com/spotify/backstage/blob/master/docs/auth/add-auth-provider.md)
[How to add an auth provider](https://github.com/backstage/backstage/blob/master/docs/auth/add-auth-provider.md)
## Links
+1 -1
View File
@@ -27,5 +27,5 @@ This will launch the full example backend, populated some example entities.
## Links
- [Frontend part of the plugin](https://github.com/spotify/backstage/tree/master/plugins/catalog)
- [Frontend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/catalog)
- [The Backstage homepage](https://backstage.io)
@@ -29,7 +29,7 @@ import {
describe('CodeOwnersProcessor', () => {
const mockUrl = ({ basePath = '' } = {}): string =>
`https://github.com/spotify/backstage/blob/master/${basePath}catalog-info.yaml`;
`https://github.com/backstage/backstage/blob/master/${basePath}catalog-info.yaml`;
const mockLocation = ({
basePath = '',
type = 'github',
@@ -39,12 +39,12 @@ describe('CodeOwnersProcessor', () => {
});
const mockReadUrl = (basePath = '') =>
`https://github.com/spotify/backstage/blob/master/${basePath}CODEOWNERS`;
`https://github.com/backstage/backstage/blob/master/${basePath}CODEOWNERS`;
const mockGitUri = (codeOwnersPath: string = '') => {
return {
source: 'github.com',
owner: 'spotify',
owner: 'backstage',
name: 'backstage',
codeOwnersPath,
};
@@ -94,7 +94,7 @@ describe('CodeOwnersProcessor', () => {
codeOwnersPath: '/.github/CODEOWNERS',
}),
).toBe(
'https://github.com/spotify/backstage/blob/master/.github/CODEOWNERS',
'https://github.com/backstage/backstage/blob/master/.github/CODEOWNERS',
);
});
});
@@ -102,7 +102,7 @@ describe('CodeOwnersProcessor', () => {
describe('buildCodeOwnerUrl', () => {
it('should build a location spec to the codeowners', () => {
expect(buildCodeOwnerUrl(mockUrl(), '/docs/CODEOWNERS')).toEqual(
'https://github.com/spotify/backstage/blob/master/docs/CODEOWNERS',
'https://github.com/backstage/backstage/blob/master/docs/CODEOWNERS',
);
});
@@ -112,7 +112,9 @@ describe('CodeOwnersProcessor', () => {
mockUrl({ basePath: 'packages/foo/' }),
'/CODEOWNERS',
),
).toEqual('https://github.com/spotify/backstage/blob/master/CODEOWNERS');
).toEqual(
'https://github.com/backstage/backstage/blob/master/CODEOWNERS',
);
});
});
@@ -152,7 +152,8 @@ describe('PlaceholderProcessor', () => {
},
{
type: 'github',
target: 'https://github.com/spotify/backstage/a/b/catalog-info.yaml',
target:
'https://github.com/backstage/backstage/a/b/catalog-info.yaml',
},
),
).resolves.toEqual({
@@ -163,7 +164,7 @@ describe('PlaceholderProcessor', () => {
});
expect(read).toBeCalledWith(
'https://github.com/spotify/backstage/a/file.txt',
'https://github.com/backstage/backstage/a/file.txt',
);
});
@@ -186,7 +187,8 @@ describe('PlaceholderProcessor', () => {
},
{
type: 'github',
target: 'https://github.com/spotify/backstage/a/b/catalog-info.yaml',
target:
'https://github.com/backstage/backstage/a/b/catalog-info.yaml',
},
),
).resolves.toEqual({
@@ -197,7 +199,7 @@ describe('PlaceholderProcessor', () => {
});
expect(read).toBeCalledWith(
'https://github.com/spotify/backstage/a/b/file.json',
'https://github.com/backstage/backstage/a/b/file.json',
);
});
@@ -218,7 +220,8 @@ describe('PlaceholderProcessor', () => {
},
{
type: 'github',
target: 'https://github.com/spotify/backstage/a/b/catalog-info.yaml',
target:
'https://github.com/backstage/backstage/a/b/catalog-info.yaml',
},
),
).resolves.toEqual({
@@ -229,7 +232,7 @@ describe('PlaceholderProcessor', () => {
});
expect(read).toBeCalledWith(
'https://github.com/spotify/backstage/a/file.yaml',
'https://github.com/backstage/backstage/a/file.yaml',
);
});
@@ -248,13 +251,14 @@ describe('PlaceholderProcessor', () => {
metadata: { name: 'n' },
spec: {
data: {
$text: 'https://github.com/spotify/backstage/catalog-info.yaml',
$text: 'https://github.com/backstage/backstage/catalog-info.yaml',
},
},
},
{
type: 'github',
target: 'https://github.com/spotify/backstage/a/b/catalog-info.yaml',
target:
'https://github.com/backstage/backstage/a/b/catalog-info.yaml',
},
),
).resolves.toEqual({
@@ -265,7 +269,7 @@ describe('PlaceholderProcessor', () => {
});
expect(read).toBeCalledWith(
'https://github.com/spotify/backstage/catalog-info.yaml',
'https://github.com/backstage/backstage/catalog-info.yaml',
);
});
@@ -284,7 +288,7 @@ describe('PlaceholderProcessor', () => {
metadata: { name: 'n' },
spec: {
data: {
$text: 'https://github.com/spotify/backstage/catalog-info.yaml',
$text: 'https://github.com/backstage/backstage/catalog-info.yaml',
},
},
},
@@ -301,7 +305,7 @@ describe('PlaceholderProcessor', () => {
});
expect(read).toBeCalledWith(
'https://github.com/spotify/backstage/catalog-info.yaml',
'https://github.com/backstage/backstage/catalog-info.yaml',
);
});
@@ -345,7 +349,7 @@ describe('yamlPlaceholderResolver', () => {
const params: ResolverParams = {
key: 'a',
value: './file.yaml',
baseUrl: 'https://github.com/spotify/backstage/a/b/catalog-info.yaml',
baseUrl: 'https://github.com/backstage/backstage/a/b/catalog-info.yaml',
read,
};
@@ -389,7 +393,7 @@ describe('jsonPlaceholderResolver', () => {
const params: ResolverParams = {
key: 'a',
value: './file.json',
baseUrl: 'https://github.com/spotify/backstage/a/b/catalog-info.yaml',
baseUrl: 'https://github.com/backstage/backstage/a/b/catalog-info.yaml',
read,
};
+1 -1
View File
@@ -9,5 +9,5 @@ supply the base views to show and manage them.
## Links
- [Backend part of the plugin](https://github.com/spotify/backstage/tree/master/plugins/catalog-backend)
- [Backend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend)
- [The Backstage homepage](https://backstage.io)
@@ -27,7 +27,7 @@ describe('<AboutCard />', () => {
name: 'software',
annotations: {
'backstage.io/managed-by-location':
'github:https://github.com/spotify/backstage/blob/master/software.yaml',
'github:https://github.com/backstage/backstage/blob/master/software.yaml',
},
},
spec: {
@@ -40,7 +40,7 @@ describe('<AboutCard />', () => {
expect(getByText('service')).toBeInTheDocument();
expect(getByText('View Source').closest('a')).toHaveAttribute(
'href',
'https://github.com/spotify/backstage/blob/master/software.yaml',
'https://github.com/backstage/backstage/blob/master/software.yaml',
);
});
});
@@ -87,7 +87,7 @@ function getCodeLinkInfo(entity: Entity): CodeLinkInfo {
if (location) {
// split by first `:`
// e.g. "github:https://github.com/spotify/backstage/blob/master/software.yaml"
// e.g. "github:https://github.com/backstage/backstage/blob/master/software.yaml"
const [type, target] = location.split(/:(.+)/);
return { icon: iconMap[type], href: target };
+3 -3
View File
@@ -21,7 +21,7 @@ yarn add @backstage/plugin-cost-insights
1. Configure `app-config.yaml`. See [Configuration](#configuration).
2. Create a CostInsights client. Clients must implement the CostInsightsApi interface. See the [API file](https://github.com/spotify/backstage/blob/master/plugins/cost-insights/src/api/CostInsightsApi.ts) for required methods and documentation.
2. Create a CostInsights client. Clients must implement the CostInsightsApi interface. See the [API file](https://github.com/backstage/backstage/blob/master/plugins/cost-insights/src/api/CostInsightsApi.ts) for required methods and documentation.
```ts
// path/to/CostInsightsClient.ts
@@ -58,7 +58,7 @@ export { plugin as CostInsights } from '@backstage/plugin-cost-insights';
Cost Insights has only two required configuration fields: a map of cloud `products` for showing cost breakdowns and `engineerCost` - the average yearly cost of an engineer including benefits. Products must be defined as keys on the `products` field.
You can optionally supply a product `icon` to display in Cost Insights navigation. See the [type file](https://github.com/spotify/backstage/blob/master/plugins/cost-insights/src/types/Icon.ts) for supported types and Material UI icon [mappings](https://github.com/spotify/backstage/blob/master/plugins/cost-insights/src/utils/navigation.tsx).
You can optionally supply a product `icon` to display in Cost Insights navigation. See the [type file](https://github.com/backstage/backstage/blob/master/plugins/cost-insights/src/types/Icon.ts) for supported types and Material UI icon [mappings](https://github.com/backstage/backstage/blob/master/plugins/cost-insights/src/utils/navigation.tsx).
**Note:** Product keys should be unique and camelCased. Backstage does not support underscores in configuration keys.
@@ -106,7 +106,7 @@ costInsights:
## Alerts
The CostInsightsApi `getAlerts` method may return any type of alert or recommendation (called collectively "Action Items" in Cost Insights) that implements the [Alert type](https://github.com/spotify/backstage/blob/master/plugins/cost-insights/src/types/Alert.ts). This allows you to deliver any alerts or recommendations specific to your infrastructure or company migrations.
The CostInsightsApi `getAlerts` method may return any type of alert or recommendation (called collectively "Action Items" in Cost Insights) that implements the [Alert type](https://github.com/backstage/backstage/blob/master/plugins/cost-insights/src/types/Alert.ts). This allows you to deliver any alerts or recommendations specific to your infrastructure or company migrations.
The Alert type includes an `element` field to supply the JSX Element that will be rendered in the Cost Insights "Action Items" section; we recommend using Backstage's [InfoCard](https://backstage.io/storybook/?path=/story/layout-information-card--default) and [Recharts](http://recharts.org/en-US/) to show actionable visualizations.
+1 -1
View File
@@ -5,7 +5,7 @@ metadata:
description: backstage.io
annotations:
github.com/project-slug: 'spotify/backstage'
backstage.io/techdocs-ref: github:https://github.com/spotify/backstage.git
backstage.io/techdocs-ref: github:https://github.com/backstage/backstage.git
spec:
type: website
lifecycle: production
+2 -2
View File
@@ -8,10 +8,10 @@
"main": "dist/index.esm.js",
"types": "dist/index.d.ts"
},
"homepage": "https://github.com/spotify/backstage/tree/master/plugins/graphiql#readme",
"homepage": "https://github.com/backstage/backstage/tree/master/plugins/graphiql#readme",
"repository": {
"type": "git",
"url": "https://github.com/spotify/backstage",
"url": "https://github.com/backstage/backstage",
"directory": "plugins/graphiql"
},
"keywords": [
+3 -3
View File
@@ -23,7 +23,7 @@ _It's likely you will need to enable CORS when running lighthouse-audit-service.
with the environment variable `LAS_CORS` set to `true`._
When you have an instance running that Backstage can hook into, make sure to export the plugin in
your app's [`plugins.ts`](https://github.com/spotify/backstage/blob/master/packages/app/src/plugins.ts)
your app's [`plugins.ts`](https://github.com/backstage/backstage/blob/master/packages/app/src/plugins.ts)
to enable the plugin:
```js
@@ -32,7 +32,7 @@ export LighthousePlugin;
```
Then, you need to use the `lighthouseApiRef` exported from the plugin to initialize the Rest API in
your [`apis.ts`](https://github.com/spotify/backstage/blob/master/packages/app/src/apis.ts).
your [`apis.ts`](https://github.com/backstage/backstage/blob/master/packages/app/src/apis.ts).
```js
import { ApiHolder, ApiRegistry } from '@backstage/core';
@@ -51,7 +51,7 @@ export const apis = (config: ConfigApi) => {
}
```
Then configure the lighthouse service url in your [`app-config.yaml`](https://github.com/spotify/backstage/blob/master/app-config.yaml).
Then configure the lighthouse service url in your [`app-config.yaml`](https://github.com/backstage/backstage/blob/master/app-config.yaml).
```yaml
lighthouse:
@@ -43,7 +43,7 @@ _It's likely you will need to enable CORS when running lighthouse-audit-service.
with the environment variable \`LAS_CORS\` set to \`true\`._
When you have an instance running that Backstage can hook into, make sure to export the plugin in
your app's [\`plugins.ts\`](https://github.com/spotify/backstage/blob/master/packages/app/src/plugins.ts)
your app's [\`plugins.ts\`](https://github.com/backstage/backstage/blob/master/packages/app/src/plugins.ts)
to enable the plugin:
\`\`\`js
@@ -52,7 +52,7 @@ export LighthousePlugin;
\`\`\`
Then, you need to use the \`lighthouseApiRef\` exported from the plugin to initialize the Rest API in
your [\`apis.ts\`](https://github.com/spotify/backstage/blob/master/packages/app/src/apis.ts).
your [\`apis.ts\`](https://github.com/backstage/backstage/blob/master/packages/app/src/apis.ts).
\`\`\`js
import { ApiHolder, ApiRegistry } from '@backstage/core';
+1 -1
View File
@@ -18,5 +18,5 @@ access account token._
## Links
- [Frontend part of the plugin](https://github.com/spotify/backstage/tree/master/plugins/rollbar)
- [Frontend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/rollbar)
- [The Backstage homepage](https://backstage.io)
+2 -2
View File
@@ -4,7 +4,7 @@ Website: [https://rollbar.com/](https://rollbar.com/)
## Setup
1. Configure the [rollbar backend plugin](https://github.com/spotify/backstage/tree/master/plugins/rollbar-backend/README.md)
1. Configure the [rollbar backend plugin](https://github.com/backstage/backstage/tree/master/plugins/rollbar-backend/README.md)
2. If you have standalone app (you didn't clone this repo), then do
@@ -83,5 +83,5 @@ metadata:
## Links
- [Backend part of the plugin](https://github.com/spotify/backstage/tree/master/plugins/rollbar-backend)
- [Backend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/rollbar-backend)
- [The Backstage homepage](https://backstage.io)
@@ -6,8 +6,8 @@ metadata:
spec:
type: github
targets:
- https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/react-ssr-template/template.yaml
- https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml
- https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/create-react-app/template.yaml
- https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/react-ssr-template/template.yaml
- https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml
- https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/create-react-app/template.yaml
- https://github.com/spotify/cookiecutter-golang/blob/master/template.yaml
- https://github.com/spotify/backstage/blob/master/plugins/scaffolder-backend/sample-templates/docs-template/template.yaml
- https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/sample-templates/docs-template/template.yaml
+1 -1
View File
@@ -6,5 +6,5 @@ This is the frontend part of the default scaffolder plugin.
## Links
- [Backend part of the plugin](https://github.com/spotify/backstage/tree/master/plugins/scaffolder-backend)
- [Backend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/scaffolder-backend)
- [The Backstage homepage](https://backstage.io)
+2 -2
View File
@@ -33,7 +33,7 @@ Currently the build process of techdocs-backend is split up in these three stage
- Generators
- Publishers
Preparers read your entity data and creates a working directory with your documentation source code. For example if you have set your `backstage.io/techdocs-ref` to `github:https://github.com/spotify/backstage.git` it will clone that repository to a temp folder and pass that on to the generator.
Preparers read your entity data and creates a working directory with your documentation source code. For example if you have set your `backstage.io/techdocs-ref` to `github:https://github.com/backstage/backstage.git` it will clone that repository to a temp folder and pass that on to the generator.
Generators takes the prepared source and runs the `techdocs-container` on it. It then passes on the output folder of that build to the publisher.
@@ -43,5 +43,5 @@ Any of these can be extended. If we want to publish to a external static file se
## Links
- [Frontend part of the plugin](https://github.com/spotify/backstage/tree/master/plugins/techdocs)
- [Frontend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/techdocs)
- [The Backstage homepage](https://backstage.io)
@@ -4,7 +4,7 @@ metadata:
name: documented-component
description: A Service with TechDocs documentation
annotations:
backstage.io/techdocs-ref: 'github:https://github.com/spotify/backstage/blob/master/plugins/techdocs-backend/examples/documented-component'
backstage.io/techdocs-ref: 'github:https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/examples/documented-component'
spec:
type: service
lifecycle: experimental
@@ -51,7 +51,7 @@ describe('commonGit preparer', () => {
const mockEntity = createMockEntity({
'backstage.io/techdocs-ref':
'github:https://github.com/spotify/backstage/blob/master/plugins/techdocs-backend/examples/documented-component',
'github:https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/examples/documented-component',
});
const tempDocsPath = await preparer.prepare(mockEntity);
@@ -78,7 +78,7 @@ describe('directory preparer', () => {
const mockEntity = createMockEntity({
'backstage.io/managed-by-location':
'github:https://github.com/spotify/backstage/blob/master/catalog-info.yaml',
'github:https://github.com/backstage/backstage/blob/master/catalog-info.yaml',
'backstage.io/techdocs-ref': 'dir:./docs',
});
@@ -69,7 +69,7 @@ const WelcomePage = () => {
of these phases. The best way to keep track of the progress is
through the&nbsp;
<Link
href="https://github.com/spotify/backstage/milestones"
href="https://github.com/backstage/backstage/milestones"
rel="noopener noreferrer"
>
Milestones
@@ -116,7 +116,7 @@ const WelcomePage = () => {
<Typography variant="body1" paragraph>
We suggest you either check out the documentation for{' '}
<Link
href="https://github.com/spotify/backstage/blob/master/docs/plugins/create-a-plugin.md"
href="https://github.com/backstage/backstage/blob/master/docs/plugins/create-a-plugin.md"
rel="noopener noreferrer"
>
creating a plugin
@@ -127,7 +127,7 @@ const WelcomePage = () => {
</Link>{' '}
in the directory{' '}
<Link
href="https://github.com/spotify/backstage/tree/master/plugins"
href="https://github.com/backstage/backstage/tree/master/plugins"
rel="noopener noreferrer"
>
<code>plugins/</code>
@@ -144,7 +144,7 @@ const WelcomePage = () => {
</ListItem>
<ListItem>
<Link
href="https://github.com/spotify/backstage/blob/master/docs/plugins/create-a-plugin.md"
href="https://github.com/backstage/backstage/blob/master/docs/plugins/create-a-plugin.md"
rel="noopener noreferrer"
>
Create a plugin