@eventcatalog/core 3.39.5 → 3.40.0
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-KVAEAYEP.js → chunk-72BKUYSR.js} +1 -1
- package/dist/{chunk-M4S7PORQ.js → chunk-J5CG7FRO.js} +1 -1
- package/dist/{chunk-S4HLJWQ7.js → chunk-K762FILQ.js} +1 -1
- package/dist/{chunk-TNE5QSJ4.js → chunk-UPI6QQEZ.js} +1 -1
- package/dist/{chunk-H5BZMNK3.js → chunk-WFNAWDCB.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/03-domain-api.md +16 -0
- package/dist/docs/api/04-service-api.md +16 -0
- package/dist/docs/api/05-command-api.md +16 -0
- package/dist/docs/api/06-event-api.md +16 -0
- package/dist/docs/api/06-query-api.md +16 -0
- package/dist/docs/api/08-channel-api.md +16 -0
- package/dist/docs/api/09-flow-api.md +16 -0
- package/dist/docs/api/10-entity-api.md +15 -0
- package/dist/docs/api/12-data-product-api.md +17 -0
- package/dist/docs/development/01-fundamentals.md +7 -0
- package/dist/docs/development/01-getting-started/installation.md +8 -0
- package/dist/docs/development/01-getting-started/project-structure.md +2 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +72 -0
- package/dist/docs/development/bring-your-own-documentation/01-introduction.md +3 -1
- package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -5
- package/dist/docs/editor/00-overview.md +73 -0
- package/dist/docs/editor/01-first-edit.md +124 -0
- package/dist/docs/editor/_category_.json +12 -0
- package/dist/docs/editor/explanation/_category_.json +11 -0
- package/dist/docs/editor/explanation/beta-status-feedback.md +48 -0
- package/dist/docs/editor/explanation/how-it-works.md +49 -0
- package/dist/docs/editor/explanation/markdown-mdx-git.md +58 -0
- package/dist/docs/editor/how-to/_category_.json +11 -0
- package/dist/docs/editor/how-to/add-schemas-and-specifications.md +66 -0
- package/dist/docs/editor/how-to/edit-resource.md +88 -0
- package/dist/docs/editor/how-to/invite-editors.md +68 -0
- package/dist/docs/editor/how-to/open-catalog.md +44 -0
- package/dist/docs/editor/how-to/preview-changes.md +55 -0
- package/dist/docs/editor/how-to/revert-local-changes.md +43 -0
- package/dist/docs/editor/how-to/review-and-commit-changes.md +57 -0
- package/dist/docs/editor/how-to/run-locally.md +71 -0
- package/dist/docs/editor/how-to/use-flow-editor.md +66 -0
- package/dist/docs/editor/how-to/use-slash-commands.md +67 -0
- package/dist/docs/editor/reference/_category_.json +11 -0
- package/dist/docs/editor/reference/cli.md +61 -0
- package/dist/docs/editor/reference/supported-content.md +81 -0
- package/dist/docs/editor/reference/supported-resources.md +51 -0
- package/dist/docs/editor/reference/troubleshooting.md +76 -0
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.config.d.cts +42 -0
- package/dist/eventcatalog.config.d.ts +42 -0
- 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/Badge.astro +50 -0
- package/eventcatalog/src/components/Tables/Discover/DiscoverTable.tsx +1 -0
- package/eventcatalog/src/components/Tables/Discover/columns.tsx +35 -13
- package/eventcatalog/src/components/Tables/Table.tsx +1 -0
- package/eventcatalog/src/components/Tables/columns/SharedColumns.tsx +24 -11
- package/eventcatalog/src/content.config-shared-collections.ts +1 -0
- package/eventcatalog/src/enterprise/auth/middleware/middleware-auth.ts +6 -1
- package/eventcatalog/src/enterprise/custom-documentation/pages/docs/custom/index.astro +2 -18
- package/eventcatalog/src/enterprise/feature.ts +2 -0
- package/eventcatalog/src/enterprise/integrations/eventcatalog-features.ts +12 -0
- package/eventcatalog/src/enterprise/mcp/mcp-auth.ts +266 -0
- package/eventcatalog/src/enterprise/mcp/mcp-server.ts +13 -0
- package/eventcatalog/src/enterprise/mcp/oauth-protected-resource.ts +25 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/[docVersion]/index.astro +2 -14
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/[docType]/[docId]/index.astro +2 -14
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/changelog/index.astro +3 -15
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/graphql/[filename].astro +2 -18
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +2 -18
- package/eventcatalog/src/pages/docs/[type]/[id]/language/[dictionaryId]/index.astro +2 -11
- package/eventcatalog/src/utils/badge-styles.ts +31 -0
- package/eventcatalog/src/utils/feature.ts +1 -0
- package/package.json +4 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-72BKUYSR.js";
|
|
4
|
+
import "../chunk-WFNAWDCB.js";
|
|
5
5
|
import "../chunk-4UVFXLPI.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-UPI6QQEZ.js";
|
|
7
7
|
import "../chunk-5T63CXKU.js";
|
|
8
8
|
export {
|
|
9
9
|
log_build_default as default
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
|
@@ -283,6 +283,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
283
283
|
---
|
|
284
284
|
```
|
|
285
285
|
|
|
286
|
+
#### Link to external URLs
|
|
287
|
+
|
|
288
|
+
<AddedIn version="3.39.6" />
|
|
289
|
+
|
|
290
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
291
|
+
|
|
292
|
+
```md title="Link badge example"
|
|
293
|
+
---
|
|
294
|
+
badges:
|
|
295
|
+
- content: View Runbook
|
|
296
|
+
url: https://runbooks.example.com/my-domain
|
|
297
|
+
backgroundColor: blue
|
|
298
|
+
textColor: white
|
|
299
|
+
---
|
|
300
|
+
```
|
|
301
|
+
|
|
286
302
|
### `specifications` {#specifications}
|
|
287
303
|
|
|
288
304
|
<AddedIn version="2.6.0" />
|
|
@@ -263,6 +263,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
263
263
|
---
|
|
264
264
|
```
|
|
265
265
|
|
|
266
|
+
#### Link to external URLs
|
|
267
|
+
|
|
268
|
+
<AddedIn version="3.39.6" />
|
|
269
|
+
|
|
270
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
271
|
+
|
|
272
|
+
```md title="Link badge example"
|
|
273
|
+
---
|
|
274
|
+
badges:
|
|
275
|
+
- content: View Runbook
|
|
276
|
+
url: https://runbooks.example.com/my-service
|
|
277
|
+
backgroundColor: blue
|
|
278
|
+
textColor: white
|
|
279
|
+
---
|
|
280
|
+
```
|
|
281
|
+
|
|
266
282
|
### `specifications` {#specifications}
|
|
267
283
|
|
|
268
284
|
<AddedIn version="2.39.1" />
|
|
@@ -186,6 +186,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
186
186
|
---
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
+
#### Link to external URLs
|
|
190
|
+
|
|
191
|
+
<AddedIn version="3.39.6" />
|
|
192
|
+
|
|
193
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
194
|
+
|
|
195
|
+
```md title="Link badge example"
|
|
196
|
+
---
|
|
197
|
+
badges:
|
|
198
|
+
- content: View Runbook
|
|
199
|
+
url: https://runbooks.example.com/my-command
|
|
200
|
+
backgroundColor: blue
|
|
201
|
+
textColor: white
|
|
202
|
+
---
|
|
203
|
+
```
|
|
204
|
+
|
|
189
205
|
### `schemaPath` {#schemaPath}
|
|
190
206
|
|
|
191
207
|
Path to the schema of the message.
|
|
@@ -185,6 +185,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
185
185
|
---
|
|
186
186
|
```
|
|
187
187
|
|
|
188
|
+
#### Link to external URLs
|
|
189
|
+
|
|
190
|
+
<AddedIn version="3.39.6" />
|
|
191
|
+
|
|
192
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
193
|
+
|
|
194
|
+
```md title="Link badge example"
|
|
195
|
+
---
|
|
196
|
+
badges:
|
|
197
|
+
- content: View Runbook
|
|
198
|
+
url: https://runbooks.example.com/my-event
|
|
199
|
+
backgroundColor: blue
|
|
200
|
+
textColor: white
|
|
201
|
+
---
|
|
202
|
+
```
|
|
203
|
+
|
|
188
204
|
### `schemaPath` {#schemaPath}
|
|
189
205
|
|
|
190
206
|
Path to the schema of the message.
|
|
@@ -183,6 +183,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
183
183
|
---
|
|
184
184
|
```
|
|
185
185
|
|
|
186
|
+
#### Link to external URLs
|
|
187
|
+
|
|
188
|
+
<AddedIn version="3.39.6" />
|
|
189
|
+
|
|
190
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
191
|
+
|
|
192
|
+
```md title="Link badge example"
|
|
193
|
+
---
|
|
194
|
+
badges:
|
|
195
|
+
- content: View Runbook
|
|
196
|
+
url: https://runbooks.example.com/my-query
|
|
197
|
+
backgroundColor: blue
|
|
198
|
+
textColor: white
|
|
199
|
+
---
|
|
200
|
+
```
|
|
201
|
+
|
|
186
202
|
### `schemaPath` {#schemaPath}
|
|
187
203
|
|
|
188
204
|
Path to the schema of the message.
|
|
@@ -251,6 +251,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
251
251
|
---
|
|
252
252
|
```
|
|
253
253
|
|
|
254
|
+
#### Link to external URLs
|
|
255
|
+
|
|
256
|
+
<AddedIn version="3.39.6" />
|
|
257
|
+
|
|
258
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
259
|
+
|
|
260
|
+
```md title="Link badge example"
|
|
261
|
+
---
|
|
262
|
+
badges:
|
|
263
|
+
- content: View Runbook
|
|
264
|
+
url: https://runbooks.example.com/my-channel
|
|
265
|
+
backgroundColor: blue
|
|
266
|
+
textColor: white
|
|
267
|
+
---
|
|
268
|
+
```
|
|
269
|
+
|
|
254
270
|
### `repository` {#repository}
|
|
255
271
|
|
|
256
272
|
<AddedIn version="2.11.2" />
|
|
@@ -360,6 +360,22 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
360
360
|
---
|
|
361
361
|
```
|
|
362
362
|
|
|
363
|
+
#### Link to external URLs
|
|
364
|
+
|
|
365
|
+
<AddedIn version="3.39.6" />
|
|
366
|
+
|
|
367
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
368
|
+
|
|
369
|
+
```md title="Link badge example"
|
|
370
|
+
---
|
|
371
|
+
badges:
|
|
372
|
+
- content: View Runbook
|
|
373
|
+
url: https://runbooks.example.com/my-flow
|
|
374
|
+
backgroundColor: blue
|
|
375
|
+
textColor: white
|
|
376
|
+
---
|
|
377
|
+
```
|
|
378
|
+
|
|
363
379
|
### `editUrl` {#editUrl}
|
|
364
380
|
|
|
365
381
|
<AddedIn version="2.49.4" />
|
|
@@ -233,6 +233,21 @@ You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`,
|
|
|
233
233
|
---
|
|
234
234
|
```
|
|
235
235
|
|
|
236
|
+
#### Link to external URLs
|
|
237
|
+
|
|
238
|
+
<AddedIn version="3.39.6" />
|
|
239
|
+
|
|
240
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
241
|
+
|
|
242
|
+
```md title="Link badge example"
|
|
243
|
+
---
|
|
244
|
+
badges:
|
|
245
|
+
- content: View Runbook
|
|
246
|
+
url: https://runbooks.example.com/my-entity
|
|
247
|
+
backgroundColor: blue
|
|
248
|
+
textColor: white
|
|
249
|
+
---
|
|
250
|
+
```
|
|
236
251
|
|
|
237
252
|
### `editUrl` {#editUrl}
|
|
238
253
|
|
|
@@ -229,6 +229,7 @@ Badge properties:
|
|
|
229
229
|
| `content` | `string` | Yes | Text content of the badge |
|
|
230
230
|
| `backgroundColor` | `string` | Yes | Background color (named token or CSS value) |
|
|
231
231
|
| `textColor` | `string` | Yes | Text color (named token or CSS value) |
|
|
232
|
+
| `url` | `string` | No | When set, the badge renders as a clickable link with an external-link icon |
|
|
232
233
|
|
|
233
234
|
#### Use named colors
|
|
234
235
|
|
|
@@ -240,6 +241,22 @@ Supported names: `slate`, `gray`, `zinc`, `neutral`, `stone`, `red`, `orange`, `
|
|
|
240
241
|
|
|
241
242
|
You can also pass any valid CSS color value directly: hex (`#ff0000`), `rgb()`, `hsl()`, `oklch()`, or a CSS variable (`var(--my-color)`).
|
|
242
243
|
|
|
244
|
+
#### Link to external URLs
|
|
245
|
+
|
|
246
|
+
<AddedIn version="3.39.6" />
|
|
247
|
+
|
|
248
|
+
Add a `url` to a badge to make it render as a clickable link with an external-link icon. When `url` is omitted, the badge renders as a plain label.
|
|
249
|
+
|
|
250
|
+
```md title="Link badge example"
|
|
251
|
+
---
|
|
252
|
+
badges:
|
|
253
|
+
- content: View Runbook
|
|
254
|
+
url: https://runbooks.example.com/my-data-product
|
|
255
|
+
backgroundColor: blue
|
|
256
|
+
textColor: white
|
|
257
|
+
---
|
|
258
|
+
```
|
|
259
|
+
|
|
243
260
|
### `repository`
|
|
244
261
|
|
|
245
262
|
- Type: `object`
|
|
@@ -29,6 +29,13 @@ EventCatalog is a [docs-as-code](https://www.writethedocs.org/guide/docs-as-code
|
|
|
29
29
|
|
|
30
30
|
EventCatalog does not force you to use a specific broker, schema format, or stack. You can use it with any broker, schema format, or stack and can fit into any workflow you have. EventCatalog fits your workflow, not the other way around.
|
|
31
31
|
|
|
32
|
+
### Visual editing
|
|
33
|
+
|
|
34
|
+
You can also use [EventCatalog Editor](/docs/editor/overview) to maintain your catalog through a local visual workflow.
|
|
35
|
+
|
|
36
|
+
The editor runs on top of your EventCatalog project, writes changes back to the same local files, and gives you a Git-backed way to review and publish changes. This helps developers, architects, analysts, and product owners contribute to the catalog without needing to work directly in Markdown files.
|
|
37
|
+
|
|
38
|
+
|
|
32
39
|
## Ready to build?
|
|
33
40
|
|
|
34
41
|
Now that you understand the fundamentals, [get started with EventCatalog](/docs/development/getting-started/installation).
|
|
@@ -94,6 +94,14 @@ Look at my directory and generate EventCatalog documentation from information yo
|
|
|
94
94
|
|
|
95
95
|
The generated files can be edited like any other EventCatalog documentation. Learn more about [EventCatalog skills](/docs/development/ask-your-architecture/skills/introduction).
|
|
96
96
|
|
|
97
|
+
## Optional: Use EventCatalog Editor
|
|
98
|
+
|
|
99
|
+
You can edit your catalog files directly in Markdown, or use [EventCatalog Editor](/docs/editor/overview) for a local visual editing workflow.
|
|
100
|
+
|
|
101
|
+
The editor runs on top of your EventCatalog project, writes changes back to your local files, and gives you a Git-backed way to review and publish changes. This is useful when architects, developers, analysts, or product owners need to help maintain the catalog without working directly in Markdown.
|
|
102
|
+
|
|
103
|
+
To use the editor, you need Git installed and editor access through [EventCatalog Cloud](https://eventcatalog.cloud). Learn how to [run EventCatalog Editor locally](/docs/editor/how-to/run-locally).
|
|
104
|
+
|
|
97
105
|
## Next steps
|
|
98
106
|
|
|
99
107
|
- [Understand the project structure](/docs/development/getting-started/project-structure)
|
|
@@ -11,6 +11,8 @@ import ProjectTree from '@site/src/components/MDX/ProjectTree';
|
|
|
11
11
|
|
|
12
12
|
An EventCatalog project is a folder of Markdown files that describe and model your architecture.
|
|
13
13
|
|
|
14
|
+
You can edit these files directly, or use the optional [EventCatalog Editor](/docs/editor/overview) to create, preview, review, and commit catalog content through a visual workflow.
|
|
15
|
+
|
|
14
16
|
Each resource in your catalog, such as a domain, service, event, command, query, team, or diagram, is represented by a file or folder in your project. EventCatalog reads those files and turns them into a catalog.
|
|
15
17
|
|
|
16
18
|
You can also bring your own documentation into EventCatalog, such as architecture decision records, guides, onboarding material, or runbooks. Learn more about [bringing your own documentation](/docs/development/bring-your-own-documentation/introduction).
|
|
@@ -45,6 +45,78 @@ Visit the endpoint in your browser to verify. It returns available tools and res
|
|
|
45
45
|
}
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
### Protect with OAuth
|
|
49
|
+
|
|
50
|
+
<AddedIn version="3.40.0" />
|
|
51
|
+
|
|
52
|
+
The built-in MCP server can be protected with OAuth Bearer tokens, following the MCP authorization specification for HTTP transports.
|
|
53
|
+
|
|
54
|
+
EventCatalog acts as the OAuth protected resource server for `/docs/mcp`. Your identity provider or authorization server remains responsible for user login, consent, client registration, `/authorize`, `/oauth/token`, and token refresh.
|
|
55
|
+
|
|
56
|
+
Configure MCP authorization in `eventcatalog.config.js`:
|
|
57
|
+
|
|
58
|
+
```js title="eventcatalog.config.js"
|
|
59
|
+
module.exports = {
|
|
60
|
+
output: 'server',
|
|
61
|
+
mcp: {
|
|
62
|
+
auth: {
|
|
63
|
+
enabled: true,
|
|
64
|
+
resource: 'https://your-eventcatalog.com/docs/mcp',
|
|
65
|
+
authorizationServers: ['https://auth.example.com'],
|
|
66
|
+
issuer: 'https://auth.example.com',
|
|
67
|
+
audience: 'https://your-eventcatalog.com/docs/mcp',
|
|
68
|
+
requiredScopes: ['catalog:read'],
|
|
69
|
+
jwksUri: 'https://auth.example.com/.well-known/jwks.json',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
When enabled, EventCatalog serves protected resource metadata at `/.well-known/oauth-protected-resource`. Unauthenticated MCP clients receive a `401 Unauthorized` response with a `WWW-Authenticate` header pointing at that document. MCP clients then obtain an access token from the advertised authorization server and call `/docs/mcp` with:
|
|
76
|
+
|
|
77
|
+
```http
|
|
78
|
+
Authorization: Bearer <access-token>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The access token must be valid, unexpired, issued by the configured issuer, intended for the configured audience, and include all required scopes.
|
|
82
|
+
|
|
83
|
+
#### Key signing options
|
|
84
|
+
|
|
85
|
+
Choose one of the following strategies for token validation:
|
|
86
|
+
|
|
87
|
+
| Strategy | Config fields |
|
|
88
|
+
|---|---|
|
|
89
|
+
| JWKS endpoint (recommended) | `jwksUri` |
|
|
90
|
+
| Inline asymmetric public key | `publicKey` or `publicKeyEnvVar` |
|
|
91
|
+
| Symmetric shared secret | `sharedSecret` or `sharedSecretEnvVar` |
|
|
92
|
+
|
|
93
|
+
Prefer `publicKeyEnvVar` or `sharedSecretEnvVar` over inline values to avoid committing secrets to source control.
|
|
94
|
+
|
|
95
|
+
#### All options
|
|
96
|
+
|
|
97
|
+
| Field | Required | Description |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| `enabled` | Yes | Enables OAuth Bearer token validation |
|
|
100
|
+
| `resource` | No | Absolute URL of the MCP resource. Set this explicitly when behind a proxy |
|
|
101
|
+
| `protectedResourceMetadataUrl` | No | URL for the protected resource metadata document. Defaults to `/.well-known/oauth-protected-resource` |
|
|
102
|
+
| `authorizationServers` | No | Authorization server URLs advertised to MCP clients |
|
|
103
|
+
| `issuer` | No | Expected token issuer (`iss` claim) |
|
|
104
|
+
| `audience` | No | Expected token audience (`aud` claim). Defaults to `resource` |
|
|
105
|
+
| `requiredScopes` | No | Scopes every token must include |
|
|
106
|
+
| `jwksUri` | No | JWKS endpoint for asymmetric JWT validation |
|
|
107
|
+
| `publicKey` | No | Inline public key for asymmetric JWT validation |
|
|
108
|
+
| `publicKeyEnvVar` | No | Environment variable containing the public key |
|
|
109
|
+
| `sharedSecret` | No | Inline shared secret for symmetric JWT validation |
|
|
110
|
+
| `sharedSecretEnvVar` | No | Environment variable containing the shared secret |
|
|
111
|
+
|
|
112
|
+
:::note Existing website authentication
|
|
113
|
+
The `auth.enabled` and `eventcatalog.auth.js` settings protect the EventCatalog website with browser sessions. MCP authorization is separate because MCP clients authenticate with Bearer tokens, not browser cookies.
|
|
114
|
+
:::
|
|
115
|
+
|
|
116
|
+
:::tip Authorization server discovery
|
|
117
|
+
EventCatalog serves `/.well-known/oauth-protected-resource` for MCP client discovery. It does not serve `/.well-known/oauth-authorization-server`, `/authorize`, or `/oauth/token` -- those endpoints must be provided by the authorization server listed in `authorizationServers`. If your MCP client expects those endpoints on the catalog host, proxy the authorization server behind that host with your load balancer or reverse proxy.
|
|
118
|
+
:::
|
|
119
|
+
|
|
48
120
|
### Connect clients
|
|
49
121
|
|
|
50
122
|
<details>
|
|
@@ -9,6 +9,8 @@ description: Bring your own documentation to EventCatalog
|
|
|
9
9
|
|
|
10
10
|
EventCatalog allows you to centralise architecture documentation alongside your domains, services, and events — keeping knowledge and context in one place.
|
|
11
11
|
|
|
12
|
+
You can write this documentation with Markdown and MDX, or use the optional [EventCatalog Editor](/docs/editor/overview) for a visual editing workflow.
|
|
13
|
+
|
|
12
14
|
Common use cases include:
|
|
13
15
|
|
|
14
16
|
- Architecture decision records (ADRs)
|
|
@@ -45,4 +47,4 @@ This can be useful if you want to document details tied to a specific domain, se
|
|
|
45
47
|
|
|
46
48
|
EventCatalog will render your custom documentation alongside the resource it is tied to in the sidebar.
|
|
47
49
|
|
|
48
|
-
[Read the resource docs guide](/docs/guides/bring-your-own-documentation/resource-docs).
|
|
50
|
+
[Read the resource docs guide](/docs/guides/bring-your-own-documentation/resource-docs).
|
|
@@ -15,9 +15,11 @@ The application sidebar is the sidebar that is rendered on every page in EventCa
|
|
|
15
15
|
|
|
16
16
|
### Show/hide items in the application sidebar
|
|
17
17
|
|
|
18
|
+
<AddedIn version="3.39.5" />
|
|
19
|
+
|
|
18
20
|
You can show or hide items in the application sidebar by using the `sidebar` property in your `eventcatalog.config.js` file.
|
|
19
21
|
|
|
20
|
-
**By default, all items
|
|
22
|
+
**By default, all items in the sidebar are shown.**
|
|
21
23
|
|
|
22
24
|
```js title="eventcatalog.config.js"
|
|
23
25
|
// rest of the config
|
|
@@ -27,6 +29,11 @@ sidebar: [
|
|
|
27
29
|
// This will hide the Schema Explorer
|
|
28
30
|
visible: false,
|
|
29
31
|
},
|
|
32
|
+
{
|
|
33
|
+
id: '/discover/events',
|
|
34
|
+
// This will hide the Events item
|
|
35
|
+
visible: false,
|
|
36
|
+
},
|
|
30
37
|
]
|
|
31
38
|
```
|
|
32
39
|
|
|
@@ -38,8 +45,41 @@ Options for the `sidebar` property:
|
|
|
38
45
|
| ID | Description |
|
|
39
46
|
| --- | --- |
|
|
40
47
|
| `/` | The home page icon |
|
|
41
|
-
| `/docs` | The documentation page
|
|
42
|
-
| `/discover` | The
|
|
43
|
-
| `/
|
|
48
|
+
| `/docs/custom` | The custom documentation page |
|
|
49
|
+
| `/discover/domains` | The domains page |
|
|
50
|
+
| `/discover/services` | The services page |
|
|
51
|
+
| `/discover/external-systems` | The external systems page |
|
|
52
|
+
| `/discover/events` | The events page |
|
|
53
|
+
| `/discover/commands` | The commands page |
|
|
54
|
+
| `/discover/queries` | The queries page |
|
|
55
|
+
| `/discover/flows` | The flows page |
|
|
56
|
+
| `/discover/containers` | The data stores page |
|
|
57
|
+
| `/discover/data-products` | The data products page |
|
|
58
|
+
| `/directory/teams` | The teams page |
|
|
59
|
+
| `/directory/users` | The users page |
|
|
60
|
+
| `/settings/general` | The settings page |
|
|
44
61
|
| `/studio` | The EventCatalog Studio icon |
|
|
45
|
-
| `/schemas/explorer` | The schema explorer page |
|
|
62
|
+
| `/schemas/explorer` | The schema explorer page |
|
|
63
|
+
| `/schemas/fields` | The schema insights page (SSR only) |
|
|
64
|
+
|
|
65
|
+
### Use legacy group ids
|
|
66
|
+
|
|
67
|
+
You can also use legacy group ids to hide all items in a section at once. Setting a group id to `visible: false` hides every item that belongs to that group.
|
|
68
|
+
|
|
69
|
+
| Legacy ID | Items hidden |
|
|
70
|
+
| --- | --- |
|
|
71
|
+
| `/docs` | `/docs/custom` |
|
|
72
|
+
| `/discover` | All discover items (domains, services, events, commands, queries, flows, data stores, data products, external systems) |
|
|
73
|
+
| `/directory` | `/directory/teams` and `/directory/users` |
|
|
74
|
+
| `/settings` | `/settings/general` |
|
|
75
|
+
|
|
76
|
+
```js title="eventcatalog.config.js"
|
|
77
|
+
// rest of the config
|
|
78
|
+
sidebar: [
|
|
79
|
+
{
|
|
80
|
+
id: '/directory',
|
|
81
|
+
// This will hide both Teams and Users
|
|
82
|
+
visible: false,
|
|
83
|
+
},
|
|
84
|
+
]
|
|
85
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
sidebar_label: Overview
|
|
4
|
+
title: EventCatalog Editor
|
|
5
|
+
description: Understand what EventCatalog Editor is, who it is for, and how it fits into your catalog workflow.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
EventCatalog Editor is a local visual editor for maintaining an EventCatalog.
|
|
9
|
+
|
|
10
|
+
It runs on your machine, opens your catalog from disk, lets you edit architecture resources without working directly in Markdown or MDX, and gives you a Git-backed view of the changes before you commit them.
|
|
11
|
+
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
## Who the editor is for
|
|
15
|
+
|
|
16
|
+
The editor is for people who maintain an EventCatalog:
|
|
17
|
+
|
|
18
|
+
- Architects documenting [domains](/docs/development/guides/domains/introduction), [services](/docs/development/guides/services/introduction), [messages](/docs/development/guides/messages/overview), and [ownership](/docs/owners)
|
|
19
|
+
- Developers keeping resource documentation, schemas, and specifications up to date
|
|
20
|
+
- Analysts, product owners, or domain experts who can improve catalog content but do not want to edit MDX files directly
|
|
21
|
+
|
|
22
|
+
You still own your catalog as files. The editor makes those files easier to browse, edit, preview, review, and commit.
|
|
23
|
+
|
|
24
|
+
::::info Need an EventCatalog first?
|
|
25
|
+
|
|
26
|
+
These docs assume you already have an EventCatalog project. If you are just getting started, create a catalog first with the [EventCatalog installation guide](/docs/development/getting-started/installation), then come back here.
|
|
27
|
+
|
|
28
|
+
::::
|
|
29
|
+
|
|
30
|
+
## What the editor does
|
|
31
|
+
|
|
32
|
+
Use EventCatalog Editor to:
|
|
33
|
+
|
|
34
|
+
- Open a local EventCatalog project
|
|
35
|
+
- Browse [domains](/docs/development/guides/domains/introduction), [services](/docs/development/guides/services/introduction), [messages](/docs/development/guides/messages/overview), [channels](/docs/development/guides/channels/introduction), [entities](/docs/development/guides/domains/entities/introduction), [data stores](/docs/development/guides/data/introduction), [flows](/docs/development/guides/flows/introduction), [users](/docs/development/guides/owners/users/introduction), and [teams](/docs/development/guides/owners/teams/introduction)
|
|
36
|
+
- Edit documentation in a rich editor or source editor
|
|
37
|
+
- Update common frontmatter fields through forms
|
|
38
|
+
- Add schemas to [events](/docs/development/guides/messages/events/introduction), [commands](/docs/development/guides/messages/commands/introduction), and [queries](/docs/development/guides/messages/queries/introduction)
|
|
39
|
+
- Add OpenAPI, AsyncAPI, and GraphQL specifications to domains and services
|
|
40
|
+
- Preview resources in a running EventCatalog site
|
|
41
|
+
- Inspect local Git changes, view diffs, revert files, and commit work
|
|
42
|
+
- Invite editors through [EventCatalog Cloud](https://eventcatalog.cloud) and assign editor seats
|
|
43
|
+
|
|
44
|
+
## Local workflow
|
|
45
|
+
|
|
46
|
+
The editor sits on top of the same files that EventCatalog already uses.
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
flowchart LR
|
|
50
|
+
A[Local EventCatalog files] --> B[EventCatalog Editor]
|
|
51
|
+
B --> C[Markdown, MDX, schema, and config changes]
|
|
52
|
+
C --> D[Git changes view]
|
|
53
|
+
D --> E[Commit locally]
|
|
54
|
+
E --> F[Your existing review and publishing workflow]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The editor does not replace Git, Markdown, MDX, or your deployment process. It gives catalog maintainers a safer interface for making changes before those changes go through the workflow your team already uses.
|
|
58
|
+
|
|
59
|
+
## Beta status
|
|
60
|
+
|
|
61
|
+
EventCatalog Editor is in beta. You can use it today, but some workflows and features may change before general availability.
|
|
62
|
+
|
|
63
|
+
The editor is a seat-based paid product. Community includes 1 editor seat, Starter includes 3 editor seats, Scale includes 10 editor seats, and Enterprise includes unlimited editor seats. See the [pricing page](/pricing) for current plan details.
|
|
64
|
+
|
|
65
|
+
If you want to help shape the editor, join the [EventCatalog Discord](https://eventcatalog.dev/discord) or [open an issue in the editor repository](https://github.com/event-catalog/eventcatalog-editor-code/issues).
|
|
66
|
+
|
|
67
|
+
## Next steps
|
|
68
|
+
|
|
69
|
+
- Follow the [first edit tutorial](/docs/editor/first-edit).
|
|
70
|
+
- Learn how to [run the editor locally](/docs/editor/how-to/run-locally).
|
|
71
|
+
- Learn how to [use the Flow Editor](/docs/editor/how-to/use-flow-editor).
|
|
72
|
+
- Learn how to [invite editors](/docs/editor/how-to/invite-editors).
|
|
73
|
+
- Understand [how the editor works](/docs/editor/explanation/how-it-works).
|