@eventcatalog/core 4.10.13 → 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-SSSN5FXC.js → chunk-HERAHLM2.js} +1 -1
- package/dist/{chunk-IIECZFXN.js → chunk-LITOQH56.js} +1 -1
- package/dist/{chunk-34RMFKFB.js → chunk-LUW6RDA7.js} +1 -1
- package/dist/{chunk-JHUICVBT.js → chunk-ONDFEA5R.js} +1 -1
- package/dist/{chunk-PADMH2RJ.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/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/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
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
sidebar_label: Diagnostic rules
|
|
4
|
+
title: Federation diagnostic rule reference
|
|
5
|
+
description: Reference for every Federation rule, default level, trigger, output attributes, and resolution.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
+
|
|
10
|
+
<EventCatalogEnterprise />
|
|
11
|
+
|
|
12
|
+
Federation diagnostics use stable rule IDs. Configure each rule as `off`, `warn`, or `error` under `federation.rules`.
|
|
13
|
+
|
|
14
|
+
| Rule | Default | Summary |
|
|
15
|
+
| --- | --- | --- |
|
|
16
|
+
| `federation/duplicate-source` | `error` | A resource has multiple owning catalogs |
|
|
17
|
+
| `federation/type-collision` | `error` | One resource ID is documented with conflicting types |
|
|
18
|
+
| `federation/pointer-type-mismatch` | `error` | A relationship expects the wrong target type |
|
|
19
|
+
| `federation/facet-disagreement` | `error` | Catalogs provide contradictory facets for a resource |
|
|
20
|
+
| `federation/asset-collision` | `warn` | Remote sources publish different files at one asset path |
|
|
21
|
+
| `federation/missing-resource` | `warn` | A relationship points to an ID that is not present |
|
|
22
|
+
| `federation/unresolved-version` | `warn` | The target ID exists, but its requested version does not |
|
|
23
|
+
|
|
24
|
+
## `federation/duplicate-source`
|
|
25
|
+
|
|
26
|
+
**Message:** `Resource has multiple owners`
|
|
27
|
+
|
|
28
|
+
Triggered when the same resource ID and type are owned by more than one catalog. All versions of one resource ID must have the same owner.
|
|
29
|
+
|
|
30
|
+
Attributes:
|
|
31
|
+
|
|
32
|
+
| Attribute | Meaning |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| `resource` | Conflicting resource ID |
|
|
35
|
+
| `catalogs` | Catalogs claiming ownership |
|
|
36
|
+
| `resolution` | Suggested ownership action |
|
|
37
|
+
|
|
38
|
+
Resolution: choose one owning catalog. Remove copied or placeholder resource definitions from consumers.
|
|
39
|
+
|
|
40
|
+
## `federation/type-collision`
|
|
41
|
+
|
|
42
|
+
**Message:** `Resource ID has conflicting types`
|
|
43
|
+
|
|
44
|
+
Triggered when the same resource ID is documented as different EventCatalog resource types, such as an event in one catalog and a command in another.
|
|
45
|
+
|
|
46
|
+
Attributes:
|
|
47
|
+
|
|
48
|
+
| Attribute | Meaning |
|
|
49
|
+
| --- | --- |
|
|
50
|
+
| `resource` | Conflicting resource ID |
|
|
51
|
+
| `<catalog ID>` | Type documented by that catalog |
|
|
52
|
+
|
|
53
|
+
Resolution: correct the resource type or use distinct IDs for different resources.
|
|
54
|
+
|
|
55
|
+
## `federation/pointer-type-mismatch`
|
|
56
|
+
|
|
57
|
+
**Message:** `Reference type does not match resource`
|
|
58
|
+
|
|
59
|
+
Triggered when a relationship pointer expects one target type but the resolved resource has another type.
|
|
60
|
+
|
|
61
|
+
Attributes:
|
|
62
|
+
|
|
63
|
+
| Attribute | Meaning |
|
|
64
|
+
| --- | --- |
|
|
65
|
+
| `resource` | Referenced resource ID |
|
|
66
|
+
| `expected type` | Type required by the relationship |
|
|
67
|
+
| `actual type` | Type documented by the owner |
|
|
68
|
+
| `catalogs` | Catalogs involved in the mismatch |
|
|
69
|
+
|
|
70
|
+
Resolution: correct the pointer or point it to the intended resource ID.
|
|
71
|
+
|
|
72
|
+
## `federation/facet-disagreement`
|
|
73
|
+
|
|
74
|
+
**Message:** `Catalogs disagree about this resource`
|
|
75
|
+
|
|
76
|
+
Represents contradictory contributed facets for a resource, such as incompatible content supplied for the same facet by several catalogs.
|
|
77
|
+
|
|
78
|
+
Attributes:
|
|
79
|
+
|
|
80
|
+
| Attribute | Meaning |
|
|
81
|
+
| --- | --- |
|
|
82
|
+
| `resource` | Resource ID with contradictory facets |
|
|
83
|
+
| `detail` | Available disagreement detail |
|
|
84
|
+
| `catalogs` | Catalogs contributing the conflicting values |
|
|
85
|
+
|
|
86
|
+
Resolution: decide which source is authoritative and align or remove the conflicting contribution.
|
|
87
|
+
|
|
88
|
+
## `federation/asset-collision`
|
|
89
|
+
|
|
90
|
+
**Message:** `Asset collision`
|
|
91
|
+
|
|
92
|
+
Triggered when remote sources publish different content to the same `public/` or `components/` path.
|
|
93
|
+
|
|
94
|
+
Attributes:
|
|
95
|
+
|
|
96
|
+
| Attribute | Meaning |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| `asset` | Conflicting catalog-relative asset path |
|
|
99
|
+
| `sources` | Sources publishing the path |
|
|
100
|
+
| `winner` | Source selected by Federation |
|
|
101
|
+
| `resolution` | Selection rule, currently `last configured source wins` |
|
|
102
|
+
|
|
103
|
+
Resolution: namespace the paths, make the files identical, or deliberately order the sources and keep the warning visible.
|
|
104
|
+
|
|
105
|
+
An existing public asset owned by the central catalog is preserved.
|
|
106
|
+
|
|
107
|
+
## `federation/missing-resource`
|
|
108
|
+
|
|
109
|
+
**Message:** `Referenced EventCatalog resource does not exist`
|
|
110
|
+
|
|
111
|
+
Triggered when a relationship points to a resource ID that is not documented by any participating remote or central catalog.
|
|
112
|
+
|
|
113
|
+
Attributes:
|
|
114
|
+
|
|
115
|
+
| Attribute | Meaning |
|
|
116
|
+
| --- | --- |
|
|
117
|
+
| `source catalog` | Catalog containing the relationship pointer |
|
|
118
|
+
| `referenced by` | Resource containing the pointer |
|
|
119
|
+
| `missing resource` | Missing ID and requested version, when present |
|
|
120
|
+
|
|
121
|
+
Resolution: add the owning catalog, document the resource in its owner, or correct the pointer ID.
|
|
122
|
+
|
|
123
|
+
## `federation/unresolved-version`
|
|
124
|
+
|
|
125
|
+
**Message:** `Referenced EventCatalog resource version does not exist`
|
|
126
|
+
|
|
127
|
+
Triggered when the resource ID exists, but no available version satisfies the pointer.
|
|
128
|
+
|
|
129
|
+
Attributes:
|
|
130
|
+
|
|
131
|
+
| Attribute | Meaning |
|
|
132
|
+
| --- | --- |
|
|
133
|
+
| `source catalog` | Catalog containing the relationship pointer |
|
|
134
|
+
| `referenced by` | Versioned resource containing the pointer |
|
|
135
|
+
| `resource` | Target resource ID |
|
|
136
|
+
| `requested version` | Exact version, range, or authored pointer value |
|
|
137
|
+
| `available versions` | Versions published by the owner |
|
|
138
|
+
|
|
139
|
+
Resolution: change the pointer to an available version or publish a matching version in the owning catalog.
|
|
140
|
+
|
|
141
|
+
## Configure levels
|
|
142
|
+
|
|
143
|
+
```js title="eventcatalog.config.js"
|
|
144
|
+
export default {
|
|
145
|
+
federation: {
|
|
146
|
+
rules: {
|
|
147
|
+
'federation/missing-resource': 'error',
|
|
148
|
+
'federation/unresolved-version': 'error',
|
|
149
|
+
'federation/asset-collision': 'off',
|
|
150
|
+
},
|
|
151
|
+
sources: [/* ... */],
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Changing structural rules from `error` can allow ambiguous ownership or types into the generated view. See [Configure validation rules](/docs/federation/how-to/configure-validation-rules).
|
|
157
|
+
|
|
158
|
+
## Operational errors without rule IDs
|
|
159
|
+
|
|
160
|
+
Some failures stop Federation directly and do not have configurable `federation/*` rule IDs. These include:
|
|
161
|
+
|
|
162
|
+
- Missing or invalid license access
|
|
163
|
+
- Duplicate configured source IDs
|
|
164
|
+
- Unsupported source locators
|
|
165
|
+
- GitHub authentication or network failures
|
|
166
|
+
- Missing filesystem source directories
|
|
167
|
+
- Unsafe source, catalog, or artifact paths
|
|
168
|
+
- Invalid published indexes
|
|
169
|
+
- Content hash mismatches
|
|
170
|
+
- Unreadable lockfiles
|
|
171
|
+
- Filesystem write or rollback failures
|
|
172
|
+
|
|
173
|
+
See [Troubleshooting Federation](/docs/federation/reference/troubleshooting).
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 5
|
|
3
|
+
sidebar_label: Generated output
|
|
4
|
+
title: Federation generated output reference
|
|
5
|
+
description: Reference for federated resources, shared components, public assets, the lockfile, and content cache.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
+
|
|
10
|
+
<EventCatalogEnterprise />
|
|
11
|
+
|
|
12
|
+
A successful Federation run can create or update four locations in the central catalog:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
central-catalog/
|
|
16
|
+
├── federated/
|
|
17
|
+
├── public/
|
|
18
|
+
├── .eventcatalog-cache/
|
|
19
|
+
└── eventcatalog.lock
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## `federated/`
|
|
23
|
+
|
|
24
|
+
Federated resource files are grouped by stable source identity:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
federated/
|
|
28
|
+
├── acme-payments--0cfe83f789ab/
|
|
29
|
+
│ ├── domains/
|
|
30
|
+
│ ├── services/
|
|
31
|
+
│ ├── events/
|
|
32
|
+
│ ├── teams/
|
|
33
|
+
│ └── users/
|
|
34
|
+
├── acme-orders--7575b99c8b32/
|
|
35
|
+
│ ├── domains/
|
|
36
|
+
│ ├── services/
|
|
37
|
+
│ └── events/
|
|
38
|
+
└── components/
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The directory name contains:
|
|
42
|
+
|
|
43
|
+
- A filesystem-safe form of the source `id`
|
|
44
|
+
- A short hash of the complete source `id`
|
|
45
|
+
|
|
46
|
+
The hash prevents different IDs that produce the same safe text from sharing a directory.
|
|
47
|
+
|
|
48
|
+
Resource-relative files remain with their resource, including:
|
|
49
|
+
|
|
50
|
+
- Schemas
|
|
51
|
+
- OpenAPI, AsyncAPI, and GraphQL specifications
|
|
52
|
+
- Sidecar documentation and files
|
|
53
|
+
- Diagrams and other resource-local content
|
|
54
|
+
|
|
55
|
+
Do not edit `federated/`. It is replaced by the next successful run.
|
|
56
|
+
|
|
57
|
+
## `federated/components/`
|
|
58
|
+
|
|
59
|
+
Top-level custom components from remote catalogs are materialized into the shared `federated/components/` directory.
|
|
60
|
+
|
|
61
|
+
When EventCatalog prepares the application, federated components form the base layer and the central catalog's local `components/` directory is applied afterward. A local component at the same relative path overrides the federated component.
|
|
62
|
+
|
|
63
|
+
Top-level reusable `snippets/` are not federated in the current release.
|
|
64
|
+
|
|
65
|
+
## `public/`
|
|
66
|
+
|
|
67
|
+
Remote `public/` assets are first hydrated, then composed into the central catalog's `public/` directory.
|
|
68
|
+
|
|
69
|
+
Selection rules:
|
|
70
|
+
|
|
71
|
+
1. When several remote sources publish different content at one path, the last configured source wins and `federation/asset-collision` is reported.
|
|
72
|
+
2. When the central catalog already owns the path, the central file is preserved.
|
|
73
|
+
3. When a previously managed remote file was changed manually, Federation preserves it instead of treating it as managed output.
|
|
74
|
+
4. When a managed remote file disappears from all sources, a later successful run removes it.
|
|
75
|
+
|
|
76
|
+
Managed public-file hashes and source IDs are stored in `eventcatalog.lock`.
|
|
77
|
+
|
|
78
|
+
## `eventcatalog.lock`
|
|
79
|
+
|
|
80
|
+
The lockfile records:
|
|
81
|
+
|
|
82
|
+
- `lockVersion`
|
|
83
|
+
- Source IDs
|
|
84
|
+
- Source commits or local content revisions
|
|
85
|
+
- Source index digests
|
|
86
|
+
- Resolution times
|
|
87
|
+
- Managed public files
|
|
88
|
+
|
|
89
|
+
It is written after a successful output update. It records what the run used but does not control the next run.
|
|
90
|
+
|
|
91
|
+
See [Federation lockfile and content cache](/docs/federation/explanation/lockfile-and-cache).
|
|
92
|
+
|
|
93
|
+
## `.eventcatalog-cache/`
|
|
94
|
+
|
|
95
|
+
Federation content is cached under:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
.eventcatalog-cache/federation/content/
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Entries use SHA-256 content keys and are verified before reuse. The cache is disposable and should normally be ignored by Git.
|
|
102
|
+
|
|
103
|
+
The current release does not automatically remove content that is no longer referenced, so the cache can grow over time.
|
|
104
|
+
|
|
105
|
+
## Cleanup when sources change
|
|
106
|
+
|
|
107
|
+
On a successful run:
|
|
108
|
+
|
|
109
|
+
- Resources no longer present in an index disappear from `federated/`
|
|
110
|
+
- Removed sources disappear from `federated/`
|
|
111
|
+
- Stale managed public files are removed
|
|
112
|
+
- New source content replaces the previous generated content
|
|
113
|
+
|
|
114
|
+
When `federation.sources` becomes empty, the command removes previous Federation output, managed public files, and the lockfile.
|
|
115
|
+
|
|
116
|
+
## Failed output updates
|
|
117
|
+
|
|
118
|
+
Federation stages new output and snapshots affected public files. If a normal output update fails, it attempts to restore the previous generated resources and public assets. The previous lockfile remains associated with the previous successful view.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 4
|
|
3
|
+
sidebar_label: Supported content
|
|
4
|
+
title: Federation supported content
|
|
5
|
+
description: Reference for resources, files, assets, and catalog-level content included by Federation.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
+
|
|
10
|
+
<EventCatalogEnterprise />
|
|
11
|
+
|
|
12
|
+
Federation indexes and materializes normal EventCatalog resource content from every configured source.
|
|
13
|
+
|
|
14
|
+
## Supported resources
|
|
15
|
+
|
|
16
|
+
The current release supports:
|
|
17
|
+
|
|
18
|
+
- Architecture decision records (ADRs)
|
|
19
|
+
- Agents
|
|
20
|
+
- Channels
|
|
21
|
+
- Commands
|
|
22
|
+
- Data products
|
|
23
|
+
- Data stores (`container` resources)
|
|
24
|
+
- Diagrams
|
|
25
|
+
- Domains and subdomains
|
|
26
|
+
- Entities
|
|
27
|
+
- Events
|
|
28
|
+
- Flows
|
|
29
|
+
- Queries
|
|
30
|
+
- Services
|
|
31
|
+
- Systems
|
|
32
|
+
- Teams
|
|
33
|
+
- Users
|
|
34
|
+
|
|
35
|
+
Resource versions remain with their owner and are included in cross-catalog version resolution.
|
|
36
|
+
|
|
37
|
+
## Resource files
|
|
38
|
+
|
|
39
|
+
Federation includes files associated with supported resources:
|
|
40
|
+
|
|
41
|
+
- Markdown and MDX resource documentation
|
|
42
|
+
- Schemas attached to events, commands, and queries
|
|
43
|
+
- OpenAPI, AsyncAPI, and GraphQL specifications
|
|
44
|
+
- Resource-local sidecar documentation
|
|
45
|
+
- Resource-local images, diagrams, examples, and other files
|
|
46
|
+
- Changelog and version documentation stored with the resource
|
|
47
|
+
|
|
48
|
+
Paths and content hashes from the source index are used to fetch and verify these files.
|
|
49
|
+
|
|
50
|
+
## Teams and users
|
|
51
|
+
|
|
52
|
+
Top-level teams and users are included. Give shared people and teams one owning catalog to avoid organization-wide duplicate ownership.
|
|
53
|
+
|
|
54
|
+
## Public assets
|
|
55
|
+
|
|
56
|
+
Files under a source catalog's top-level `public/` directory are included and composed into the central `public/` directory.
|
|
57
|
+
|
|
58
|
+
Remote collisions use last-configured-source-wins and report `federation/asset-collision`. Existing central public files are preserved.
|
|
59
|
+
|
|
60
|
+
See [Share public assets and custom components](/docs/federation/how-to/share-assets-and-components).
|
|
61
|
+
|
|
62
|
+
## Custom components
|
|
63
|
+
|
|
64
|
+
Files under a source catalog's top-level `components/` directory are included in the federated component layer.
|
|
65
|
+
|
|
66
|
+
Central components override federated components at the same relative path. Any npm packages imported by a federated component must be installed in the central catalog.
|
|
67
|
+
|
|
68
|
+
## Content not included
|
|
69
|
+
|
|
70
|
+
The current release does not federate:
|
|
71
|
+
|
|
72
|
+
- Top-level reusable `snippets/`
|
|
73
|
+
- Custom pages and API routes
|
|
74
|
+
- `eventcatalog.config.js` settings from source catalogs
|
|
75
|
+
- Source catalog themes, navigation, or global styles
|
|
76
|
+
- Source `package.json` dependencies
|
|
77
|
+
- `node_modules/`, build output, or cache directories
|
|
78
|
+
- Content already under a source catalog's generated `federated/` directory
|
|
79
|
+
|
|
80
|
+
The central catalog owns its application configuration, navigation, theme, custom pages, global dependencies, and build process.
|
|
81
|
+
|
|
82
|
+
## Why generated Federation content is excluded
|
|
83
|
+
|
|
84
|
+
When a source catalog is itself a central view, its generated `federated/` directory is excluded from indexing. This prevents generated paths from being nested repeatedly and avoids treating copied output as newly authored ownership.
|
|
85
|
+
|
|
86
|
+
Only content owned by the selected source catalog is indexed for the next composition level.
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 6
|
|
3
|
+
sidebar_label: Troubleshooting
|
|
4
|
+
title: Troubleshooting EventCatalog Federation
|
|
5
|
+
description: Fix common source, ownership, relationship, asset, cache, and generated-output problems.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import EventCatalogEnterprise from '@site/src/components/MDX/EventCatalogEnterprise';
|
|
9
|
+
|
|
10
|
+
<EventCatalogEnterprise />
|
|
11
|
+
|
|
12
|
+
Run with verbose diagnostics before investigating a warning:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx eventcatalog federate --verbose
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Errors always include details. Verbose mode adds the attributes for warnings.
|
|
19
|
+
|
|
20
|
+
## Federation is not enabled
|
|
21
|
+
|
|
22
|
+
If the command reports that Federation is an Enterprise feature:
|
|
23
|
+
|
|
24
|
+
- Confirm the Enterprise `license.jwt` file is in the central catalog root
|
|
25
|
+
- If the file is stored elsewhere, confirm `EC_LICENSE` points to it
|
|
26
|
+
- Confirm the license has not expired
|
|
27
|
+
- Email [hello@eventcatalog.dev](mailto:hello@eventcatalog.dev?subject=EventCatalog%20Federation%20Trial) to request or replace an offline trial key
|
|
28
|
+
- Review [offline license validation](/docs/development/license-keys/license-validation#offline-validation)
|
|
29
|
+
|
|
30
|
+
## No sources are configured
|
|
31
|
+
|
|
32
|
+
Add at least one entry to `federation.sources`:
|
|
33
|
+
|
|
34
|
+
```js title="eventcatalog.config.js"
|
|
35
|
+
export default {
|
|
36
|
+
federation: {
|
|
37
|
+
sources: [
|
|
38
|
+
{
|
|
39
|
+
id: 'acme/payments',
|
|
40
|
+
source: 'github:acme/payments-catalog',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If previous Federation output exists, an empty source list intentionally removes it and its managed public files.
|
|
48
|
+
|
|
49
|
+
## A source ID is configured more than once
|
|
50
|
+
|
|
51
|
+
Every source entry needs a unique stable `id`. Change or remove the duplicate configuration entry.
|
|
52
|
+
|
|
53
|
+
This configuration error is different from `federation/duplicate-source`, which means several catalogs own the same resource ID.
|
|
54
|
+
|
|
55
|
+
## GitHub source errors
|
|
56
|
+
|
|
57
|
+
### Unsupported GitHub locator
|
|
58
|
+
|
|
59
|
+
Use:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
github:owner/repository
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Do not use a full `https://github.com/...` URL.
|
|
66
|
+
|
|
67
|
+
### Repository cannot be fetched
|
|
68
|
+
|
|
69
|
+
Check:
|
|
70
|
+
|
|
71
|
+
- The owner and repository name
|
|
72
|
+
- The configured `ref`
|
|
73
|
+
- Network access to GitHub
|
|
74
|
+
- Git is installed when the source does not publish an index
|
|
75
|
+
- `EVENTCATALOG_GITHUB_TOKEN` or `GITHUB_TOKEN` has repository contents read access
|
|
76
|
+
|
|
77
|
+
### Published index source does not match
|
|
78
|
+
|
|
79
|
+
The `source` value inside `catalog.index.json` must equal the configured source `id`.
|
|
80
|
+
|
|
81
|
+
Either correct the published index or configure the matching stable ID.
|
|
82
|
+
|
|
83
|
+
### Catalog path escapes the source
|
|
84
|
+
|
|
85
|
+
`path` must be a safe relative path inside the selected repository. Remove absolute paths, `..` segments, or backslashes.
|
|
86
|
+
|
|
87
|
+
## Filesystem source errors
|
|
88
|
+
|
|
89
|
+
### Source does not exist
|
|
90
|
+
|
|
91
|
+
`file:` paths are resolved from the central catalog directory, not from the terminal's parent directory.
|
|
92
|
+
|
|
93
|
+
For sibling catalogs:
|
|
94
|
+
|
|
95
|
+
```js
|
|
96
|
+
{
|
|
97
|
+
id: 'acme/payments',
|
|
98
|
+
source: 'file:../payments-catalog',
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Confirm that the resolved directory exists and contains an EventCatalog project.
|
|
103
|
+
|
|
104
|
+
### Filesystem source does not support `ref`
|
|
105
|
+
|
|
106
|
+
Remove `ref` from the source. Filesystem sources always read the current local files.
|
|
107
|
+
|
|
108
|
+
### Source or artifact escapes its allowed directory
|
|
109
|
+
|
|
110
|
+
Federation rejects paths and symbolic links that resolve outside the selected filesystem source. Keep the catalog and its referenced files within the source root.
|
|
111
|
+
|
|
112
|
+
## Ownership and type errors
|
|
113
|
+
|
|
114
|
+
### `federation/duplicate-source`
|
|
115
|
+
|
|
116
|
+
Several catalogs own the same resource ID. Choose one owner and remove copied or placeholder definitions from the other catalogs.
|
|
117
|
+
|
|
118
|
+
### `federation/type-collision`
|
|
119
|
+
|
|
120
|
+
The same ID is documented with different resource types. Correct the type or assign distinct IDs.
|
|
121
|
+
|
|
122
|
+
### `federation/pointer-type-mismatch`
|
|
123
|
+
|
|
124
|
+
A relationship expects one type but resolves to another. Correct the relationship pointer or its target ID.
|
|
125
|
+
|
|
126
|
+
Use the [diagnostic rule reference](/docs/federation/reference/diagnostic-rules) to interpret the printed attributes.
|
|
127
|
+
|
|
128
|
+
## Relationship warnings
|
|
129
|
+
|
|
130
|
+
### Referenced resource does not exist
|
|
131
|
+
|
|
132
|
+
For `federation/missing-resource`:
|
|
133
|
+
|
|
134
|
+
- Check the referenced ID for a typo
|
|
135
|
+
- Add the owning catalog to `federation.sources`
|
|
136
|
+
- Confirm the owner documents the resource
|
|
137
|
+
- Keep the warning if the external reference is deliberate
|
|
138
|
+
|
|
139
|
+
### Referenced resource version does not exist
|
|
140
|
+
|
|
141
|
+
For `federation/unresolved-version`:
|
|
142
|
+
|
|
143
|
+
- Compare `requested version` with `available versions`
|
|
144
|
+
- Correct the exact version or semantic range
|
|
145
|
+
- Publish the required version in the owning catalog
|
|
146
|
+
|
|
147
|
+
## Public assets or components are not correct
|
|
148
|
+
|
|
149
|
+
For `federation/asset-collision`, run with `--verbose` to see the source order and winner.
|
|
150
|
+
|
|
151
|
+
Then:
|
|
152
|
+
|
|
153
|
+
- Namespace remote asset paths by team or domain
|
|
154
|
+
- Make intentionally shared files identical
|
|
155
|
+
- Reorder sources only when last-source-wins is deliberate
|
|
156
|
+
- Check whether the central catalog owns the public path
|
|
157
|
+
- Check whether a local component overrides the federated component
|
|
158
|
+
|
|
159
|
+
If a custom component imports an npm package, install that dependency in the central catalog.
|
|
160
|
+
|
|
161
|
+
Top-level source `snippets/` are not currently federated. Move required content into the page, provide it centrally, or avoid the remote snippet import.
|
|
162
|
+
|
|
163
|
+
## Content hash mismatch
|
|
164
|
+
|
|
165
|
+
Federation fetched bytes that did not match the hash recorded by the source index.
|
|
166
|
+
|
|
167
|
+
Rerun the command first. If the error remains:
|
|
168
|
+
|
|
169
|
+
- Regenerate or remove a stale published `catalog.index.json`
|
|
170
|
+
- Confirm the source content still exists at the indexed commit
|
|
171
|
+
- Check whether content was changed without updating the index
|
|
172
|
+
|
|
173
|
+
Federation does not install content that fails integrity validation.
|
|
174
|
+
|
|
175
|
+
## The lockfile cannot be read
|
|
176
|
+
|
|
177
|
+
Check that `eventcatalog.lock` contains valid JSON and was not partially edited.
|
|
178
|
+
|
|
179
|
+
If you do not need its audit or managed public-file state, move the malformed file aside and rerun Federation. Review public assets carefully because the new run will not know which existing files were managed by the unreadable lockfile.
|
|
180
|
+
|
|
181
|
+
## Federated content looks stale
|
|
182
|
+
|
|
183
|
+
Run Federation again before starting or building EventCatalog:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
npx eventcatalog federate
|
|
187
|
+
npm run dev
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
For a local source, remember there is no watcher integration yet.
|
|
191
|
+
|
|
192
|
+
Use `--no-cache` when investigating cache behavior:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
npx eventcatalog federate --no-cache
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The cache is content-addressed and verified, so changing source content normally produces a different cache key without this option.
|
|
199
|
+
|
|
200
|
+
## A failed run left the previous content visible
|
|
201
|
+
|
|
202
|
+
This is expected. Federation preserves or restores the previous successful output when validation or a normal output update fails.
|
|
203
|
+
|
|
204
|
+
Fix the reported problem and rerun the command. New output and a new lockfile are installed only after Federation succeeds.
|
|
205
|
+
|
|
206
|
+
## Get help
|
|
207
|
+
|
|
208
|
+
Share the command output, relevant source configuration with secrets removed, and the expected ownership model in the [EventCatalog Discord](https://eventcatalog.dev/discord) or [open an issue](https://github.com/event-catalog/eventcatalog/issues).
|
|
@@ -29,11 +29,11 @@ These plugins are maintained by the EventCatalog team and are updated regularly,
|
|
|
29
29
|
- [OpenAPI Plugin](/docs/plugins/openapi/intro) - Generate documentation from your OpenAPI files
|
|
30
30
|
- [GraphQL Plugin](/docs/plugins/graphql/intro) - Generate documentation from your GraphQL files
|
|
31
31
|
- [Github Plugin](/docs/plugins/github/intro) - Sync your schemas from GitHub to EventCatalog
|
|
32
|
-
- [Backstage Plugin](/docs/plugins/backstage/
|
|
32
|
+
- [Backstage Plugin](/docs/plugins/backstage/overview) - Embed EventCatalog documentation and visualizations in Backstage
|
|
33
33
|
- [Amazon EventBridge](/docs/plugins/eventbridge/intro) - Sync Amazon EventBridge schemas to EventCatalog
|
|
34
34
|
- [Amazon API Gateway](/docs/plugins/amazon-apigateway/intro) - Generate documentation from your Amazon API Gateway
|
|
35
35
|
- [Confluent Schema Registry](/docs/plugins/confluent-schema-registry/intro) - Sync your schemas from Confluent Schema Registry to EventCatalog
|
|
36
|
-
- [EventCatalog Federation](/docs/
|
|
36
|
+
- [EventCatalog Federation](/docs/federation/overview) - Merge multiple EventCatalog instances into a single catalog.
|
|
37
37
|
|
|
38
38
|
#### Community plugins
|
|
39
39
|
|
|
@@ -46,4 +46,4 @@ EventCatalog can integrate with anything that has an API.
|
|
|
46
46
|
|
|
47
47
|
We offer support and services to build custom integrations for your EventCatalog.
|
|
48
48
|
|
|
49
|
-
If you would like to explore custom integrations and have us build your integrate for you please contact us at `hello@eventcatalog.dev`.
|
|
49
|
+
If you would like to explore custom integrations and have us build your integrate for you please contact us at `hello@eventcatalog.dev`.
|
|
@@ -19,8 +19,8 @@ Automate and sync your data from a wide range of systems to EventCatalog.
|
|
|
19
19
|
| [Apicurio Registry](/docs/plugins/apicurio/intro) | Import schemas and specifications from Apicurio Registry into EventCatalog |
|
|
20
20
|
| [Azure Schema Registry](/docs/plugins/azure-schema-registry/intro) | Import schemas from Azure Schema Registry into EventCatalog |
|
|
21
21
|
| [Github Plugin](/docs/plugins/github/intro) | Sync your schemas from GitHub to EventCatalog |
|
|
22
|
-
| [Backstage Plugin](/docs/plugins/backstage/
|
|
22
|
+
| [Backstage Plugin](/docs/plugins/backstage/overview) | Embed EventCatalog documentation and visualizations in Backstage |
|
|
23
23
|
| [Amazon EventBridge](/docs/plugins/eventbridge/intro) | Sync Amazon EventBridge schemas to EventCatalog |
|
|
24
24
|
| [Amazon API Gateway](/docs/plugins/amazon-apigateway/intro) | Generate documentation from your Amazon API Gateway |
|
|
25
25
|
| [Confluent Schema Registry](/docs/plugins/confluent-schema-registry/intro) | Sync your schemas from Confluent Schema Registry to EventCatalog |
|
|
26
|
-
| [EventCatalog Federation](/docs/
|
|
26
|
+
| [EventCatalog Federation](/docs/federation/overview) | Merge multiple EventCatalog instances into a single catalog. |
|
|
@@ -38,10 +38,10 @@ The EventCatalog AsyncAPI plugin can provide you with many features:
|
|
|
38
38
|
- ⭐️ Generate domains, services and messages into your catalog from your AsyncAPI specification files
|
|
39
39
|
- ⭐️ [Automate your EventCatalog and fetch AsyncAPI files by URL](/docs/plugins/asyncapi/features#fetch-asyncapi-files-by-url)
|
|
40
40
|
- ⭐️ [Map commands, queries and events from your OpenAPI file using custom extensions](/docs/plugins/asyncapi/features#mapping-messages-events-commands-or-queries)
|
|
41
|
-
- ⭐️ [Automatically version your changes in EventCatalog in sync with your AsyncAPI versions](#automatic-versioning)
|
|
42
|
-
- ⭐️ [Allow you to write and persist custom markdown between changes](#persist-markdown)
|
|
43
|
-
- ⭐️ [Display your message schemas in the catalog](#downloading-schemas)
|
|
44
|
-
- ⭐️ [Fetch AsyncAPI files from any URL](#fetch-asyncapi-files-by-url)
|
|
41
|
+
- ⭐️ [Automatically version your changes in EventCatalog in sync with your AsyncAPI versions](/docs/plugins/asyncapi/features#automatic-versioning)
|
|
42
|
+
- ⭐️ [Allow you to write and persist custom markdown between changes](/docs/plugins/asyncapi/features#persist-markdown)
|
|
43
|
+
- ⭐️ [Display your message schemas in the catalog](/docs/plugins/asyncapi/features#downloading-schemas)
|
|
44
|
+
- ⭐️ [Fetch AsyncAPI files from any URL](/docs/plugins/asyncapi/features#fetch-asyncapi-files-by-url)
|
|
45
45
|
- ⭐️ Ability to download your message schemas and AsyncAPI files (also versioned)
|
|
46
46
|
- ⭐️ Ability to draft services and endpoints in EventCatalog from your AsyncAPI files
|
|
47
47
|
- ⭐️ and more....
|
|
@@ -53,13 +53,13 @@ Each service in the `services` array requires the following properties:
|
|
|
53
53
|
| `domain.generateMarkdown` | function | - | Function to override the default markdown generation for the domain. See [Markdown templates](#markdown-templates) for more information. |
|
|
54
54
|
| `messages.generateMarkdown` | function | - | Function to override the default markdown generation for the message. See [Markdown templates](#markdown-templates) for more information. |
|
|
55
55
|
| `messages.id` | object | - | Configure the id of the messages that are generated (for example, set a prefix to all messages that are generated) _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/features#adding-prefix-to-all-messages) |
|
|
56
|
-
| `messages.id.prefix` | string | - | A prefix value for the message that is generated. For example a message with the id `orderPlaced` with a configured prefix of `hello-` will be `hello-orderPlaced`. _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/
|
|
57
|
-
| `messages.id.separator` | string | `-` | The separator to use between the prefix and the message id. _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/
|
|
58
|
-
| `messages.id.prefixWithServiceId` | boolean | | If true, the service id will be added to the id of the messages that are generated. For example a message with the id `orderPlaced` and the service id `orders-service` will be `orders-service-orderPlaced`. _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/
|
|
56
|
+
| `messages.id.prefix` | string | - | A prefix value for the message that is generated. For example a message with the id `orderPlaced` with a configured prefix of `hello-` will be `hello-orderPlaced`. _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/features#adding-prefix-to-all-messages) |
|
|
57
|
+
| `messages.id.separator` | string | `-` | The separator to use between the prefix and the message id. _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/features#adding-prefix-to-all-messages) |
|
|
58
|
+
| `messages.id.prefixWithServiceId` | boolean | | If true, the service id will be added to the id of the messages that are generated. For example a message with the id `orderPlaced` and the service id `orders-service` will be `orders-service-orderPlaced`. _(Added in v4.5.1)_ [(Read more)](/docs/plugins/asyncapi/features#adding-prefix-to-all-messages) |
|
|
59
59
|
| `messages.id.lowerCase` | boolean | false | If true, the message id will be stored in lowercase and the folder will also be lowercased. (e.g `/events/orderplaced/index.mdx) _(Added in v5.0.0)_ |
|
|
60
60
|
| `preserveExistingMessages` | boolean | `true` | Preserve existing message Markdown when the generator runs again. Set to `false` to replace existing Markdown with content generated from the AsyncAPI specification and `messages.generateMarkdown` template. Referenced and external messages are never overwritten. |
|
|
61
61
|
| `saveParsedSpecFile` | boolean | `false` | Parse and save expanded AsyncAPI spec (helpful for files with $refs) |
|
|
62
|
-
| `parseSchemas` | boolean | `true` | If you choose to parse your specification file using the [saveParsedSpecFile](#
|
|
62
|
+
| `parseSchemas` | boolean | `true` | If you choose to parse your specification file using the [saveParsedSpecFile](#optional-configuration-options) field, you can also opt in or out to have your ,message schemas parsed using the `parseSchemas` field. By default message schemas are parsed, if you want to keep your original schemas you have to set `parseSchemas` to false. | | `parseChannels` | boolean | `false` | Parse and save channels. If you set to true the AsyncAPI channels will also be documented in the catalog. |
|
|
63
63
|
| `parseChannels` | boolean | `false` | When setting the value to true the generator will parse and write channels to your EventCatalog. |
|
|
64
64
|
| `writeFilesToRoot` | boolean | `false` | Write AsyncAPI messages to root instead of service folder. By default all domains, services and messages will be grouped in the folder directory structure. |
|
|
65
65
|
| `saveParsedSpecFile` | boolean | `true` | By default your AsyncAPI file will render in your catalog as you define it. If you are using $refs, or having issues seeing your AsyncAPI file in your catalog, then you can set this value to true. `saveParsedSpecFile` is false by default. |
|