@eventcatalog/core 3.34.0 → 3.35.1

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.
Files changed (431) hide show
  1. package/dist/analytics/analytics.cjs +1 -1
  2. package/dist/analytics/analytics.js +2 -2
  3. package/dist/analytics/log-build.cjs +1 -1
  4. package/dist/analytics/log-build.js +3 -3
  5. package/dist/{chunk-K5AM6PPU.js → chunk-4SNN54V4.js} +1 -1
  6. package/dist/{chunk-623CFR4T.js → chunk-B7C4DHFE.js} +1 -1
  7. package/dist/{chunk-BJWMR3ZH.js → chunk-JEQZWJWP.js} +1 -1
  8. package/dist/{chunk-PP7EDIPX.js → chunk-R4DR3YAH.js} +1 -1
  9. package/dist/{chunk-IO6EMN5C.js → chunk-VJ357XOI.js} +1 -1
  10. package/dist/constants.cjs +1 -1
  11. package/dist/constants.js +1 -1
  12. package/dist/docs/api/01-overview.md +74 -0
  13. package/dist/docs/api/02-config.md +937 -0
  14. package/dist/docs/api/03-domain-api.md +394 -0
  15. package/dist/docs/api/04-service-api.md +368 -0
  16. package/dist/docs/api/05-command-api.md +319 -0
  17. package/dist/docs/api/06-event-api.md +318 -0
  18. package/dist/docs/api/06-query-api.md +316 -0
  19. package/dist/docs/api/08-channel-api.md +317 -0
  20. package/dist/docs/api/08-code-blocks.md +53 -0
  21. package/dist/docs/api/09-flow-api.md +362 -0
  22. package/dist/docs/api/10-entity-api.md +285 -0
  23. package/dist/docs/api/11-data-api.md +268 -0
  24. package/dist/docs/api/12-data-product-api.md +416 -0
  25. package/dist/docs/api/_category_.json +12 -0
  26. package/dist/docs/cli/channels.md +180 -0
  27. package/dist/docs/cli/commands.md +183 -0
  28. package/dist/docs/cli/custom-docs.md +78 -0
  29. package/dist/docs/cli/data-products.md +177 -0
  30. package/dist/docs/cli/data-stores.md +166 -0
  31. package/dist/docs/cli/diagrams.md +147 -0
  32. package/dist/docs/cli/domains.md +280 -0
  33. package/dist/docs/cli/entities.md +138 -0
  34. package/dist/docs/cli/events.md +186 -0
  35. package/dist/docs/cli/export.md +27 -0
  36. package/dist/docs/cli/governance.md +24 -0
  37. package/dist/docs/cli/import.md +26 -0
  38. package/dist/docs/cli/index.md +121 -0
  39. package/dist/docs/cli/messages.md +69 -0
  40. package/dist/docs/cli/queries.md +183 -0
  41. package/dist/docs/cli/services.md +266 -0
  42. package/dist/docs/cli/snapshots.md +44 -0
  43. package/dist/docs/cli/teams.md +75 -0
  44. package/dist/docs/cli/users.md +75 -0
  45. package/dist/docs/cli/utilities.md +43 -0
  46. package/dist/docs/contributing/01-overview.md +186 -0
  47. package/dist/docs/contributing/_category_.json +12 -0
  48. package/dist/docs/development/00-why-eventcatalog.md +87 -0
  49. package/dist/docs/development/01-fundamentals.md +34 -0
  50. package/dist/docs/development/01-getting-started/_category_.json +12 -0
  51. package/dist/docs/development/01-getting-started/configuration-overview.md +124 -0
  52. package/dist/docs/development/01-getting-started/develop-and-build.md +71 -0
  53. package/dist/docs/development/01-getting-started/installation.md +103 -0
  54. package/dist/docs/development/01-getting-started/project-structure.md +269 -0
  55. package/dist/docs/development/_category_.json +12 -0
  56. package/dist/docs/development/_getting-started.mdx +15 -0
  57. package/dist/docs/development/agent-resources/_category_.json +6 -0
  58. package/dist/docs/development/agent-resources/eventcatalog-skills.md +17 -0
  59. package/dist/docs/development/agent-resources/llms-full.md +17 -0
  60. package/dist/docs/development/agent-resources/llms.md +17 -0
  61. package/dist/docs/development/ask-your-architecture/01-intro.md +89 -0
  62. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +23 -0
  63. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +72 -0
  64. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +385 -0
  65. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +11 -0
  66. package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +12 -0
  67. package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +216 -0
  68. package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +47 -0
  69. package/dist/docs/development/ask-your-architecture/04-skills/01-introduction.md +40 -0
  70. package/dist/docs/development/ask-your-architecture/04-skills/02-installation.md +60 -0
  71. package/dist/docs/development/ask-your-architecture/04-skills/_category_.json +11 -0
  72. package/dist/docs/development/ask-your-architecture/05-slack-integration/01-introduction.md +63 -0
  73. package/dist/docs/development/ask-your-architecture/05-slack-integration/02-slack-app-setup.md +154 -0
  74. package/dist/docs/development/ask-your-architecture/05-slack-integration/03-installation.md +169 -0
  75. package/dist/docs/development/ask-your-architecture/05-slack-integration/04-deployment.md +236 -0
  76. package/dist/docs/development/ask-your-architecture/05-slack-integration/05-usage.md +140 -0
  77. package/dist/docs/development/ask-your-architecture/05-slack-integration/06-troubleshooting.md +268 -0
  78. package/dist/docs/development/ask-your-architecture/05-slack-integration/_category_.json +12 -0
  79. package/dist/docs/development/ask-your-architecture/_category_.json +12 -0
  80. package/dist/docs/development/authentication/01-introduction.md +78 -0
  81. package/dist/docs/development/authentication/02-enabling-authentication.md +152 -0
  82. package/dist/docs/development/authentication/07-rbac-middleware.md +269 -0
  83. package/dist/docs/development/authentication/_category_.json +11 -0
  84. package/dist/docs/development/authentication/providers/03-setting-up-github.md +83 -0
  85. package/dist/docs/development/authentication/providers/03a-setting-up-google.md +92 -0
  86. package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +100 -0
  87. package/dist/docs/development/authentication/providers/05-setting-up-okta.md +105 -0
  88. package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +106 -0
  89. package/dist/docs/development/authentication/providers/_category_.json +11 -0
  90. package/dist/docs/development/bring-your-own-documentation/01-introduction.md +48 -0
  91. package/dist/docs/development/bring-your-own-documentation/_category_.json +12 -0
  92. package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +60 -0
  93. package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +207 -0
  94. package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +46 -0
  95. package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +45 -0
  96. package/dist/docs/development/bring-your-own-documentation/custom-pages/_category_.json +11 -0
  97. package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +34 -0
  98. package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +143 -0
  99. package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +68 -0
  100. package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +45 -0
  101. package/dist/docs/development/bring-your-own-documentation/resource-docs/_category_.json +11 -0
  102. package/dist/docs/development/components/04-snippets.md +134 -0
  103. package/dist/docs/development/components/05-using-components.md +67 -0
  104. package/dist/docs/development/components/07-resource-references.md +136 -0
  105. package/dist/docs/development/components/_category_.json +12 -0
  106. package/dist/docs/development/components/components/01-accordian.md +41 -0
  107. package/dist/docs/development/components/components/02-accordian-group.md +57 -0
  108. package/dist/docs/development/components/components/03-admonitions.md +43 -0
  109. package/dist/docs/development/components/components/04-attachments.md +56 -0
  110. package/dist/docs/development/components/components/05-channel-information.md +29 -0
  111. package/dist/docs/development/components/components/06-design.md +66 -0
  112. package/dist/docs/development/components/components/07-entitymap.md +71 -0
  113. package/dist/docs/development/components/components/08-flow.md +46 -0
  114. package/dist/docs/development/components/components/09-link.md +32 -0
  115. package/dist/docs/development/components/components/10-mermaid-file-loader.md +63 -0
  116. package/dist/docs/development/components/components/11-message-table.md +43 -0
  117. package/dist/docs/development/components/components/12-nodegraph.md +167 -0
  118. package/dist/docs/development/components/components/13-openapi.md +55 -0
  119. package/dist/docs/development/components/components/14-prompt.md +69 -0
  120. package/dist/docs/development/components/components/15-remote-schema.md +174 -0
  121. package/dist/docs/development/components/components/16-resource-group-table.md +86 -0
  122. package/dist/docs/development/components/components/17-resource-link.md +57 -0
  123. package/dist/docs/development/components/components/18-schema.md +44 -0
  124. package/dist/docs/development/components/components/19-schema-viewer.md +69 -0
  125. package/dist/docs/development/components/components/20-steps.md +83 -0
  126. package/dist/docs/development/components/components/21-tabs.md +55 -0
  127. package/dist/docs/development/components/components/22-tiles.md +53 -0
  128. package/dist/docs/development/components/components/23-visibility.md +61 -0
  129. package/dist/docs/development/components/components/_category_.json +12 -0
  130. package/dist/docs/development/components/diagram-syntax/01-mermaid.md +218 -0
  131. package/dist/docs/development/components/diagram-syntax/02-plantuml.md +140 -0
  132. package/dist/docs/development/components/diagram-syntax/03-structurizr.md +24 -0
  133. package/dist/docs/development/components/diagram-syntax/04-icepanel.md +75 -0
  134. package/dist/docs/development/components/diagram-syntax/_category_.json +12 -0
  135. package/dist/docs/development/components/external-diagram-embeds/01-miro.md +64 -0
  136. package/dist/docs/development/components/external-diagram-embeds/02-lucid.md +47 -0
  137. package/dist/docs/development/components/external-diagram-embeds/03-drawio.md +46 -0
  138. package/dist/docs/development/components/external-diagram-embeds/04-figjam.md +44 -0
  139. package/dist/docs/development/components/external-diagram-embeds/05-icepanel.md +68 -0
  140. package/dist/docs/development/components/external-diagram-embeds/_category_.json +12 -0
  141. package/dist/docs/development/customization/01-customize-landing-page.md +155 -0
  142. package/dist/docs/development/customization/02-themes.md +429 -0
  143. package/dist/docs/development/customization/06-customize-tables.md +194 -0
  144. package/dist/docs/development/customization/_category_.json +12 -0
  145. package/dist/docs/development/customization/custom-components/00-what-is-mdx.md +73 -0
  146. package/dist/docs/development/customization/custom-components/01-introduction.md +28 -0
  147. package/dist/docs/development/customization/custom-components/02-adding-components.md +145 -0
  148. package/dist/docs/development/customization/custom-components/03-component-styling.md +27 -0
  149. package/dist/docs/development/customization/custom-components/04-javascript-components.md +32 -0
  150. package/dist/docs/development/customization/custom-components/_category_.json +11 -0
  151. package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -0
  152. package/dist/docs/development/customization/customize-sidebars/01-documentation-sidebar.md +187 -0
  153. package/dist/docs/development/customization/customize-sidebars/_category_.json +11 -0
  154. package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +50 -0
  155. package/dist/docs/development/customization/customize-visualizer/_category_.json +11 -0
  156. package/dist/docs/development/deployment/_category_.json +12 -0
  157. package/dist/docs/development/deployment/build-and-deploy.md +71 -0
  158. package/dist/docs/development/deployment/build-ssr-mode.md +50 -0
  159. package/dist/docs/development/deployment/deployment-workflows.md +43 -0
  160. package/dist/docs/development/deployment/hosting-options.md +112 -0
  161. package/dist/docs/development/deployment/licenses.md +50 -0
  162. package/dist/docs/development/design/_category_.json +12 -0
  163. package/dist/docs/development/design/embed-designs-into-eventcatalog.md +29 -0
  164. package/dist/docs/development/design/further-reading.md +19 -0
  165. package/dist/docs/development/design/import-resources.md +27 -0
  166. package/dist/docs/development/design/intro.md +22 -0
  167. package/dist/docs/development/developer-tools/_category_.json +12 -0
  168. package/dist/docs/development/developer-tools/eventcatalog-linter.md +597 -0
  169. package/dist/docs/development/developer-tools/github-action.md +147 -0
  170. package/dist/docs/development/developer-tools/llms.txt.md +55 -0
  171. package/dist/docs/development/developer-tools/schemas.txt.md +42 -0
  172. package/dist/docs/development/governance/_category_.json +6 -0
  173. package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +62 -0
  174. package/dist/docs/development/governance/architecture-change-detection/02-configuration.md +134 -0
  175. package/dist/docs/development/governance/architecture-change-detection/03-recipes.md +309 -0
  176. package/dist/docs/development/governance/architecture-change-detection/04-webhooks.md +187 -0
  177. package/dist/docs/development/governance/architecture-change-detection/05-ci-cd.md +121 -0
  178. package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +162 -0
  179. package/dist/docs/development/governance/architecture-change-detection/_category_.json +6 -0
  180. package/dist/docs/development/guides/12-customize-your-sidebar.md +12 -0
  181. package/dist/docs/development/guides/99-adding-analytics.md +138 -0
  182. package/dist/docs/development/guides/_category_.json +11 -0
  183. package/dist/docs/development/guides/changelogs/01-introduction.md +33 -0
  184. package/dist/docs/development/guides/changelogs/02-adding-changelogs.md +94 -0
  185. package/dist/docs/development/guides/changelogs/03-automated-changelogs.md +44 -0
  186. package/dist/docs/development/guides/changelogs/_category_.json +11 -0
  187. package/dist/docs/development/guides/channels/01-introduction.md +111 -0
  188. package/dist/docs/development/guides/channels/02-adding-channels.md +198 -0
  189. package/dist/docs/development/guides/channels/04-adding-messages-to-services.md +292 -0
  190. package/dist/docs/development/guides/channels/09-configuration +39 -0
  191. package/dist/docs/development/guides/channels/_category_.json +11 -0
  192. package/dist/docs/development/guides/channels/ownership-and-components/01-owners.md +44 -0
  193. package/dist/docs/development/guides/channels/ownership-and-components/02-components.md +16 -0
  194. package/dist/docs/development/guides/channels/ownership-and-components/_category_.json +11 -0
  195. package/dist/docs/development/guides/channels/versioning-and-lifecycle/01-versioning.md +31 -0
  196. package/dist/docs/development/guides/channels/versioning-and-lifecycle/02-changelog.md +56 -0
  197. package/dist/docs/development/guides/channels/versioning-and-lifecycle/_category_.json +11 -0
  198. package/dist/docs/development/guides/data/01-introduction.md +34 -0
  199. package/dist/docs/development/guides/data/02-adding-data.md +86 -0
  200. package/dist/docs/development/guides/data/03a-adding-schemas-to-data-stores.md +73 -0
  201. package/dist/docs/development/guides/data/_category_.json +11 -0
  202. package/dist/docs/development/guides/data/ownership-and-components/01-owners.md +45 -0
  203. package/dist/docs/development/guides/data/ownership-and-components/02-components.md +17 -0
  204. package/dist/docs/development/guides/data/ownership-and-components/_category_.json +11 -0
  205. package/dist/docs/development/guides/data/versioning-and-lifecycle/01-versioning.md +32 -0
  206. package/dist/docs/development/guides/data/versioning-and-lifecycle/02-changelog.md +57 -0
  207. package/dist/docs/development/guides/data/versioning-and-lifecycle/03-deprecating.md +71 -0
  208. package/dist/docs/development/guides/data/versioning-and-lifecycle/_category_.json +11 -0
  209. package/dist/docs/development/guides/data-products/01-introduction.md +116 -0
  210. package/dist/docs/development/guides/data-products/02-adding-data-products.md +157 -0
  211. package/dist/docs/development/guides/data-products/03-inputs-and-outputs.md +128 -0
  212. package/dist/docs/development/guides/data-products/04-contracts.md +102 -0
  213. package/dist/docs/development/guides/data-products/05-versioning.md +240 -0
  214. package/dist/docs/development/guides/data-products/06-adding-to-domains.md +52 -0
  215. package/dist/docs/development/guides/data-products/_category_.json +11 -0
  216. package/dist/docs/development/guides/diagrams/01-introduction.md +78 -0
  217. package/dist/docs/development/guides/diagrams/02-creating-diagrams.md +195 -0
  218. package/dist/docs/development/guides/diagrams/03-referencing-diagrams.md +195 -0
  219. package/dist/docs/development/guides/diagrams/04-versioning-diagrams.md +204 -0
  220. package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +145 -0
  221. package/dist/docs/development/guides/diagrams/06-diagrams-with-llms.md +165 -0
  222. package/dist/docs/development/guides/diagrams/_category_.json +10 -0
  223. package/dist/docs/development/guides/domains/01-introduction.md +22 -0
  224. package/dist/docs/development/guides/domains/02-creating-domains/02-adding-domains.md +108 -0
  225. package/dist/docs/development/guides/domains/02-creating-domains/02a-subdomains.md +84 -0
  226. package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +90 -0
  227. package/dist/docs/development/guides/domains/02-creating-domains/04-adding-messages-to-domains.md +107 -0
  228. package/dist/docs/development/guides/domains/02-creating-domains/05-adding-data-products-to-domains.md +105 -0
  229. package/dist/docs/development/guides/domains/02-creating-domains/_category_.json +11 -0
  230. package/dist/docs/development/guides/domains/03-ownership-and-language/01-owners.md +36 -0
  231. package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +75 -0
  232. package/dist/docs/development/guides/domains/03-ownership-and-language/_category_.json +10 -0
  233. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/01-versioning.md +40 -0
  234. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/02-changelog.md +53 -0
  235. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/_category_.json +10 -0
  236. package/dist/docs/development/guides/domains/05-entities/01-introduction.md +24 -0
  237. package/dist/docs/development/guides/domains/05-entities/02-adding-entities.md +157 -0
  238. package/dist/docs/development/guides/domains/05-entities/03-adding-entities-to-domains.md +30 -0
  239. package/dist/docs/development/guides/domains/05-entities/04-domain-entity-map.md +134 -0
  240. package/dist/docs/development/guides/domains/05-entities/_category_.json +11 -0
  241. package/dist/docs/development/guides/domains/08-domain-integration-map.md +41 -0
  242. package/dist/docs/development/guides/domains/_category_.json +11 -0
  243. package/dist/docs/development/guides/flows/01-introduction.md +36 -0
  244. package/dist/docs/development/guides/flows/02-adding-flows.md +198 -0
  245. package/dist/docs/development/guides/flows/03-flow-nodes.md +273 -0
  246. package/dist/docs/development/guides/flows/04-adding-flows-to-services.md +42 -0
  247. package/dist/docs/development/guides/flows/05-adding-flows-to-domains.md +43 -0
  248. package/dist/docs/development/guides/flows/06-versioning.md +27 -0
  249. package/dist/docs/development/guides/flows/07-create-flow-with-ai.md +171 -0
  250. package/dist/docs/development/guides/flows/_category_.json +11 -0
  251. package/dist/docs/development/guides/messages/01-overview.md +57 -0
  252. package/dist/docs/development/guides/messages/_category_.json +11 -0
  253. package/dist/docs/development/guides/messages/commands/01-introduction.md +26 -0
  254. package/dist/docs/development/guides/messages/commands/02-adding-commands.md +131 -0
  255. package/dist/docs/development/guides/messages/commands/_category_.json +11 -0
  256. package/dist/docs/development/guides/messages/common/01-map-to-producers-and-consumers.md +37 -0
  257. package/dist/docs/development/guides/messages/common/02-adding-schemas.md +58 -0
  258. package/dist/docs/development/guides/messages/common/02-deprecating.md +71 -0
  259. package/dist/docs/development/guides/messages/common/02-draft-messages.md +63 -0
  260. package/dist/docs/development/guides/messages/common/02-examples.md +99 -0
  261. package/dist/docs/development/guides/messages/common/03-owners.md +40 -0
  262. package/dist/docs/development/guides/messages/common/04-versioning.md +27 -0
  263. package/dist/docs/development/guides/messages/common/05-changelog.md +73 -0
  264. package/dist/docs/development/guides/messages/common/07-components.md +12 -0
  265. package/dist/docs/development/guides/messages/common/08-shared-messages-across-boundaries.md +70 -0
  266. package/dist/docs/development/guides/messages/common/09-grouping-messages.md +98 -0
  267. package/dist/docs/development/guides/messages/common/_category_.json +11 -0
  268. package/dist/docs/development/guides/messages/events/01-introduction.md +25 -0
  269. package/dist/docs/development/guides/messages/events/02-adding-events.md +130 -0
  270. package/dist/docs/development/guides/messages/events/_category_.json +11 -0
  271. package/dist/docs/development/guides/messages/queries/01-introduction.md +25 -0
  272. package/dist/docs/development/guides/messages/queries/02-adding-queries.md +130 -0
  273. package/dist/docs/development/guides/messages/queries/_category_.json +11 -0
  274. package/dist/docs/development/guides/owners/_category_.json +11 -0
  275. package/dist/docs/development/guides/owners/teams/01-introduction.md +21 -0
  276. package/dist/docs/development/guides/owners/teams/02-adding-teams.md +73 -0
  277. package/dist/docs/development/guides/owners/teams/_category_.json +11 -0
  278. package/dist/docs/development/guides/owners/users/01-introduction.md +20 -0
  279. package/dist/docs/development/guides/owners/users/02-adding-users.md +70 -0
  280. package/dist/docs/development/guides/owners/users/_category_.json +11 -0
  281. package/dist/docs/development/guides/schemas/01-introduction.md +64 -0
  282. package/dist/docs/development/guides/schemas/02-schema-explorer.md +74 -0
  283. package/dist/docs/development/guides/schemas/03-schema-api.md +59 -0
  284. package/dist/docs/development/guides/schemas/04-schema-mcp.md +22 -0
  285. package/dist/docs/development/guides/schemas/05-field-usage.md +120 -0
  286. package/dist/docs/development/guides/schemas/06-fields-explorer.md +120 -0
  287. package/dist/docs/development/guides/schemas/_category_.json +11 -0
  288. package/dist/docs/development/guides/services/01-introduction.md +33 -0
  289. package/dist/docs/development/guides/services/02-adding-services.md +113 -0
  290. package/dist/docs/development/guides/services/03-creating-external-systems.md +71 -0
  291. package/dist/docs/development/guides/services/_category_.json +11 -0
  292. package/dist/docs/development/guides/services/adding-to-services/01-messages.md +229 -0
  293. package/dist/docs/development/guides/services/adding-to-services/02-datastores.md +77 -0
  294. package/dist/docs/development/guides/services/adding-to-services/03-entities.md +47 -0
  295. package/dist/docs/development/guides/services/adding-to-services/04-openapi.md +97 -0
  296. package/dist/docs/development/guides/services/adding-to-services/05-asyncapi.md +97 -0
  297. package/dist/docs/development/guides/services/adding-to-services/06-graphql.md +96 -0
  298. package/dist/docs/development/guides/services/adding-to-services/_category_.json +10 -0
  299. package/dist/docs/development/guides/services/ownership-and-components/01-owners.md +41 -0
  300. package/dist/docs/development/guides/services/ownership-and-components/02-components.md +13 -0
  301. package/dist/docs/development/guides/services/ownership-and-components/_category_.json +11 -0
  302. package/dist/docs/development/guides/services/versioning-and-lifecycle/01-versioning.md +27 -0
  303. package/dist/docs/development/guides/services/versioning-and-lifecycle/02-changelog.md +52 -0
  304. package/dist/docs/development/guides/services/versioning-and-lifecycle/03-deprecating.md +70 -0
  305. package/dist/docs/development/guides/services/versioning-and-lifecycle/_category_.json +11 -0
  306. package/dist/docs/development/upgrading/_category_.json +12 -0
  307. package/dist/docs/development/upgrading/upgrading.md +142 -0
  308. package/dist/docs/development/upgrading/v2.md +69 -0
  309. package/dist/docs/development/upgrading/v3.md +277 -0
  310. package/dist/docs/miro/_category_.json +12 -0
  311. package/dist/docs/miro/contributing/01-getting-involved.md +53 -0
  312. package/dist/docs/miro/contributing/_category_.json +11 -0
  313. package/dist/docs/miro/getting-started/01-overview.md +63 -0
  314. package/dist/docs/miro/getting-started/02-installation.md +37 -0
  315. package/dist/docs/miro/getting-started/03-connecting-to-eventcatalog.md +59 -0
  316. package/dist/docs/miro/getting-started/_category_.json +11 -0
  317. package/dist/docs/miro/guides/01-adding-resources-to-board.md +90 -0
  318. package/dist/docs/miro/guides/02-creating-new-resources.md +61 -0
  319. package/dist/docs/miro/guides/03-editing-resources.md +50 -0
  320. package/dist/docs/miro/guides/04-connected-resources.md +54 -0
  321. package/dist/docs/miro/guides/05-services-and-dependencies.md +54 -0
  322. package/dist/docs/miro/guides/06-navigating-the-board.md +44 -0
  323. package/dist/docs/miro/guides/07-exporting-to-eventcatalog.md +75 -0
  324. package/dist/docs/miro/guides/_category_.json +11 -0
  325. package/dist/docs/miro/specifications/01-asyncapi.md +86 -0
  326. package/dist/docs/miro/specifications/02-openapi.md +86 -0
  327. package/dist/docs/miro/specifications/03-schema-registries.md +88 -0
  328. package/dist/docs/miro/specifications/_category_.json +11 -0
  329. package/dist/docs/miro/using-ai/01-overview.md +105 -0
  330. package/dist/docs/miro/using-ai/_category_.json +11 -0
  331. package/dist/docs/plugins/01-intro.md +49 -0
  332. package/dist/docs/plugins/02-generators.md +76 -0
  333. package/dist/docs/plugins/03-all-plugins.md +26 -0
  334. package/dist/docs/plugins/_category_.json +12 -0
  335. package/dist/docs/plugins/amazon-apigateway/00-intro.md +75 -0
  336. package/dist/docs/plugins/amazon-apigateway/01-installation.md +198 -0
  337. package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +136 -0
  338. package/dist/docs/plugins/amazon-apigateway/03-features.md +71 -0
  339. package/dist/docs/plugins/amazon-apigateway/04-examples.md +15 -0
  340. package/dist/docs/plugins/amazon-apigateway/_category_.json +11 -0
  341. package/dist/docs/plugins/apicurio/00-intro.md +102 -0
  342. package/dist/docs/plugins/apicurio/01-installation.md +165 -0
  343. package/dist/docs/plugins/apicurio/02-plugin-configuration.md +682 -0
  344. package/dist/docs/plugins/apicurio/03-features.md +221 -0
  345. package/dist/docs/plugins/apicurio/04-examples.md +20 -0
  346. package/dist/docs/plugins/apicurio/_category_.json +12 -0
  347. package/dist/docs/plugins/asyncapi/00-intro.md +81 -0
  348. package/dist/docs/plugins/asyncapi/01-installation.md +155 -0
  349. package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +312 -0
  350. package/dist/docs/plugins/asyncapi/03-features.md +698 -0
  351. package/dist/docs/plugins/asyncapi/03a-workflows.md +153 -0
  352. package/dist/docs/plugins/asyncapi/04-examples.md +23 -0
  353. package/dist/docs/plugins/asyncapi/04-using-reference-objects.md +45 -0
  354. package/dist/docs/plugins/asyncapi/_category_.json +12 -0
  355. package/dist/docs/plugins/aws-glue-registry/00-intro.md +104 -0
  356. package/dist/docs/plugins/aws-glue-registry/00a-installation.md +305 -0
  357. package/dist/docs/plugins/aws-glue-registry/01-features.md +287 -0
  358. package/dist/docs/plugins/aws-glue-registry/02-examples.md +368 -0
  359. package/dist/docs/plugins/aws-glue-registry/03-api.md +282 -0
  360. package/dist/docs/plugins/aws-glue-registry/_category_.json +11 -0
  361. package/dist/docs/plugins/azure-schema-registry/00-intro.md +92 -0
  362. package/dist/docs/plugins/azure-schema-registry/01-installation.md +409 -0
  363. package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +375 -0
  364. package/dist/docs/plugins/azure-schema-registry/03-features.md +347 -0
  365. package/dist/docs/plugins/azure-schema-registry/04-examples.md +378 -0
  366. package/dist/docs/plugins/azure-schema-registry/_category_.json +12 -0
  367. package/dist/docs/plugins/backstage/00-intro.md +67 -0
  368. package/dist/docs/plugins/backstage/01-installation.md +250 -0
  369. package/dist/docs/plugins/backstage/02-api.md +51 -0
  370. package/dist/docs/plugins/backstage/03-examples.md +12 -0
  371. package/dist/docs/plugins/backstage/_category_.json +11 -0
  372. package/dist/docs/plugins/confluent-schema-registry/00-intro.md +90 -0
  373. package/dist/docs/plugins/confluent-schema-registry/01-installation.md +223 -0
  374. package/dist/docs/plugins/confluent-schema-registry/02-plugin-configuration.md +473 -0
  375. package/dist/docs/plugins/confluent-schema-registry/03-features.md +43 -0
  376. package/dist/docs/plugins/confluent-schema-registry/04-examples.md +19 -0
  377. package/dist/docs/plugins/confluent-schema-registry/_category_.json +12 -0
  378. package/dist/docs/plugins/eventbridge/00-intro.md +55 -0
  379. package/dist/docs/plugins/eventbridge/00a-installation.md +317 -0
  380. package/dist/docs/plugins/eventbridge/01-features.md +225 -0
  381. package/dist/docs/plugins/eventbridge/02-examples.md +17 -0
  382. package/dist/docs/plugins/eventbridge/03-api.md +441 -0
  383. package/dist/docs/plugins/eventbridge/03a-workflows.md +133 -0
  384. package/dist/docs/plugins/eventbridge/_category_.json +11 -0
  385. package/dist/docs/plugins/eventcatalog-federation/00-introduction.md +69 -0
  386. package/dist/docs/plugins/eventcatalog-federation/01-installation.md +182 -0
  387. package/dist/docs/plugins/eventcatalog-federation/02-plugin-configuration.md +208 -0
  388. package/dist/docs/plugins/eventcatalog-federation/03-examples.md +15 -0
  389. package/dist/docs/plugins/eventcatalog-federation/04-configuration.md +193 -0
  390. package/dist/docs/plugins/eventcatalog-federation/05-setup-team-catalog.md +97 -0
  391. package/dist/docs/plugins/eventcatalog-federation/_category_.json +11 -0
  392. package/dist/docs/plugins/github/00-intro.md +93 -0
  393. package/dist/docs/plugins/github/01-installation.md +293 -0
  394. package/dist/docs/plugins/github/02-plugin-configuration.md +253 -0
  395. package/dist/docs/plugins/github/03-features.md +42 -0
  396. package/dist/docs/plugins/github/04-examples.md +17 -0
  397. package/dist/docs/plugins/github/_category_.json +12 -0
  398. package/dist/docs/plugins/graphql/00-intro.md +74 -0
  399. package/dist/docs/plugins/graphql/01-installation.md +144 -0
  400. package/dist/docs/plugins/graphql/02-plugin-configuration.md +127 -0
  401. package/dist/docs/plugins/graphql/03-features.md +197 -0
  402. package/dist/docs/plugins/graphql/04-examples.md +15 -0
  403. package/dist/docs/plugins/graphql/_category_.json +12 -0
  404. package/dist/docs/plugins/hookdeck/01-intro.md +152 -0
  405. package/dist/docs/plugins/hookdeck/02-api.md +133 -0
  406. package/dist/docs/plugins/hookdeck/03-cli.md +45 -0
  407. package/dist/docs/plugins/hookdeck/_category_.json +11 -0
  408. package/dist/docs/plugins/openapi/00-intro.md +78 -0
  409. package/dist/docs/plugins/openapi/01-installation.md +148 -0
  410. package/dist/docs/plugins/openapi/02-plugin-configuration.md +332 -0
  411. package/dist/docs/plugins/openapi/03-features.md +790 -0
  412. package/dist/docs/plugins/openapi/03a-workflows.md +153 -0
  413. package/dist/docs/plugins/openapi/04-examples.md +23 -0
  414. package/dist/docs/plugins/openapi/_category_.json +12 -0
  415. package/dist/eventcatalog.cjs +1 -1
  416. package/dist/eventcatalog.js +5 -5
  417. package/dist/generate.cjs +1 -1
  418. package/dist/generate.js +3 -3
  419. package/dist/utils/cli-logger.cjs +1 -1
  420. package/dist/utils/cli-logger.js +2 -2
  421. package/eventcatalog/src/components/Search/SearchModal.tsx +23 -34
  422. package/eventcatalog/src/components/Search/search-utils.spec.ts +36 -0
  423. package/eventcatalog/src/components/Search/search-utils.ts +34 -0
  424. package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +7 -1
  425. package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +2 -0
  426. package/eventcatalog/src/stores/sidebar-store/builders/flow.ts +77 -0
  427. package/eventcatalog/src/stores/sidebar-store/builders/message.ts +10 -1
  428. package/eventcatalog/src/stores/sidebar-store/builders/service.ts +10 -3
  429. package/eventcatalog/src/stores/sidebar-store/state.ts +126 -2
  430. package/eventcatalog/src/utils/collections/flows.ts +3 -2
  431. package/package.json +4 -4
@@ -0,0 +1,153 @@
1
+ ---
2
+ sidebar_position: 1
3
+ keywords:
4
+ - components
5
+ sidebar_label: Workflows
6
+ title: Workflows
7
+ description: Workflows of AsyncAPI with EventCatalog
8
+ ---
9
+
10
+ import AddedIn from '@site/src/components/MDX/AddedIn';
11
+ import Tabs from '@theme/Tabs';
12
+ import TabItem from '@theme/TabItem';
13
+
14
+ There are a few ways to configure the AsyncAPI plugin depending on your preferred development workflows.
15
+ Many companies have different needs, so we have provided a few different workflows to choose from.
16
+
17
+ - [Simple mapping between AsyncAPI files and EventCatalog services](#simple-mapping-between-asyncapi-files-and-eventcatalog-services)
18
+ - Map a single AsyncAPI file to a single EventCatalog service
19
+ - [Independent message versions from your AsyncAPI file](#independent-message-versions-from-your-asyncapi-file)
20
+ - Version your messages independently of the service version
21
+ - [Mapping multiple AsyncAPI files to a single EventCatalog service](#mapping-multiple-asyncapi-files-to-a-single-eventcatalog-service)
22
+ - Map multiple AsyncAPI files to a single EventCatalog service
23
+ - [Mapping AsyncAPI and OpenAPI files to the same EventCatalog service](#mapping-asyncapi-and-openapi-files-to-the-same-eventcatalog-service)
24
+ - Map an AsyncAPI and OpenAPI file to the same EventCatalog service
25
+
26
+ _If we are missing a workflow that you think is useful, please raise an [issue on GitHub](https://github.com/event-catalog/generators/issues)._
27
+
28
+ ## Simple mapping between AsyncAPI files and EventCatalog services
29
+
30
+ This is the simplest workflow and is useful if you have a single AsyncAPI file per service.
31
+
32
+ EventCatalog will parse your AsyncAPI file and map it's specification to the service you define.
33
+
34
+ This will document your service, and the messages it produces and consumes.
35
+
36
+ ```js title="eventcatalog.config.js"
37
+ // ...rest of file
38
+ generators: [
39
+ [
40
+ '@eventcatalog/generator-asyncapi',
41
+ {
42
+ services: [
43
+ // Tell EventCatalog where the AsyncAPI file is located and map it to the service you define
44
+ { path: path.join(__dirname, 'asyncapi-files', 'orders-service.yml'), id: 'orders-service' },
45
+ ],
46
+ },
47
+ ],
48
+ ],
49
+ ```
50
+
51
+ ### Independent message versions from your AsyncAPI file
52
+
53
+ This is useful if you want to version your messages separately from the AsyncAPI file.
54
+
55
+ AsyncAPI currently does not support versioning messages separately from the AsyncAPI file, that's why you have to use the `x-eventcatalog-message-version` extension.
56
+
57
+ You can use the `x-eventcatalog-message-version` extension to specify a different version for a particular message.
58
+
59
+ ```yaml
60
+ asyncapi: 3.0.0
61
+ info:
62
+ title: Orders Service
63
+ version: 1.0.0
64
+ components:
65
+ messages:
66
+ OrderCreated:
67
+ description: 'Event triggered when an order is created'
68
+ # Specify the version of the message to 2.0.0
69
+ x-eventcatalog-message-version: 2.0.0
70
+ payload:
71
+ type: object
72
+ properties:
73
+ orderId:
74
+ type: string
75
+ description: The ID of the order
76
+ ```
77
+
78
+ In the example above, the message `OrderCreated` will be versioned as `2.0.0` and all other messages will be versioned as `1.0.0`.
79
+
80
+ You can read more about message versioning in the [Features](/docs/plugins/asyncapi/features#defining-message-versions) section.
81
+
82
+ ## Mapping multiple AsyncAPI files to a single EventCatalog service
83
+
84
+ This is useful if you have a single service that produces and consumes multiple AsyncAPI versions.
85
+
86
+ Some people call this a "polyglot" service, as it produces and consumes multiple APIs.
87
+
88
+ ```js title="eventcatalog.config.js"
89
+ // ...rest of file
90
+ generators: [
91
+ [
92
+ '@eventcatalog/generator-asyncapi',
93
+ {
94
+ services: [
95
+ // Version 1 of the AsyncAPI file
96
+ { path: path.join(__dirname, 'asyncapi-files', 'orders-service-v1.yml'), id: 'orders-service' },
97
+ // Version 2 of the AsyncAPI File
98
+ { path: path.join(__dirname, 'asyncapi-files', 'orders-service-v2.yml'), id: 'orders-service' },
99
+ ],
100
+ },
101
+ ],
102
+ ],
103
+ ```
104
+
105
+ :::info Versioning
106
+ When you map multiple versions of an AsyncAPI file to a single service, the `version` property in your AsyncAPI files needs to be the same.
107
+
108
+ If they are different, EventCatalog will version the previous versions of your service.
109
+
110
+ In the example above, the `version` property in the AsyncAPI files is `1.0.0` and `2.0.0`.
111
+
112
+ EventCatalog will version the service as `1.0.0` and `2.0.0`.
113
+
114
+ The messages in the service will be versioned as `1.0.0` and `2.0.0`.
115
+
116
+ This allows you to track the history of your service and the messages in it.
117
+
118
+ :::
119
+
120
+ ## Mapping AsyncAPI and OpenAPI files to the same EventCatalog service
121
+
122
+ <AddedIn version="5.1.1" pkg="@eventcatalog/generator-asyncapi" url="https://github.com/event-catalog/generators/releases/tag/v"/>
123
+ <AddedIn version="7.6.1" pkg="@eventcatalog/generator-openapi" url="https://github.com/event-catalog/generators/releases/tag/v"/>
124
+
125
+ This is useful if you have a single service that produces and consumes both AsyncAPI and OpenAPI files.
126
+
127
+ In this example we map an OpenAPI file and an AsyncAPI file to the same service (inventory-service).
128
+
129
+ The AsyncAPI and OpenAPI may have their own versions independent of each other, but EventCatalog will document both of them in the same service.
130
+
131
+ :::tip Message Versioning
132
+ You can still use the `x-eventcatalog-message-version` extension to version your messages independently of the service version.
133
+ :::
134
+
135
+ ```js title="eventcatalog.config.js"
136
+ // ...rest of file
137
+ generators: [
138
+ [
139
+ "@eventcatalog/generator-openapi",
140
+ {
141
+ services: [
142
+ { path: path.join(__dirname, "specifications", "openapi.yml"), id: "inventory-service", version: "15.2.0" },
143
+ ],
144
+ },
145
+ ],
146
+ [
147
+ "@eventcatalog/generator-asyncapi",
148
+ {
149
+ services: [{ path: path.join(__dirname, "specifications", "asyncapi.yml"), id: "inventory-service", version: "15.2.0" }],
150
+ },
151
+ ],
152
+ ],
153
+ ```
@@ -0,0 +1,23 @@
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 many examples of using the AsyncAPI plugin in the [EventCatalog GitHub repository](https://github.com/event-catalog/generators).
11
+
12
+ ## Examples
13
+
14
+ - [AsyncAPI Example](https://github.com/event-catalog/generators/tree/main/examples/generator-asyncapi/basic)
15
+ - A basic example of using the AsyncAPI plugin to generate a catalog from an AsyncAPI file.
16
+ - [Fetch AsyncAPI files from remote URLs](https://github.com/event-catalog/generators/tree/main/examples/generator-asyncapi/fetch-from-remote-urls)
17
+ - An example of using the AsyncAPI plugin to fetch an AsyncAPI file from a remote URL.
18
+ - [Version AsyncAPI messages in EventCatalog](https://github.com/event-catalog/generators/tree/main/examples/generator-asyncapi/independent-message-versioning)
19
+ - An example of using the AsyncAPI plugin to version AsyncAPI messages in EventCatalog.
20
+ - [Map AsyncAPI routes to commands, events and queries](https://github.com/event-catalog/generators/tree/main/examples/generator-asyncapi/mapping-commands-events-queries)
21
+ - An example of using the AsyncAPI plugin to map AsyncAPI routes to commands, events and queries.
22
+ - [Assign ownership to teams](https://github.com/event-catalog/generators/tree/main/examples/generator-asyncapi/message-ownership)
23
+ - An example of using the AsyncAPI plugin to assign ownership to teams.
@@ -0,0 +1,45 @@
1
+ ---
2
+ sidebar_position: 4
3
+ keywords:
4
+ - components
5
+ sidebar_label: Using reference objects
6
+ title: Using reference objects
7
+ description: Understanding reference objects with AsyncAPI
8
+ ---
9
+
10
+ AsyncAPI supports reusable parts in your AsyncAPI files using [References Objects](https://www.asyncapi.com/docs/concepts/asyncapi-document/reusable-parts).
11
+
12
+ EventCatalog also supports reference with EventCatalog. For example you can keep your message schemas outside of your AsyncAPI file, as seen in this example.
13
+
14
+ ```yaml title="/asyncapi.yml"
15
+ channels:
16
+ signUp:
17
+ address: user/signedup
18
+ messages:
19
+ UserSignup:
20
+ $ref: './message-schema.yaml#/UserSignup'
21
+ operations:
22
+ user/signedup.publish:
23
+ action: receive
24
+ channel:
25
+ $ref: '#/channels/signUp'
26
+ messages:
27
+ - $ref: '#/channels/signUp/messages/UserSignup'
28
+ ```
29
+
30
+ ```yaml title="/message-schema.yaml"
31
+ UserSignup:
32
+ name: UserSignup
33
+ title: User signup
34
+ summary: Action to sign a user up.
35
+ description: A longer description
36
+ contentType: application/json
37
+ payload: null
38
+ ```
39
+
40
+ You can see the example [EventCatalog AsyncAPI GitHub project for a demo](https://github.com/event-catalog/generators/tree/main/examples/generator-asyncapi).
41
+
42
+ ---
43
+
44
+ Note: When the AsyncAPI file is written against your EventCatalog service, all refs are removed. This allows EventCatalog to render the AsyncAPI UI without the need to store and track references.
45
+
@@ -0,0 +1,12 @@
1
+ {
2
+ "label": "AsyncAPI Plugin",
3
+ "position": 4,
4
+ "collapsible": true,
5
+ "collapsed": false,
6
+ "link": {
7
+ "type": "generated-index",
8
+ "slug": "asyncapi",
9
+ "title": "AsyncAPI",
10
+ "description": "AsyncAPI integration documentation for EventCatalog"
11
+ }
12
+ }
@@ -0,0 +1,104 @@
1
+ ---
2
+ sidebar_position: 1
3
+ keywords:
4
+ - components
5
+ sidebar_label: Introduction
6
+ title: Getting started
7
+ description: Getting started with AWS Glue Schema Registry 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="515" src="https://www.youtube.com/embed/cUQDdisz1wg?si=4Sj262A8N6iD8MTV" 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
+ [AWS Glue Schema Registry](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html) is a feature of [AWS Glue](https://aws.amazon.com/glue) that enables you to discover, register, and evolve schemas for your data streams. The Schema Registry helps you centrally store and manage schemas for your event-driven applications and streaming data platforms.
20
+
21
+ AWS Glue Schema Registry provides schema evolution with full compatibility control, supporting Apache Avro, JSON Schema, and Protocol Buffers formats. It integrates seamlessly with AWS services like Amazon Kinesis, Amazon MSK, and the Apache Kafka ecosystem.
22
+
23
+ Using [schema versioning and compatibility features](https://docs.aws.amazon.com/glue/latest/dg/schema-registry-concepts.html), as schemas evolve in your applications, they are versioned and stored in the registry. These schemas can be used to help you and your teams understand and discover events in your event-driven architecture, ensuring data quality and contract compliance.
24
+
25
+ Although Glue Schema Registry offers powerful schema management solutions, [there is still an issue of discoverability and documentation for your events, services and domains](https://www.youtube.com/watch?v=VLUvfIm9wnQ&t=4s). It remains difficult to organize your event-driven architecture for governance and team collaboration.
26
+
27
+ ### Why use EventCatalog with AWS Glue Schema Registry?
28
+
29
+ Using the EventCatalog AWS Glue Schema Registry integration you can sync your schemas with EventCatalog.
30
+
31
+ You can map and sync schemas to your services and domains, and then use the EventCatalog to document your architecture.
32
+ Giving your teams a single source of truth for your event-driven architecture.
33
+
34
+ ### Core Features
35
+
36
+ The EventCatalog AWS Glue plugin can provide you with many features:
37
+
38
+ - Import schemas directly from AWS Glue Schema Registry and keep them in sync with your documentation
39
+ - Assign schemas to producers and consumers
40
+ - Use filters to assign your schemas to your producer and consumers (e.g tag matching, prefix, suffix, etc)
41
+ - Generate domains, services, channels and messages into your catalog
42
+ - Add more meaning to your schemas with custom markdown. Persisted between changes to your schemas.
43
+ - Visualize your schemas and let your teams download and explore them in your catalog.
44
+ - Use EventCatalog MCP and AI features to talk to your schemas, and find insights in seconds.
45
+ - and more....
46
+
47
+ ### How it works
48
+
49
+ ![How it works](/img/integrations/aws-glue/glue.png)
50
+
51
+ EventCatalog supports [generators](/docs/plugins/generators). These are scripts or plugins that can be run to integrate with any external API, system or specification files. EventCatalog also provides an [SDK](/docs/sdk) to give developers easier access to their catalogs through custom scripts or generators.
52
+
53
+ The EventCatalog AWS Glue Schema Registry plugin lets you document, sync and map your schemas into EventCatalog.
54
+
55
+ You can use [custom filters (schemaName, prefix, suffix, includes, tags, dataFormat)](/docs/plugins/aws-glue-registry/features) to map which schemas you want your service to produce and consume. This is useful if you have a lot of schemas and you want to map only a subset of them to your services.
56
+
57
+ You can also use the EventCatalog plugin to map ALL schemas from your registry into your system and not map them into services if you wish to have a direct import.
58
+
59
+ ### Supported Schema Formats
60
+
61
+ EventCatalog is technology agnostic, and supports all schema formats.
62
+
63
+ The plugin supports all AWS Glue Schema Registry formats:
64
+
65
+ - **Apache Avro** - For efficient serialization in streaming applications
66
+ - **JSON Schema** - For JSON data validation and documentation
67
+ - **Protocol Buffers** - For language-neutral, platform-neutral serialization
68
+
69
+
70
+ ### See an example
71
+
72
+ If you would like to get started with our example project, [you can find it on GitHub](https://github.com/event-catalog/generators/tree/main/examples/generator-glue-registry/basic).
73
+
74
+
75
+
76
+ ## Commercial and License
77
+
78
+ This plugin requires a license key to be used.
79
+
80
+ You can get a 14 day trial license key to try the plugin out by going to [EventCatalog Cloud](https://eventcatalog.cloud).
81
+
82
+ After the trial you can purchase a license to continue using this plugin, we have different plans to suit your organization.
83
+
84
+ See [pricing](/pricing) for more information.
85
+
86
+ _Have any questions? You can email us at `hello@eventcatalog.dev`._
87
+
88
+ ## License FAQ
89
+
90
+ ### What is the license key for?
91
+ The license key is required to use the AWS Glue Schema Registry plugin with EventCatalog. It helps support ongoing development and maintenance of the plugin and project.
92
+
93
+ ### How do I get a license key?
94
+ You can obtain a license key by visiting [EventCatalog Cloud](https://eventcatalog.cloud). New users can start with a 14-day free trial.
95
+
96
+ ### Terms
97
+ - **Trial Period**: 14 days free trial no credit card required
98
+ - **Support**: Discord community support (extra for priority support)
99
+
100
+ After your trial period ends, you can purchase a full license through [EventCatalog Cloud](https://eventcatalog.cloud) to continue using the plugin.
101
+
102
+ ## Issues
103
+
104
+ If you have any problems or feature requests please feel free to raise them on GitHub. https://github.com/event-catalog/generators
@@ -0,0 +1,305 @@
1
+ ---
2
+ sidebar_position: 2
3
+ keywords:
4
+ - installation
5
+ sidebar_label: Installation
6
+ title: Installation
7
+ description: How to install the AWS Glue Schema Registry plugin
8
+ ---
9
+
10
+ import AddedIn from '@site/src/components/MDX/AddedIn';
11
+ import PluginLicense from '@site/src/components/MDX/PluginLicense';
12
+ import Tabs from '@theme/Tabs';
13
+ import TabItem from '@theme/TabItem';
14
+
15
+ <PluginLicense url="#commercial-use" />
16
+
17
+ ## Installation
18
+
19
+ Install the plugin into your EventCatalog application:
20
+
21
+ :::tip "Don't have an EventCatalog project yet?"
22
+ If you don't have an EventCatalog project yet, you can follow the instructions in the [Getting Started](/docs/development/getting-started/installation) guide.
23
+ :::
24
+
25
+
26
+ ```bash
27
+ npm install @eventcatalog/generator-aws-glue
28
+ ```
29
+
30
+ ## Configuration
31
+
32
+ Add the generator to your `eventcatalog.config.js` file:
33
+
34
+ <Tabs>
35
+ <TabItem value="apple" label="Import all schemas" default>
36
+
37
+ ---
38
+
39
+ In this example we import all schemas from an AWS Glue Schema Registry.
40
+
41
+ We don't map them to any services or domains.
42
+
43
+ ```js title="eventcatalog.config.js"
44
+ // ...
45
+ generators: [
46
+ // Import all schemas into your catalog
47
+ [
48
+ '@eventcatalog/generator-aws-glue',
49
+ {
50
+ // The region of your AWS Glue Schema Registry
51
+ region: 'us-east-1',
52
+ // The name of your AWS Glue Schema Registry
53
+ registryName: 'my-glue-registry'
54
+ },
55
+ ],
56
+ ],
57
+ // ...
58
+ ```
59
+ </TabItem>
60
+ <TabItem value="orange" label="Map schemas to producers and consumers">
61
+
62
+ ---
63
+
64
+ In this example we map schemas to producers and consumers (services).
65
+
66
+ Every time you run the plugin, it will check if the service already exists in your catalog.
67
+
68
+ If the service already exists, it will not create a new one and just maintain the schema mappings.
69
+
70
+ We create two services, the `orders` service and the `inventory` service.
71
+
72
+
73
+
74
+ ```js title="eventcatalog.config.js"
75
+ // ...
76
+ generators: [
77
+ [
78
+ '@eventcatalog/generator-eventbridge',
79
+ {
80
+ // The region of your EventBridge registry
81
+ region: 'us-east-1',
82
+ // The name of your AWS Glue Schema Registry
83
+ registryName: 'my-glue-registry',
84
+ // Creating producers and consumers, and mapping them to your catalog
85
+ services: [
86
+
87
+ // We map schemas to the orders service
88
+ // Using the prefix and suffix we can map specific schemas to the service
89
+ { id: 'Orders Service', version: '1.0.0', sends: [{ prefix: 'Order' }, { suffix: 'Placed' }], receives:[{ prefix: 'Inventory' }, { suffix: 'Adjusted' }] },
90
+
91
+ // Map schemas to the Inventory Service
92
+ // Filter by prefix (all schemas that match the prefix get assigned). This example shows any schema matching the prefix
93
+ // "myapp.orders" will be assigned to the inventory service. The inventory service will publish these schemas.
94
+ { id: 'Inventory Service', version: '1.0.0', sends: [{ prefix: "myapp.orders"}], receives:[{ prefix: "UserCheckedOut"}] },
95
+
96
+
97
+ // This service sends schemas that match the SchemaName prefixing myapp, and will receive schemas that end with Payment
98
+ // this also does not map any schemas to your schemas
99
+ { id: 'Payment Service', version: '1.0.0', sends: [{ prefix: "myapp"}], receives:[{ suffix: "Payment" }] }
100
+ ],
101
+
102
+ // all services are mapped to this domain
103
+ domain: { id: 'orders', name: 'Orders', version: '0.0.1' },
104
+ },
105
+ ],
106
+ ],
107
+ // ...
108
+ ```
109
+ </TabItem>
110
+ <TabItem value="orange2" label="Multiple domains, services and events">
111
+
112
+ ---
113
+
114
+ In this example we have two domains, `orders` and `inventory`.
115
+
116
+ We map schemas to the orders and inventory services, and we assign these services to new domains.
117
+
118
+ If the domain or service already exists in your catalog, the plugin will not create a new one and just maintain the schema mappings.
119
+
120
+ :::info Why do we define the plugin twice?
121
+ The plugin can be defined multiple times in your `eventcatalog.config.js` file.
122
+
123
+ In this example we define the plugin twice, the first time we import the schemas and create the `orders` domain.
124
+
125
+ The second time we map the inventory service to the `inventory` domain.
126
+ :::
127
+
128
+ ```js title="eventcatalog.config.js"
129
+ // ...
130
+ generators: [
131
+ [
132
+ '@eventcatalog/generator-aws-glue',
133
+ {
134
+ // The region of your AWS Glue Schema Registry
135
+ region: 'us-east-1',
136
+ // The name of your AWS Glue Schema Registry
137
+ registryName: 'my-glue-registry',
138
+ // Creating producers and consumers, and mapping them to your catalog
139
+ services: [
140
+ // We map schemas to the orders service
141
+ // Using the prefix and suffix we can map specific schemas to the service
142
+ { id: 'Orders Service', version: '1.0.0', sends: [{ prefix: 'Order' }, { suffix: 'Placed' }], receives:[{ prefix: 'Inventory' }, { suffix: 'Adjusted' }] },
143
+ ],
144
+
145
+ // all services are mapped to this domain
146
+ domain: { id: 'orders', name: 'Orders', version: '0.0.1' },
147
+ },
148
+ ],
149
+ [
150
+ '@eventcatalog/generator-aws-glue',
151
+ {
152
+ region: 'us-east-1',
153
+ registryName: 'my-glue-registry',
154
+ services: [
155
+ // Create the inventory service and map schemas to it (producer/consumer relationship)
156
+ { id: 'Inventory Service', version: '1.0.0', sends: [{ prefix: "myapp.orders"}], receives:[{ prefix: "UserCheckedOut"}] },
157
+ ],
158
+
159
+ // create the inventory domain and assign the inventory service to it
160
+ domain: { id: 'inventory', name: 'Inventory', version: '0.0.1' },
161
+ },
162
+ ],
163
+ ],
164
+ // ...
165
+ ```
166
+ </TabItem>
167
+ </Tabs>
168
+
169
+ ### Configure license key
170
+
171
+ The EventCatalog AWS Glue Schema Registry plugin requires a license key to work with EventCatalog.
172
+
173
+ You can get a trial license key from [EventCatalog Cloud](https://eventcatalog.cloud).
174
+
175
+ You have a few options for setting the license key:
176
+
177
+ 1. [Setting license key in `.env` file (recommended)](#setting-license-key-in-env-file-recommended)
178
+ 2. [Setting license key in eventcatalog.config.js](#setting-license-key-in-eventcatalogconfigjs)
179
+
180
+ #### 1. Setting license key in `.env` file (recommended)
181
+
182
+ Create a `.env` file in the root of your project and add the following:
183
+
184
+ ```bash title=".env"
185
+ EVENTCATALOG_LICENSE_KEY_AWS_GLUE_SCHEMA_REGISTRY=your-license-key
186
+ ```
187
+
188
+ #### 2. Setting license key in eventcatalog.config.js
189
+
190
+ If you prefer, you can set the license key in the `eventcatalog.config.js` file
191
+ using the `licenseKey` property in the EventCatalog AWS Glue Schema Registry plugin.
192
+
193
+ ```js title="eventcatalog.config.js"
194
+ export default {
195
+ generators: [
196
+ [
197
+ '@eventcatalog/generator-aws-glue',
198
+ {
199
+ licenseKey: '[INSERT_YOUR_LICENSE_KEY]', // or process.env.EVENTCATALOG_LICENSE_KEY_AWS_GLUE_SCHEMA_REGISTRY
200
+ },
201
+ ],
202
+ ],
203
+ };
204
+ ```
205
+
206
+ #### White listing EventCatalog domains
207
+
208
+ If you are behind a firewall you will need to white list the domain `https://api.eventcatalog.cloud` in your firewall. This is because the plugin needs to verify your license key.
209
+
210
+ ## Required AWS Permissions
211
+
212
+ The plugin requires the following AWS IAM permissions to access your Glue Schema Registry:
213
+
214
+ ```json
215
+ {
216
+ "Version": "2012-10-17",
217
+ "Statement": [
218
+ {
219
+ "Effect": "Allow",
220
+ "Action": [
221
+ "glue:ListSchemas",
222
+ "glue:GetSchema",
223
+ "glue:GetSchemaVersion",
224
+ "glue:GetTags"
225
+ ],
226
+ "Resource": [
227
+ "arn:aws:glue:*:*:registry/*",
228
+ "arn:aws:glue:*:*:schema/*/*"
229
+ ]
230
+ }
231
+ ]
232
+ }
233
+ ```
234
+
235
+ ## AWS Credential Configuration
236
+
237
+ The plugin uses the AWS SDK for JavaScript and supports all standard AWS credential methods:
238
+
239
+ ### Environment Variables
240
+ ```bash
241
+ export AWS_ACCESS_KEY_ID=your-access-key
242
+ export AWS_SECRET_ACCESS_KEY=your-secret-key
243
+ export AWS_REGION=us-east-1
244
+ ```
245
+
246
+ ### AWS CLI Profile
247
+ ```bash
248
+ aws configure --profile eventcatalog
249
+ export AWS_PROFILE=eventcatalog
250
+ ```
251
+
252
+ ### Custom Credentials
253
+ You can also provide credentials directly in the configuration:
254
+
255
+ ```js
256
+ // eventcatalog.config.js
257
+ module.exports = {
258
+ generators: [
259
+ [
260
+ '@eventcatalog/generator-aws-glue',
261
+ {
262
+ region: 'us-east-1',
263
+ registryName: 'my-event-registry',
264
+ credentials: {
265
+ accessKeyId: 'your-access-key',
266
+ secretAccessKey: 'your-secret-key',
267
+ },
268
+ },
269
+ ],
270
+ ],
271
+ }
272
+ ```
273
+
274
+ :::warning
275
+ Never commit credentials to your repository. Use environment variables or AWS credential files instead.
276
+ :::
277
+
278
+ ## Cross-Account Access
279
+
280
+ To access registries in different AWS accounts, use the `registryArn` parameter:
281
+
282
+ ```js
283
+ // eventcatalog.config.js
284
+ module.exports = {
285
+ generators: [
286
+ [
287
+ '@eventcatalog/generator-aws-glue',
288
+ {
289
+ region: 'us-east-1',
290
+ registryArn: 'arn:aws:glue:us-east-1:123456789012:registry/cross-account-registry',
291
+ },
292
+ ],
293
+ ],
294
+ }
295
+ ```
296
+
297
+ ## Running the Generator
298
+
299
+ Once configured, generate your catalog:
300
+
301
+ ```bash
302
+ npm run generate
303
+ ```
304
+
305
+ This will connect to your AWS Glue Schema Registry and generate EventCatalog documentation for all your schemas.