@eventcatalog/core 4.10.12 → 4.10.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-7URQ754Q.js → chunk-HERAHLM2.js} +1 -1
- package/dist/{chunk-Y5XU3YLT.js → chunk-LITOQH56.js} +1 -1
- package/dist/{chunk-S4LLGOO4.js → chunk-LUW6RDA7.js} +1 -1
- package/dist/{chunk-VFSEVDCQ.js → chunk-ONDFEA5R.js} +1 -1
- package/dist/{chunk-A53VCEEA.js → chunk-V2SKOQYF.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/02-config.md +55 -1
- package/dist/docs/development/authentication/providers/03-setting-up-github.md +29 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +2 -2
- package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +17 -0
- package/dist/docs/development/components/07-resource-references.md +7 -1
- package/dist/docs/development/components/components/05-architecture-graph.md +65 -0
- package/dist/docs/development/components/components/{05-attachments.md → 06-attachments.md} +1 -1
- package/dist/docs/development/components/components/{06-channel-information.md → 07-channel-information.md} +1 -1
- package/dist/docs/development/components/components/{07-custom-properties.md → 08-custom-properties.md} +1 -1
- package/dist/docs/development/components/components/{08-design.md → 09-design.md} +1 -1
- package/dist/docs/development/components/components/{09-entitymap.md → 10-entitymap.md} +1 -1
- package/dist/docs/development/components/components/{10-flow.md → 11-flow.md} +1 -1
- package/dist/docs/development/components/components/{11-link.md → 12-link.md} +1 -1
- package/dist/docs/development/components/components/{12-mermaid-file-loader.md → 13-mermaid-file-loader.md} +1 -1
- package/dist/docs/development/components/components/{13-message-table.md → 14-message-table.md} +1 -1
- package/dist/docs/development/components/components/{14-nodegraph.md → 15-nodegraph.md} +1 -1
- package/dist/docs/development/components/components/{15-openapi.md → 16-openapi.md} +1 -1
- package/dist/docs/development/components/components/{16-prompt.md → 17-prompt.md} +1 -1
- package/dist/docs/development/components/components/{17-remote-schema.md → 18-remote-schema.md} +1 -1
- package/dist/docs/development/components/components/{18-resource-group-table.md → 19-resource-group-table.md} +1 -1
- package/dist/docs/development/components/components/{19-resource-link.md → 20-resource-link.md} +1 -1
- package/dist/docs/development/components/components/{20-schema.md → 21-schema.md} +1 -1
- package/dist/docs/development/components/components/{21-schema-viewer.md → 22-schema-viewer.md} +1 -1
- package/dist/docs/development/components/components/{22-steps.md → 23-steps.md} +1 -1
- package/dist/docs/development/components/components/{23-tabs.md → 24-tabs.md} +1 -1
- package/dist/docs/development/components/components/{24-tiles.md → 25-tiles.md} +1 -1
- package/dist/docs/development/components/components/{25-visibility.md → 26-visibility.md} +1 -1
- package/dist/docs/development/customization/04-documentation-sidebar.md +3 -3
- package/dist/docs/development/customization/05-resource-sidebar.md +235 -0
- package/dist/docs/development/customization/09-embed-eventcatalog.md +179 -0
- package/dist/docs/development/customization/_category_.json +1 -1
- package/dist/docs/development/deployment/build-and-deploy.md +4 -0
- package/dist/docs/development/deployment/hosting-options.md +1 -1
- package/dist/docs/development/deployment/link-validation.md +105 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/00-overview.md +76 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/01-setup.md +144 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/_category_.json +10 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/01-configure-rules.md +130 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/02-run-in-ci.md +93 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/03-use-custom-frontmatter.md +81 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/04-reference-external-catalogs.md +51 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/05-fix-common-problems.md +120 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/how-to/_category_.json +12 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/01-cli.md +109 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/02-configuration.md +120 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/03-rules.md +287 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/04-versions.md +77 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/05-supported-resources.md +75 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter/reference/_category_.json +12 -0
- package/dist/docs/development/guides/97-architecture-graph.md +78 -0
- package/dist/docs/development/guides/domains/02-create-domain.md +1 -1
- package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +29 -0
- package/dist/docs/development/guides/domains/09-reference.md +10 -0
- package/dist/docs/development/guides/resources/messages/04-message-channels/02-adding-channels.md +2 -2
- package/dist/docs/development/guides/resources/messages/04-message-channels/04-adding-messages-to-services.md +8 -0
- package/dist/docs/development/guides/resources/schemas/03-add-specifications-to-services/01-add-openapi-specifications.md +2 -2
- package/dist/docs/development/guides/resources/schemas/03-add-specifications-to-services/02-add-asyncapi-specifications.md +3 -3
- package/dist/docs/development/guides/systems/05-system-context-maps.md +2 -0
- package/dist/docs/development/license-keys/license-validation.md +7 -3
- package/dist/docs/development/license-keys/overview.md +7 -3
- package/dist/docs/development/upgrading/upgrading.md +3 -3
- package/dist/docs/development/upgrading/v2.md +3 -3
- package/dist/docs/federation/00-overview.md +158 -0
- package/dist/docs/federation/01-first-federation.md +199 -0
- package/dist/docs/federation/_category_.json +12 -0
- package/dist/docs/federation/explanation/_category_.json +12 -0
- package/dist/docs/federation/explanation/how-it-works.md +129 -0
- package/dist/docs/federation/explanation/lockfile-and-cache.md +134 -0
- package/dist/docs/federation/explanation/mvp-status-and-feedback.md +86 -0
- package/dist/docs/federation/explanation/ownership-and-references.md +134 -0
- package/dist/docs/federation/how-to/_category_.json +12 -0
- package/dist/docs/federation/how-to/configure-github-sources.md +156 -0
- package/dist/docs/federation/how-to/configure-validation-rules.md +127 -0
- package/dist/docs/federation/how-to/run-in-ci.md +138 -0
- package/dist/docs/federation/how-to/share-assets-and-components.md +125 -0
- package/dist/docs/federation/how-to/use-local-sources.md +138 -0
- package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/00-introduction.md +11 -2
- package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/01-installation.md +11 -3
- package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/02-plugin-configuration.md +11 -2
- package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/03-examples.md +11 -1
- package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/04-configuration.md +11 -1
- package/dist/docs/{plugins/eventcatalog-federation → federation/legacy-federation}/05-setup-team-catalog.md +11 -2
- package/dist/docs/federation/legacy-federation/_category_.json +12 -0
- package/dist/docs/federation/reference/_category_.json +12 -0
- package/dist/docs/federation/reference/cli.md +122 -0
- package/dist/docs/federation/reference/configuration.md +192 -0
- package/dist/docs/federation/reference/diagnostic-rules.md +173 -0
- package/dist/docs/federation/reference/generated-output.md +118 -0
- package/dist/docs/federation/reference/supported-content.md +86 -0
- package/dist/docs/federation/reference/troubleshooting.md +208 -0
- package/dist/docs/plugins/01-intro.md +3 -3
- package/dist/docs/plugins/03-all-plugins.md +2 -2
- package/dist/docs/plugins/asyncapi/00-intro.md +4 -4
- package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +4 -4
- package/dist/docs/plugins/backstage/00-overview.md +53 -0
- package/dist/docs/plugins/backstage/01-get-started.md +95 -0
- package/dist/docs/plugins/backstage/02-embed-entity-tabs.md +109 -0
- package/dist/docs/plugins/backstage/03-add-overview-cards.md +79 -0
- package/dist/docs/plugins/backstage/04-control-theme-and-size.md +54 -0
- package/dist/docs/plugins/backstage/05-migrate-to-annotations.md +49 -0
- package/dist/docs/plugins/backstage/06-configuration.md +85 -0
- package/dist/docs/plugins/backstage/07-components.md +129 -0
- package/dist/docs/plugins/backstage/08-how-embeds-work.md +52 -0
- package/dist/docs/plugins/backstage/_category_.json +4 -3
- package/dist/docs/plugins/eventbridge/00-intro.md +5 -5
- package/dist/docs/plugins/eventbridge/03-api.md +3 -3
- package/dist/docs/plugins/graphql/00-intro.md +2 -2
- package/dist/docs/plugins/graphql/02-plugin-configuration.md +2 -2
- package/dist/docs/plugins/hookdeck/01-intro.md +1 -1
- package/dist/docs/plugins/openapi/00-intro.md +1 -1
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +5 -5
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/eventcatalog/src/components/ChatPanel/ChatPanel.tsx +208 -119
- package/eventcatalog/src/components/ChatPanel/ChatPanelButton.tsx +28 -8
- package/eventcatalog/src/components/ChatPanel/OfflineReply.tsx +45 -0
- package/eventcatalog/src/components/Header.astro +11 -6
- package/eventcatalog/src/components/MDX/Design/Design.astro +2 -2
- package/eventcatalog/src/components/MDX/EntityMap/EntityMap.astro +2 -2
- package/eventcatalog/src/components/MDX/Flow/Flow.astro +2 -2
- package/eventcatalog/src/components/MDX/NodeGraph/NodeGraph.astro +2 -2
- package/eventcatalog/src/components/SchemaExplorer/AvroSchemaViewer.tsx +21 -19
- package/eventcatalog/src/components/SchemaExplorer/JSONSchemaViewer.tsx +79 -77
- package/eventcatalog/src/components/SchemaExplorer/ProtobufSchemaViewer.test.tsx +91 -0
- package/eventcatalog/src/components/SchemaExplorer/ProtobufSchemaViewer.tsx +115 -33
- package/eventcatalog/src/components/SchemaExplorer/SchemaViewerHover.test.tsx +33 -0
- package/eventcatalog/src/components/SchemaExplorer/protobuf-validation.test.ts +84 -0
- package/eventcatalog/src/components/SchemaExplorer/protobuf-validation.ts +149 -0
- package/eventcatalog/src/components/Search/Search.astro +11 -4
- package/eventcatalog/src/components/Settings/AssistantSettingsForm.tsx +29 -24
- package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +3 -3
- package/eventcatalog/src/pages/diagrams/[id]/[version]/index.astro +2 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +5 -3
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +10 -4
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/asyncapi/[filename].astro +2 -2
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +3 -3
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/spec/[filename].astro +2 -2
- package/eventcatalog/src/pages/visualiser/designs/[id]/index.astro +2 -2
- package/eventcatalog/src/utils/feature.ts +1 -0
- package/eventcatalog/src/utils/protobuf-schema.ts +211 -16
- package/package.json +3 -3
- package/dist/docs/cli/channels.md +0 -180
- package/dist/docs/cli/commands.md +0 -183
- package/dist/docs/cli/custom-docs.md +0 -78
- package/dist/docs/cli/data-products.md +0 -177
- package/dist/docs/cli/data-stores.md +0 -166
- package/dist/docs/cli/diagrams.md +0 -147
- package/dist/docs/cli/domains.md +0 -280
- package/dist/docs/cli/entities.md +0 -138
- package/dist/docs/cli/events.md +0 -186
- package/dist/docs/cli/export.md +0 -27
- package/dist/docs/cli/governance.md +0 -24
- package/dist/docs/cli/messages.md +0 -69
- package/dist/docs/cli/queries.md +0 -183
- package/dist/docs/cli/services.md +0 -266
- package/dist/docs/cli/snapshots.md +0 -44
- package/dist/docs/cli/teams.md +0 -75
- package/dist/docs/cli/users.md +0 -75
- package/dist/docs/cli/utilities.md +0 -43
- package/dist/docs/development/developer-tools/eventcatalog-linter.md +0 -732
- package/dist/docs/plugins/backstage/00-intro.md +0 -67
- package/dist/docs/plugins/backstage/01-installation.md +0 -242
- package/dist/docs/plugins/backstage/02-api.md +0 -51
- package/dist/docs/plugins/backstage/03-examples.md +0 -12
- package/dist/docs/plugins/eventcatalog-federation/_category_.json +0 -11
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 1
|
|
3
|
-
keywords:
|
|
4
|
-
- components
|
|
5
|
-
sidebar_label: Introduction
|
|
6
|
-
title: Getting started
|
|
7
|
-
description: Getting started with Backstage plugin
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
-
import PluginLicense from '@site/src/components/MDX/PluginLicense';
|
|
12
|
-
|
|
13
|
-
<PluginLicense url="#commercial-use" />
|
|
14
|
-
|
|
15
|
-
<iframe width="100%" height="415" src="https://www.youtube.com/embed/mjf7qwoSAC4?si=eBZfgjMOQrD75teb" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
Many folks are using [Backstage](https://backstage.spotify.com/) for their internal developer portals. Backstage is a highly configurable platform that allows you to document your architecture in components, apis, services, domains and much more.
|
|
20
|
-
|
|
21
|
-
Backstage supports plugins, that have a frontend and backend support.
|
|
22
|
-
|
|
23
|
-
Using the EventCatalog Backstage plugin you can embed your EventCatalog information into backstage.
|
|
24
|
-
|
|
25
|
-
### Core Features
|
|
26
|
-
|
|
27
|
-
The EventCatalog Backstage plugin can provide you with many features:
|
|
28
|
-
|
|
29
|
-
- 📃 Bring [EventCatalog documentation](https://demo.eventcatalog.dev/docs/domains/Orders/0.0.3) into Backstage
|
|
30
|
-
- 📃 Custom tabs for your APIs and Services. Embed documentation, visualizations and searchable tables.
|
|
31
|
-
- 📊 Embed [EventCatalog visualizer](https://demo.eventcatalog.dev/visualiser/domains/Orders/0.0.3) into your Backstage pages
|
|
32
|
-
- 🔎 Embed the [EventCatalog discovery table](https://demo.eventcatalog.dev/discover/events) to quickly find messages for your services
|
|
33
|
-
- ⭐ And much more...
|
|
34
|
-
|
|
35
|
-
### How it works
|
|
36
|
-
|
|
37
|
-

|
|
38
|
-
|
|
39
|
-
This plugin exposes React components that you can embed on your pages to display information from EventCatalog.
|
|
40
|
-
|
|
41
|
-
_Your EventCatalog has be hosted and the URL given to the app.config.yml file._
|
|
42
|
-
|
|
43
|
-
- `<EventCatalogDocumentationEntityPage page="docs/page/visualiser" />`
|
|
44
|
-
- Used to embed whole pages of EventCatalog into your Backstage instance. You can add these as tabs to your pages, clicking on the tab will show the desired feature.
|
|
45
|
-
- `<EventCatalogEntityVisualiserCard />`
|
|
46
|
-
- Used to embed a widget (Card) on your existing pages. This component will display the visualiser on your page.
|
|
47
|
-
- `<EventCatalogEntityMessageCard />`
|
|
48
|
-
- Used to embed a widget (Card) on your existing pages. This component will display the explore (table) on your page. Great for displaying a list of messages your service produces/consumes.
|
|
49
|
-
|
|
50
|
-
_Note: If you want to embed private EventCatalog instances, raise an issue on GitHub and we can explore this_.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Commercial Use
|
|
55
|
-
|
|
56
|
-
This plugin requires an EventCatalog Scale license key to be used.
|
|
57
|
-
|
|
58
|
-
You can get a 30-day trial Scale license key by going to [EventCatalog Cloud](https://eventcatalog.cloud).
|
|
59
|
-
|
|
60
|
-
You can try the Backstage plugin, or use EventCatalog Scale (as it's already included).
|
|
61
|
-
|
|
62
|
-
After the trial, you can continue using this plugin with EventCatalog Scale.
|
|
63
|
-
|
|
64
|
-
See [pricing](/pricing) for more information.
|
|
65
|
-
|
|
66
|
-
_Have any questions? You can email us at `hello@eventcatalog.dev`._
|
|
67
|
-
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 1
|
|
3
|
-
keywords:
|
|
4
|
-
- components
|
|
5
|
-
sidebar_label: Installation
|
|
6
|
-
title: Installation
|
|
7
|
-
description: Installation instructions for the EventCatalog Backstage plugin
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
-
import PluginLicense from '@site/src/components/MDX/PluginLicense';
|
|
12
|
-
|
|
13
|
-
<PluginLicense url="#commercial-use" />
|
|
14
|
-
|
|
15
|
-
:::info Using Backstage plugin version 1.0.0?
|
|
16
|
-
|
|
17
|
-
We introduced some breaking changes in the plugin, and the ways you map your resources to EventCatalog resources.
|
|
18
|
-
|
|
19
|
-
We recommend using the latest version of the plugin. You can read the [migration guide](#migrating-from--100-to-100) to help you upgrade.
|
|
20
|
-
|
|
21
|
-
:::
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Configuring EventCatalog for Backstage
|
|
26
|
-
|
|
27
|
-
You will need an EventCatalog Scale license key to use the Backstage integration.
|
|
28
|
-
|
|
29
|
-
You can get a 30-day trial Scale license key from [EventCatalog Cloud](https://eventcatalog.cloud).
|
|
30
|
-
|
|
31
|
-
Once you have an EventCatalog Scale license key, you will need to build and deploy your EventCatalog with the license key set.
|
|
32
|
-
|
|
33
|
-
#### 1. Setting license key in `.env` file (recommended)
|
|
34
|
-
|
|
35
|
-
<AddedIn version="2.35.4" />
|
|
36
|
-
|
|
37
|
-
Create a `.env` file in the root of your project and add the following:
|
|
38
|
-
|
|
39
|
-
```bash title=".env"
|
|
40
|
-
EVENTCATALOG_SCALE_LICENSE_KEY=your-scale-license-key
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
:::tip Using an Older API Key?
|
|
44
|
-
|
|
45
|
-
If you already have an older Backstage plugin key, you can still use it with the Backstage-specific environment variable.
|
|
46
|
-
|
|
47
|
-
```bash title=".env"
|
|
48
|
-
EVENTCATALOG_LICENSE_KEY_BACKSTAGE=your-license-key
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
:::
|
|
52
|
-
|
|
53
|
-
This will enable you to use EventCatalog within backstage.
|
|
54
|
-
|
|
55
|
-
## Configuring Backstage to use EventCatalog
|
|
56
|
-
|
|
57
|
-
### 1. Install the plugin on Backstage
|
|
58
|
-
|
|
59
|
-
First install the plugin in your Backstage instance.
|
|
60
|
-
|
|
61
|
-
```sh
|
|
62
|
-
yarn add @eventcatalog/backstage-plugin-eventcatalog
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 2. Add the EventCatalog URL to the app-config.yaml
|
|
66
|
-
|
|
67
|
-
The EventCatalog plugin needs to know the URL of your EventCatalog instance. This can be set in the `app-config.yaml` file.
|
|
68
|
-
|
|
69
|
-
```yaml
|
|
70
|
-
eventcatalog:
|
|
71
|
-
URL: "https://demo.eventcatalog.dev"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### 3. Mapping Backstage resources to EventCatalog resources with annotations
|
|
75
|
-
|
|
76
|
-
Backstage and EventCatalog have different ways to create resources. For example backstage supports components, APIS, domains, systems etc, and EventCatalog supports resources (domains, services and messages (queries, commands and events)).
|
|
77
|
-
|
|
78
|
-
When you configure the plugin you need to map Backstage information to EventCatalog information, so the plugin knows which EventCatalog page to render.
|
|
79
|
-
|
|
80
|
-
We do this by adding annotations to the Backstage resources.
|
|
81
|
-
|
|
82
|
-
<!-- Make table -->
|
|
83
|
-
|
|
84
|
-
| Annotation | Required | Default | Description |
|
|
85
|
-
|------------|----------|---------|-------------|
|
|
86
|
-
| `eventcatalog.dev/id` | Yes | - | The id of the resource in EventCatalog |
|
|
87
|
-
| `eventcatalog.dev/version` | No | `latest` | The version of the resource in EventCatalog |
|
|
88
|
-
| `eventcatalog.dev/collection` | No | Uses the entity kind | The collection of the resource in EventCatalog. Options include `services`, `domains`, `queries`, `commands`, `events` |
|
|
89
|
-
|
|
90
|
-
Example of creating a new service in Backstage and mapping it to an EventCatalog resource:
|
|
91
|
-
|
|
92
|
-
```yaml
|
|
93
|
-
apiVersion: backstage.io/v1alpha1
|
|
94
|
-
kind: Component
|
|
95
|
-
metadata:
|
|
96
|
-
name: backend-service
|
|
97
|
-
description: Backend API service
|
|
98
|
-
annotations:
|
|
99
|
-
github.com/project-slug: organization/backend-repo
|
|
100
|
-
# Here we map the Backstage service to an EventCatalog resource
|
|
101
|
-
# The id of the resource in EventCatalog
|
|
102
|
-
eventcatalog.dev/id: InventoryService
|
|
103
|
-
# The version of the resource in EventCatalog
|
|
104
|
-
eventcatalog.dev/version: 0.0.2
|
|
105
|
-
# The collection of the resource in EventCatalog
|
|
106
|
-
eventcatalog.dev/collection: services
|
|
107
|
-
tags:
|
|
108
|
-
- nodejs
|
|
109
|
-
- express
|
|
110
|
-
- api
|
|
111
|
-
spec:
|
|
112
|
-
type: service
|
|
113
|
-
lifecycle: production
|
|
114
|
-
owner: team-name
|
|
115
|
-
system: example-system
|
|
116
|
-
providesApis:
|
|
117
|
-
- backend-api
|
|
118
|
-
dependsOn:
|
|
119
|
-
- resource:default/database
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### 4. Using the components in Backstage
|
|
123
|
-
|
|
124
|
-
You have two options to use the components in Backstage:
|
|
125
|
-
|
|
126
|
-
- [Embed EventCatalog as a tabbed page](#tabbed-pages)
|
|
127
|
-
- [Embed EventCatalog as a card component](#card-components)
|
|
128
|
-
|
|
129
|
-
#### Tabbed pages
|
|
130
|
-
|
|
131
|
-
The `EventCatalogDocumentationEntityPage` components, is a full page component that you can assign to any `EntityLayout.Route`.
|
|
132
|
-
|
|
133
|
-
```js
|
|
134
|
-
import { EventCatalogDocumentationEntityPage } from "@eventcatalog/backstage-plugin-eventcatalog";
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
You can import the `EventCatalogDocumentationEntityPage` component to render EventCatalog pages as full pages in your Backstage entity.
|
|
138
|
-
|
|
139
|
-
**Rendered output example:**
|
|
140
|
-
|
|
141
|
-

|
|
142
|
-
|
|
143
|
-
**Usage Example:**
|
|
144
|
-
|
|
145
|
-
```js
|
|
146
|
-
// Will create a new tab called "Docs" and route called /eventcatalog. This will embed the docs for that
|
|
147
|
-
// entity in your page. Using the info from the app-config to map your Backstage ID to EventCatalog ID
|
|
148
|
-
<EntityLayout.Route path="/eventcatlaog" title="Docs">
|
|
149
|
-
<EventCatalogDocumentationEntityPage page='docs' />
|
|
150
|
-
</EntityLayout.Route>
|
|
151
|
-
|
|
152
|
-
// Will create a new tab called "Visualzer" and route called /eventcatalog-visualizer.
|
|
153
|
-
// This will embed the EventCatalog visualiser to your Backstage entity
|
|
154
|
-
<EntityLayout.Route path="/eventcatlaog-visualizer" title="Visualzer">
|
|
155
|
-
<EventCatalogDocumentationEntityPage page='visualiser' />
|
|
156
|
-
</EntityLayout.Route>
|
|
157
|
-
|
|
158
|
-
// Will create a new tab called "Entity Map" and route called /eventcatalog-entity-map.
|
|
159
|
-
// This will embed the EventCatalog entity map to your Backstage entity
|
|
160
|
-
<EntityLayout.Route path="/eventcatlaog-entity-map" title="Entity Map">
|
|
161
|
-
<EventCatalogDocumentationEntityPage page='entity-map' />
|
|
162
|
-
</EntityLayout.Route>
|
|
163
|
-
|
|
164
|
-
// Will create a new tab called "Schema Explorer" and route called /eventcatalog-schema-explorer.
|
|
165
|
-
<EntityLayout.Route path="/eventcatlaog-schema-explorer" title="Schema Explorer">
|
|
166
|
-
<EventCatalogDocumentationEntityPage page='schema-explorer' />
|
|
167
|
-
</EntityLayout.Route>
|
|
168
|
-
|
|
169
|
-
// Override the id, collection and version of the resource in EventCatalog
|
|
170
|
-
// you can choose to override what is rendered, (not read from your backstage configuration)
|
|
171
|
-
<EntityLayout.Route path="/eventcatlaog-entity-map" title="Entity Map">
|
|
172
|
-
<EventCatalogDocumentationEntityPage page='entity-map' id="MyDomainId" collection="domains" version="0.0.1" />
|
|
173
|
-
</EntityLayout.Route>
|
|
174
|
-
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
#### Card components
|
|
178
|
-
|
|
179
|
-
These components can be added to your pages as Cards, that can live inside the Backstage Grid System.
|
|
180
|
-
|
|
181
|
-

|
|
182
|
-

|
|
183
|
-
|
|
184
|
-
```jsx
|
|
185
|
-
import {
|
|
186
|
-
EventCatalogEntityVisualiserCard,
|
|
187
|
-
EventCatalogEntityMessageCard,
|
|
188
|
-
} from "@eventcatalog/backstage-plugin-eventcatalog";
|
|
189
|
-
|
|
190
|
-
<Grid container spacing={3} alignItems="stretch">
|
|
191
|
-
<Grid item md={6}>
|
|
192
|
-
<!-- Backstage card -->
|
|
193
|
-
<EntityAboutCard variant="gridItem" />
|
|
194
|
-
</Grid>
|
|
195
|
-
<Grid item md={6}>
|
|
196
|
-
<!-- Adds the visualizer to a grid item in Backstage -->
|
|
197
|
-
<EventCatalogEntityVisualiserCard />
|
|
198
|
-
</Grid>
|
|
199
|
-
<Grid item md={6} xs={12}>
|
|
200
|
-
<!-- Adds the explore (messages) to a grid item in Backstage -->
|
|
201
|
-
<EventCatalogEntityMessageCard />
|
|
202
|
-
</Grid>
|
|
203
|
-
<Grid item md={6} xs={12}>
|
|
204
|
-
<!-- Adds the entity map to a grid item in Backstage -->
|
|
205
|
-
<EventCatalogEntityEntityMapCard />
|
|
206
|
-
</Grid>
|
|
207
|
-
</Grid>;
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Migrating from < 1.0.0
|
|
213
|
-
|
|
214
|
-
We introduced some breaking changes in the plugin, and the ways you map your resources to EventCatalog resources.
|
|
215
|
-
|
|
216
|
-
Previously you mapped your resources to EventCatalog resources in the `app-config.yaml` file.
|
|
217
|
-
|
|
218
|
-
```yaml
|
|
219
|
-
eventcatalog:
|
|
220
|
-
services:
|
|
221
|
-
- backstage-name: "backend-service"
|
|
222
|
-
eventcatalog-id: "InventoryService"
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
Now you have to use annotations to map your resources to EventCatalog resources.
|
|
226
|
-
|
|
227
|
-
```yaml
|
|
228
|
-
apiVersion: backstage.io/v1alpha1
|
|
229
|
-
kind: Component
|
|
230
|
-
metadata:
|
|
231
|
-
name: backend-service
|
|
232
|
-
annotations:
|
|
233
|
-
eventcatalog.dev/id: "InventoryService"
|
|
234
|
-
eventcatalog.dev/version: "0.0.2"
|
|
235
|
-
eventcatalog.dev/collection: "services"
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
This are the preferred ways to map your resources to EventCatalog resources and following Backstage best practices.
|
|
239
|
-
|
|
240
|
-
## Demo
|
|
241
|
-
|
|
242
|
-
If you want to learn how the code works in a basic demo [you can see our demo on GitHub](https://github.com/event-catalog/backstage-eventcatalog-demo).
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 1
|
|
3
|
-
keywords:
|
|
4
|
-
- backstage
|
|
5
|
-
sidebar_label: Backstage configuration
|
|
6
|
-
title: Backstage configuration
|
|
7
|
-
description: Getting started with Backstage and EventCatalog plugin
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Overview {#overview}
|
|
11
|
-
|
|
12
|
-
Add the following to your `app-config.yaml` file.
|
|
13
|
-
|
|
14
|
-
```yaml title="app-config.yaml"
|
|
15
|
-
# Backstage configrations...
|
|
16
|
-
|
|
17
|
-
# eventcatalog plugin configuration
|
|
18
|
-
eventcatalog:
|
|
19
|
-
# URL of your catalog (has to be public, if private please raise and issue and we can fix this)
|
|
20
|
-
URL: "https://demo.eventcatalog.dev"
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Mapping your resources
|
|
24
|
-
|
|
25
|
-
You can use backstage `annotations` to map your resources to EventCatalog resources.
|
|
26
|
-
|
|
27
|
-
```yaml title="example-service.yaml"
|
|
28
|
-
apiVersion: backstage.io/v1alpha1
|
|
29
|
-
kind: Component
|
|
30
|
-
metadata:
|
|
31
|
-
name: example-service
|
|
32
|
-
annotations:
|
|
33
|
-
# The id of the resource in EventCatalog
|
|
34
|
-
eventcatalog.dev/id: "example-service"
|
|
35
|
-
# The version of the resource in EventCatalog (optional, latest is used if not provided)
|
|
36
|
-
eventcatalog.dev/version: "1.0.0"
|
|
37
|
-
# The collection of the resource in EventCatalog (optional, uses the entity kind if not provided)
|
|
38
|
-
eventcatalog.dev/collection: "services"
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
| Annotation | Required | Default | Description |
|
|
42
|
-
|------------|----------|---------|-------------|
|
|
43
|
-
| `eventcatalog.dev/id` | Yes | - | The id of the resource in EventCatalog |
|
|
44
|
-
| `eventcatalog.dev/version` | No | `latest` | The version of the resource in EventCatalog |
|
|
45
|
-
| `eventcatalog.dev/collection` | No | Uses the entity kind | The collection of the resource in EventCatalog. Options include `services`, `domains`, `queries`, `commands`, `events` |
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Looking for more mappings? Let us know! Raise an issue on [GitHub](https://github.com/event-catalog/backstage-plugin-eventcatalog).
|
|
51
|
-
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 1
|
|
3
|
-
keywords:
|
|
4
|
-
- components
|
|
5
|
-
sidebar_label: Examples
|
|
6
|
-
title: Examples
|
|
7
|
-
description: Examples of using the AsyncAPI plugin
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
You can find an example of how to use Backstage and EventCatalog in the [EventCatalog Backstage Demo repository](https://github.com/event-catalog/backstage-eventcatalog-demo).
|
|
11
|
-
|
|
12
|
-
Or you can watch a video tutorial on [how to setup Backstage and EventCatalog](https://www.youtube.com/watch?v=mjf7qwoSAC4).
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"label": "EventCatalog Federation",
|
|
3
|
-
"position": 5,
|
|
4
|
-
"collapsible": true,
|
|
5
|
-
"collapsed": true,
|
|
6
|
-
"link": {
|
|
7
|
-
"type": "generated-index",
|
|
8
|
-
"slug": "/eventcatalog-federation",
|
|
9
|
-
"description": "Merge multiple EventCatalog instances into a single catalog."
|
|
10
|
-
}
|
|
11
|
-
}
|