@eventcatalog/core 3.35.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.
- 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-LUWCWNOR.js → chunk-4SNN54V4.js} +1 -1
- package/dist/{chunk-NEWQKEP7.js → chunk-B7C4DHFE.js} +1 -1
- package/dist/{chunk-DFLUDECO.js → chunk-JEQZWJWP.js} +1 -1
- package/dist/{chunk-Y5O6SCX3.js → chunk-R4DR3YAH.js} +1 -1
- package/dist/{chunk-B2LDVIVY.js → chunk-VJ357XOI.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/docs/api/01-overview.md +74 -0
- package/dist/docs/api/02-config.md +937 -0
- package/dist/docs/api/03-domain-api.md +394 -0
- package/dist/docs/api/04-service-api.md +368 -0
- package/dist/docs/api/05-command-api.md +319 -0
- package/dist/docs/api/06-event-api.md +318 -0
- package/dist/docs/api/06-query-api.md +316 -0
- package/dist/docs/api/08-channel-api.md +317 -0
- package/dist/docs/api/08-code-blocks.md +53 -0
- package/dist/docs/api/09-flow-api.md +362 -0
- package/dist/docs/api/10-entity-api.md +285 -0
- package/dist/docs/api/11-data-api.md +268 -0
- package/dist/docs/api/12-data-product-api.md +416 -0
- package/dist/docs/api/_category_.json +12 -0
- package/dist/docs/cli/channels.md +180 -0
- package/dist/docs/cli/commands.md +183 -0
- package/dist/docs/cli/custom-docs.md +78 -0
- package/dist/docs/cli/data-products.md +177 -0
- package/dist/docs/cli/data-stores.md +166 -0
- package/dist/docs/cli/diagrams.md +147 -0
- package/dist/docs/cli/domains.md +280 -0
- package/dist/docs/cli/entities.md +138 -0
- package/dist/docs/cli/events.md +186 -0
- package/dist/docs/cli/export.md +27 -0
- package/dist/docs/cli/governance.md +24 -0
- package/dist/docs/cli/import.md +26 -0
- package/dist/docs/cli/index.md +121 -0
- package/dist/docs/cli/messages.md +69 -0
- package/dist/docs/cli/queries.md +183 -0
- package/dist/docs/cli/services.md +266 -0
- package/dist/docs/cli/snapshots.md +44 -0
- package/dist/docs/cli/teams.md +75 -0
- package/dist/docs/cli/users.md +75 -0
- package/dist/docs/cli/utilities.md +43 -0
- package/dist/docs/contributing/01-overview.md +186 -0
- package/dist/docs/contributing/_category_.json +12 -0
- package/dist/docs/development/00-why-eventcatalog.md +87 -0
- package/dist/docs/development/01-fundamentals.md +34 -0
- package/dist/docs/development/01-getting-started/_category_.json +12 -0
- package/dist/docs/development/01-getting-started/configuration-overview.md +124 -0
- package/dist/docs/development/01-getting-started/develop-and-build.md +71 -0
- package/dist/docs/development/01-getting-started/installation.md +103 -0
- package/dist/docs/development/01-getting-started/project-structure.md +269 -0
- package/dist/docs/development/_category_.json +12 -0
- package/dist/docs/development/_getting-started.mdx +15 -0
- package/dist/docs/development/agent-resources/_category_.json +6 -0
- package/dist/docs/development/agent-resources/eventcatalog-skills.md +17 -0
- package/dist/docs/development/agent-resources/llms-full.md +17 -0
- package/dist/docs/development/agent-resources/llms.md +17 -0
- package/dist/docs/development/ask-your-architecture/01-intro.md +89 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +23 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +72 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +385 -0
- package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +11 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +12 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +216 -0
- package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +47 -0
- package/dist/docs/development/ask-your-architecture/04-skills/01-introduction.md +40 -0
- package/dist/docs/development/ask-your-architecture/04-skills/02-installation.md +60 -0
- package/dist/docs/development/ask-your-architecture/04-skills/_category_.json +11 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/01-introduction.md +63 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/02-slack-app-setup.md +154 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/03-installation.md +169 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/04-deployment.md +236 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/05-usage.md +140 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/06-troubleshooting.md +268 -0
- package/dist/docs/development/ask-your-architecture/05-slack-integration/_category_.json +12 -0
- package/dist/docs/development/ask-your-architecture/_category_.json +12 -0
- package/dist/docs/development/authentication/01-introduction.md +78 -0
- package/dist/docs/development/authentication/02-enabling-authentication.md +152 -0
- package/dist/docs/development/authentication/07-rbac-middleware.md +269 -0
- package/dist/docs/development/authentication/_category_.json +11 -0
- package/dist/docs/development/authentication/providers/03-setting-up-github.md +83 -0
- package/dist/docs/development/authentication/providers/03a-setting-up-google.md +92 -0
- package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +100 -0
- package/dist/docs/development/authentication/providers/05-setting-up-okta.md +105 -0
- package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +106 -0
- package/dist/docs/development/authentication/providers/_category_.json +11 -0
- package/dist/docs/development/bring-your-own-documentation/01-introduction.md +48 -0
- package/dist/docs/development/bring-your-own-documentation/_category_.json +12 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +60 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +207 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +46 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +45 -0
- package/dist/docs/development/bring-your-own-documentation/custom-pages/_category_.json +11 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +34 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +143 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +68 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +45 -0
- package/dist/docs/development/bring-your-own-documentation/resource-docs/_category_.json +11 -0
- package/dist/docs/development/components/04-snippets.md +134 -0
- package/dist/docs/development/components/05-using-components.md +67 -0
- package/dist/docs/development/components/07-resource-references.md +136 -0
- package/dist/docs/development/components/_category_.json +12 -0
- package/dist/docs/development/components/components/01-accordian.md +41 -0
- package/dist/docs/development/components/components/02-accordian-group.md +57 -0
- package/dist/docs/development/components/components/03-admonitions.md +43 -0
- package/dist/docs/development/components/components/04-attachments.md +56 -0
- package/dist/docs/development/components/components/05-channel-information.md +29 -0
- package/dist/docs/development/components/components/06-design.md +66 -0
- package/dist/docs/development/components/components/07-entitymap.md +71 -0
- package/dist/docs/development/components/components/08-flow.md +46 -0
- package/dist/docs/development/components/components/09-link.md +32 -0
- package/dist/docs/development/components/components/10-mermaid-file-loader.md +63 -0
- package/dist/docs/development/components/components/11-message-table.md +43 -0
- package/dist/docs/development/components/components/12-nodegraph.md +167 -0
- package/dist/docs/development/components/components/13-openapi.md +55 -0
- package/dist/docs/development/components/components/14-prompt.md +69 -0
- package/dist/docs/development/components/components/15-remote-schema.md +174 -0
- package/dist/docs/development/components/components/16-resource-group-table.md +86 -0
- package/dist/docs/development/components/components/17-resource-link.md +57 -0
- package/dist/docs/development/components/components/18-schema.md +44 -0
- package/dist/docs/development/components/components/19-schema-viewer.md +69 -0
- package/dist/docs/development/components/components/20-steps.md +83 -0
- package/dist/docs/development/components/components/21-tabs.md +55 -0
- package/dist/docs/development/components/components/22-tiles.md +53 -0
- package/dist/docs/development/components/components/23-visibility.md +61 -0
- package/dist/docs/development/components/components/_category_.json +12 -0
- package/dist/docs/development/components/diagram-syntax/01-mermaid.md +218 -0
- package/dist/docs/development/components/diagram-syntax/02-plantuml.md +140 -0
- package/dist/docs/development/components/diagram-syntax/03-structurizr.md +24 -0
- package/dist/docs/development/components/diagram-syntax/04-icepanel.md +75 -0
- package/dist/docs/development/components/diagram-syntax/_category_.json +12 -0
- package/dist/docs/development/components/external-diagram-embeds/01-miro.md +64 -0
- package/dist/docs/development/components/external-diagram-embeds/02-lucid.md +47 -0
- package/dist/docs/development/components/external-diagram-embeds/03-drawio.md +46 -0
- package/dist/docs/development/components/external-diagram-embeds/04-figjam.md +44 -0
- package/dist/docs/development/components/external-diagram-embeds/05-icepanel.md +68 -0
- package/dist/docs/development/components/external-diagram-embeds/_category_.json +12 -0
- package/dist/docs/development/customization/01-customize-landing-page.md +155 -0
- package/dist/docs/development/customization/02-themes.md +429 -0
- package/dist/docs/development/customization/06-customize-tables.md +194 -0
- package/dist/docs/development/customization/_category_.json +12 -0
- package/dist/docs/development/customization/custom-components/00-what-is-mdx.md +73 -0
- package/dist/docs/development/customization/custom-components/01-introduction.md +28 -0
- package/dist/docs/development/customization/custom-components/02-adding-components.md +145 -0
- package/dist/docs/development/customization/custom-components/03-component-styling.md +27 -0
- package/dist/docs/development/customization/custom-components/04-javascript-components.md +32 -0
- package/dist/docs/development/customization/custom-components/_category_.json +11 -0
- package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -0
- package/dist/docs/development/customization/customize-sidebars/01-documentation-sidebar.md +187 -0
- package/dist/docs/development/customization/customize-sidebars/_category_.json +11 -0
- package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +50 -0
- package/dist/docs/development/customization/customize-visualizer/_category_.json +11 -0
- package/dist/docs/development/deployment/_category_.json +12 -0
- package/dist/docs/development/deployment/build-and-deploy.md +71 -0
- package/dist/docs/development/deployment/build-ssr-mode.md +50 -0
- package/dist/docs/development/deployment/deployment-workflows.md +43 -0
- package/dist/docs/development/deployment/hosting-options.md +112 -0
- package/dist/docs/development/deployment/licenses.md +50 -0
- package/dist/docs/development/design/_category_.json +12 -0
- package/dist/docs/development/design/embed-designs-into-eventcatalog.md +29 -0
- package/dist/docs/development/design/further-reading.md +19 -0
- package/dist/docs/development/design/import-resources.md +27 -0
- package/dist/docs/development/design/intro.md +22 -0
- package/dist/docs/development/developer-tools/_category_.json +12 -0
- package/dist/docs/development/developer-tools/eventcatalog-linter.md +597 -0
- package/dist/docs/development/developer-tools/github-action.md +147 -0
- package/dist/docs/development/developer-tools/llms.txt.md +55 -0
- package/dist/docs/development/developer-tools/schemas.txt.md +42 -0
- package/dist/docs/development/governance/_category_.json +6 -0
- package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +62 -0
- package/dist/docs/development/governance/architecture-change-detection/02-configuration.md +134 -0
- package/dist/docs/development/governance/architecture-change-detection/03-recipes.md +309 -0
- package/dist/docs/development/governance/architecture-change-detection/04-webhooks.md +187 -0
- package/dist/docs/development/governance/architecture-change-detection/05-ci-cd.md +121 -0
- package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +162 -0
- package/dist/docs/development/governance/architecture-change-detection/_category_.json +6 -0
- package/dist/docs/development/guides/12-customize-your-sidebar.md +12 -0
- package/dist/docs/development/guides/99-adding-analytics.md +138 -0
- package/dist/docs/development/guides/_category_.json +11 -0
- package/dist/docs/development/guides/changelogs/01-introduction.md +33 -0
- package/dist/docs/development/guides/changelogs/02-adding-changelogs.md +94 -0
- package/dist/docs/development/guides/changelogs/03-automated-changelogs.md +44 -0
- package/dist/docs/development/guides/changelogs/_category_.json +11 -0
- package/dist/docs/development/guides/channels/01-introduction.md +111 -0
- package/dist/docs/development/guides/channels/02-adding-channels.md +198 -0
- package/dist/docs/development/guides/channels/04-adding-messages-to-services.md +292 -0
- package/dist/docs/development/guides/channels/09-configuration +39 -0
- package/dist/docs/development/guides/channels/_category_.json +11 -0
- package/dist/docs/development/guides/channels/ownership-and-components/01-owners.md +44 -0
- package/dist/docs/development/guides/channels/ownership-and-components/02-components.md +16 -0
- package/dist/docs/development/guides/channels/ownership-and-components/_category_.json +11 -0
- package/dist/docs/development/guides/channels/versioning-and-lifecycle/01-versioning.md +31 -0
- package/dist/docs/development/guides/channels/versioning-and-lifecycle/02-changelog.md +56 -0
- package/dist/docs/development/guides/channels/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/guides/data/01-introduction.md +34 -0
- package/dist/docs/development/guides/data/02-adding-data.md +86 -0
- package/dist/docs/development/guides/data/03a-adding-schemas-to-data-stores.md +73 -0
- package/dist/docs/development/guides/data/_category_.json +11 -0
- package/dist/docs/development/guides/data/ownership-and-components/01-owners.md +45 -0
- package/dist/docs/development/guides/data/ownership-and-components/02-components.md +17 -0
- package/dist/docs/development/guides/data/ownership-and-components/_category_.json +11 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/01-versioning.md +32 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/02-changelog.md +57 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/03-deprecating.md +71 -0
- package/dist/docs/development/guides/data/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/guides/data-products/01-introduction.md +116 -0
- package/dist/docs/development/guides/data-products/02-adding-data-products.md +157 -0
- package/dist/docs/development/guides/data-products/03-inputs-and-outputs.md +128 -0
- package/dist/docs/development/guides/data-products/04-contracts.md +102 -0
- package/dist/docs/development/guides/data-products/05-versioning.md +240 -0
- package/dist/docs/development/guides/data-products/06-adding-to-domains.md +52 -0
- package/dist/docs/development/guides/data-products/_category_.json +11 -0
- package/dist/docs/development/guides/diagrams/01-introduction.md +78 -0
- package/dist/docs/development/guides/diagrams/02-creating-diagrams.md +195 -0
- package/dist/docs/development/guides/diagrams/03-referencing-diagrams.md +195 -0
- package/dist/docs/development/guides/diagrams/04-versioning-diagrams.md +204 -0
- package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +145 -0
- package/dist/docs/development/guides/diagrams/06-diagrams-with-llms.md +165 -0
- package/dist/docs/development/guides/diagrams/_category_.json +10 -0
- package/dist/docs/development/guides/domains/01-introduction.md +22 -0
- package/dist/docs/development/guides/domains/02-creating-domains/02-adding-domains.md +108 -0
- package/dist/docs/development/guides/domains/02-creating-domains/02a-subdomains.md +84 -0
- package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +90 -0
- package/dist/docs/development/guides/domains/02-creating-domains/04-adding-messages-to-domains.md +107 -0
- package/dist/docs/development/guides/domains/02-creating-domains/05-adding-data-products-to-domains.md +105 -0
- package/dist/docs/development/guides/domains/02-creating-domains/_category_.json +11 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/01-owners.md +36 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +75 -0
- package/dist/docs/development/guides/domains/03-ownership-and-language/_category_.json +10 -0
- package/dist/docs/development/guides/domains/04-versioning-and-changelogs/01-versioning.md +40 -0
- package/dist/docs/development/guides/domains/04-versioning-and-changelogs/02-changelog.md +53 -0
- package/dist/docs/development/guides/domains/04-versioning-and-changelogs/_category_.json +10 -0
- package/dist/docs/development/guides/domains/05-entities/01-introduction.md +24 -0
- package/dist/docs/development/guides/domains/05-entities/02-adding-entities.md +157 -0
- package/dist/docs/development/guides/domains/05-entities/03-adding-entities-to-domains.md +30 -0
- package/dist/docs/development/guides/domains/05-entities/04-domain-entity-map.md +134 -0
- package/dist/docs/development/guides/domains/05-entities/_category_.json +11 -0
- package/dist/docs/development/guides/domains/08-domain-integration-map.md +41 -0
- package/dist/docs/development/guides/domains/_category_.json +11 -0
- package/dist/docs/development/guides/flows/01-introduction.md +36 -0
- package/dist/docs/development/guides/flows/02-adding-flows.md +198 -0
- package/dist/docs/development/guides/flows/03-flow-nodes.md +273 -0
- package/dist/docs/development/guides/flows/04-adding-flows-to-services.md +42 -0
- package/dist/docs/development/guides/flows/05-adding-flows-to-domains.md +43 -0
- package/dist/docs/development/guides/flows/06-versioning.md +27 -0
- package/dist/docs/development/guides/flows/07-create-flow-with-ai.md +171 -0
- package/dist/docs/development/guides/flows/_category_.json +11 -0
- package/dist/docs/development/guides/messages/01-overview.md +57 -0
- package/dist/docs/development/guides/messages/_category_.json +11 -0
- package/dist/docs/development/guides/messages/commands/01-introduction.md +26 -0
- package/dist/docs/development/guides/messages/commands/02-adding-commands.md +131 -0
- package/dist/docs/development/guides/messages/commands/_category_.json +11 -0
- package/dist/docs/development/guides/messages/common/01-map-to-producers-and-consumers.md +37 -0
- package/dist/docs/development/guides/messages/common/02-adding-schemas.md +58 -0
- package/dist/docs/development/guides/messages/common/02-deprecating.md +71 -0
- package/dist/docs/development/guides/messages/common/02-draft-messages.md +63 -0
- package/dist/docs/development/guides/messages/common/02-examples.md +99 -0
- package/dist/docs/development/guides/messages/common/03-owners.md +40 -0
- package/dist/docs/development/guides/messages/common/04-versioning.md +27 -0
- package/dist/docs/development/guides/messages/common/05-changelog.md +73 -0
- package/dist/docs/development/guides/messages/common/07-components.md +12 -0
- package/dist/docs/development/guides/messages/common/08-shared-messages-across-boundaries.md +70 -0
- package/dist/docs/development/guides/messages/common/09-grouping-messages.md +98 -0
- package/dist/docs/development/guides/messages/common/_category_.json +11 -0
- package/dist/docs/development/guides/messages/events/01-introduction.md +25 -0
- package/dist/docs/development/guides/messages/events/02-adding-events.md +130 -0
- package/dist/docs/development/guides/messages/events/_category_.json +11 -0
- package/dist/docs/development/guides/messages/queries/01-introduction.md +25 -0
- package/dist/docs/development/guides/messages/queries/02-adding-queries.md +130 -0
- package/dist/docs/development/guides/messages/queries/_category_.json +11 -0
- package/dist/docs/development/guides/owners/_category_.json +11 -0
- package/dist/docs/development/guides/owners/teams/01-introduction.md +21 -0
- package/dist/docs/development/guides/owners/teams/02-adding-teams.md +73 -0
- package/dist/docs/development/guides/owners/teams/_category_.json +11 -0
- package/dist/docs/development/guides/owners/users/01-introduction.md +20 -0
- package/dist/docs/development/guides/owners/users/02-adding-users.md +70 -0
- package/dist/docs/development/guides/owners/users/_category_.json +11 -0
- package/dist/docs/development/guides/schemas/01-introduction.md +64 -0
- package/dist/docs/development/guides/schemas/02-schema-explorer.md +74 -0
- package/dist/docs/development/guides/schemas/03-schema-api.md +59 -0
- package/dist/docs/development/guides/schemas/04-schema-mcp.md +22 -0
- package/dist/docs/development/guides/schemas/05-field-usage.md +120 -0
- package/dist/docs/development/guides/schemas/06-fields-explorer.md +120 -0
- package/dist/docs/development/guides/schemas/_category_.json +11 -0
- package/dist/docs/development/guides/services/01-introduction.md +33 -0
- package/dist/docs/development/guides/services/02-adding-services.md +113 -0
- package/dist/docs/development/guides/services/03-creating-external-systems.md +71 -0
- package/dist/docs/development/guides/services/_category_.json +11 -0
- package/dist/docs/development/guides/services/adding-to-services/01-messages.md +229 -0
- package/dist/docs/development/guides/services/adding-to-services/02-datastores.md +77 -0
- package/dist/docs/development/guides/services/adding-to-services/03-entities.md +47 -0
- package/dist/docs/development/guides/services/adding-to-services/04-openapi.md +97 -0
- package/dist/docs/development/guides/services/adding-to-services/05-asyncapi.md +97 -0
- package/dist/docs/development/guides/services/adding-to-services/06-graphql.md +96 -0
- package/dist/docs/development/guides/services/adding-to-services/_category_.json +10 -0
- package/dist/docs/development/guides/services/ownership-and-components/01-owners.md +41 -0
- package/dist/docs/development/guides/services/ownership-and-components/02-components.md +13 -0
- package/dist/docs/development/guides/services/ownership-and-components/_category_.json +11 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/01-versioning.md +27 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/02-changelog.md +52 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/03-deprecating.md +70 -0
- package/dist/docs/development/guides/services/versioning-and-lifecycle/_category_.json +11 -0
- package/dist/docs/development/upgrading/_category_.json +12 -0
- package/dist/docs/development/upgrading/upgrading.md +142 -0
- package/dist/docs/development/upgrading/v2.md +69 -0
- package/dist/docs/development/upgrading/v3.md +277 -0
- package/dist/docs/miro/_category_.json +12 -0
- package/dist/docs/miro/contributing/01-getting-involved.md +53 -0
- package/dist/docs/miro/contributing/_category_.json +11 -0
- package/dist/docs/miro/getting-started/01-overview.md +63 -0
- package/dist/docs/miro/getting-started/02-installation.md +37 -0
- package/dist/docs/miro/getting-started/03-connecting-to-eventcatalog.md +59 -0
- package/dist/docs/miro/getting-started/_category_.json +11 -0
- package/dist/docs/miro/guides/01-adding-resources-to-board.md +90 -0
- package/dist/docs/miro/guides/02-creating-new-resources.md +61 -0
- package/dist/docs/miro/guides/03-editing-resources.md +50 -0
- package/dist/docs/miro/guides/04-connected-resources.md +54 -0
- package/dist/docs/miro/guides/05-services-and-dependencies.md +54 -0
- package/dist/docs/miro/guides/06-navigating-the-board.md +44 -0
- package/dist/docs/miro/guides/07-exporting-to-eventcatalog.md +75 -0
- package/dist/docs/miro/guides/_category_.json +11 -0
- package/dist/docs/miro/specifications/01-asyncapi.md +86 -0
- package/dist/docs/miro/specifications/02-openapi.md +86 -0
- package/dist/docs/miro/specifications/03-schema-registries.md +88 -0
- package/dist/docs/miro/specifications/_category_.json +11 -0
- package/dist/docs/miro/using-ai/01-overview.md +105 -0
- package/dist/docs/miro/using-ai/_category_.json +11 -0
- package/dist/docs/plugins/01-intro.md +49 -0
- package/dist/docs/plugins/02-generators.md +76 -0
- package/dist/docs/plugins/03-all-plugins.md +26 -0
- package/dist/docs/plugins/_category_.json +12 -0
- package/dist/docs/plugins/amazon-apigateway/00-intro.md +75 -0
- package/dist/docs/plugins/amazon-apigateway/01-installation.md +198 -0
- package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +136 -0
- package/dist/docs/plugins/amazon-apigateway/03-features.md +71 -0
- package/dist/docs/plugins/amazon-apigateway/04-examples.md +15 -0
- package/dist/docs/plugins/amazon-apigateway/_category_.json +11 -0
- package/dist/docs/plugins/apicurio/00-intro.md +102 -0
- package/dist/docs/plugins/apicurio/01-installation.md +165 -0
- package/dist/docs/plugins/apicurio/02-plugin-configuration.md +682 -0
- package/dist/docs/plugins/apicurio/03-features.md +221 -0
- package/dist/docs/plugins/apicurio/04-examples.md +20 -0
- package/dist/docs/plugins/apicurio/_category_.json +12 -0
- package/dist/docs/plugins/asyncapi/00-intro.md +81 -0
- package/dist/docs/plugins/asyncapi/01-installation.md +155 -0
- package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +312 -0
- package/dist/docs/plugins/asyncapi/03-features.md +698 -0
- package/dist/docs/plugins/asyncapi/03a-workflows.md +153 -0
- package/dist/docs/plugins/asyncapi/04-examples.md +23 -0
- package/dist/docs/plugins/asyncapi/04-using-reference-objects.md +45 -0
- package/dist/docs/plugins/asyncapi/_category_.json +12 -0
- package/dist/docs/plugins/aws-glue-registry/00-intro.md +104 -0
- package/dist/docs/plugins/aws-glue-registry/00a-installation.md +305 -0
- package/dist/docs/plugins/aws-glue-registry/01-features.md +287 -0
- package/dist/docs/plugins/aws-glue-registry/02-examples.md +368 -0
- package/dist/docs/plugins/aws-glue-registry/03-api.md +282 -0
- package/dist/docs/plugins/aws-glue-registry/_category_.json +11 -0
- package/dist/docs/plugins/azure-schema-registry/00-intro.md +92 -0
- package/dist/docs/plugins/azure-schema-registry/01-installation.md +409 -0
- package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +375 -0
- package/dist/docs/plugins/azure-schema-registry/03-features.md +347 -0
- package/dist/docs/plugins/azure-schema-registry/04-examples.md +378 -0
- package/dist/docs/plugins/azure-schema-registry/_category_.json +12 -0
- package/dist/docs/plugins/backstage/00-intro.md +67 -0
- package/dist/docs/plugins/backstage/01-installation.md +250 -0
- package/dist/docs/plugins/backstage/02-api.md +51 -0
- package/dist/docs/plugins/backstage/03-examples.md +12 -0
- package/dist/docs/plugins/backstage/_category_.json +11 -0
- package/dist/docs/plugins/confluent-schema-registry/00-intro.md +90 -0
- package/dist/docs/plugins/confluent-schema-registry/01-installation.md +223 -0
- package/dist/docs/plugins/confluent-schema-registry/02-plugin-configuration.md +473 -0
- package/dist/docs/plugins/confluent-schema-registry/03-features.md +43 -0
- package/dist/docs/plugins/confluent-schema-registry/04-examples.md +19 -0
- package/dist/docs/plugins/confluent-schema-registry/_category_.json +12 -0
- package/dist/docs/plugins/eventbridge/00-intro.md +55 -0
- package/dist/docs/plugins/eventbridge/00a-installation.md +317 -0
- package/dist/docs/plugins/eventbridge/01-features.md +225 -0
- package/dist/docs/plugins/eventbridge/02-examples.md +17 -0
- package/dist/docs/plugins/eventbridge/03-api.md +441 -0
- package/dist/docs/plugins/eventbridge/03a-workflows.md +133 -0
- package/dist/docs/plugins/eventbridge/_category_.json +11 -0
- package/dist/docs/plugins/eventcatalog-federation/00-introduction.md +69 -0
- package/dist/docs/plugins/eventcatalog-federation/01-installation.md +182 -0
- package/dist/docs/plugins/eventcatalog-federation/02-plugin-configuration.md +208 -0
- package/dist/docs/plugins/eventcatalog-federation/03-examples.md +15 -0
- package/dist/docs/plugins/eventcatalog-federation/04-configuration.md +193 -0
- package/dist/docs/plugins/eventcatalog-federation/05-setup-team-catalog.md +97 -0
- package/dist/docs/plugins/eventcatalog-federation/_category_.json +11 -0
- package/dist/docs/plugins/github/00-intro.md +93 -0
- package/dist/docs/plugins/github/01-installation.md +293 -0
- package/dist/docs/plugins/github/02-plugin-configuration.md +253 -0
- package/dist/docs/plugins/github/03-features.md +42 -0
- package/dist/docs/plugins/github/04-examples.md +17 -0
- package/dist/docs/plugins/github/_category_.json +12 -0
- package/dist/docs/plugins/graphql/00-intro.md +74 -0
- package/dist/docs/plugins/graphql/01-installation.md +144 -0
- package/dist/docs/plugins/graphql/02-plugin-configuration.md +127 -0
- package/dist/docs/plugins/graphql/03-features.md +197 -0
- package/dist/docs/plugins/graphql/04-examples.md +15 -0
- package/dist/docs/plugins/graphql/_category_.json +12 -0
- package/dist/docs/plugins/hookdeck/01-intro.md +152 -0
- package/dist/docs/plugins/hookdeck/02-api.md +133 -0
- package/dist/docs/plugins/hookdeck/03-cli.md +45 -0
- package/dist/docs/plugins/hookdeck/_category_.json +11 -0
- package/dist/docs/plugins/openapi/00-intro.md +78 -0
- package/dist/docs/plugins/openapi/01-installation.md +148 -0
- package/dist/docs/plugins/openapi/02-plugin-configuration.md +332 -0
- package/dist/docs/plugins/openapi/03-features.md +790 -0
- package/dist/docs/plugins/openapi/03a-workflows.md +153 -0
- package/dist/docs/plugins/openapi/04-examples.md +23 -0
- package/dist/docs/plugins/openapi/_category_.json +12 -0
- 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/package.json +2 -2
|
@@ -0,0 +1,682 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog Apicurio Registry plugin
|
|
5
|
+
sidebar_label: Plugin Configuration
|
|
6
|
+
title: Plugin Configuration
|
|
7
|
+
description: Configuration of the EventCatalog Apicurio Registry plugin
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Plugin Configuration
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
The EventCatalog Apicurio Registry plugin is configured in the `eventcatalog.config.js` file inside the `generators` array.
|
|
15
|
+
|
|
16
|
+
:::info Authentication
|
|
17
|
+
If your Apicurio Registry requires authentication, you can configure a Bearer token as an environment variable.
|
|
18
|
+
|
|
19
|
+
<details>
|
|
20
|
+
<summary>Example .env file</summary>
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
export APICURIO_ACCESS_TOKEN=your-access-token-here
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
</details>
|
|
27
|
+
|
|
28
|
+
:::
|
|
29
|
+
|
|
30
|
+
## Required Configuration Options
|
|
31
|
+
|
|
32
|
+
| Option | Type | Required | Description |
|
|
33
|
+
|--------|------|----------|-------------|
|
|
34
|
+
| `registryUrl` | `string` | Yes | The URL of your Apicurio Registry (e.g., `http://localhost:8080`). The plugin automatically appends the `/apis/registry/v3` API path. |
|
|
35
|
+
| `includeAllVersions` | `boolean` | No | If true, all versions of the schemas will be imported into EventCatalog (default is `false`). When enabled, each version of a schema creates a separate versioned entry in EventCatalog. |
|
|
36
|
+
|
|
37
|
+
## Optional Configuration Options
|
|
38
|
+
|
|
39
|
+
### Services
|
|
40
|
+
|
|
41
|
+
You can assign schemas to services (producers/consumers).
|
|
42
|
+
|
|
43
|
+
| Option | Type | Default | Description |
|
|
44
|
+
|--------|------|---------|-------------|
|
|
45
|
+
| `services` | object | - | List of services to assign the schemas to. |
|
|
46
|
+
| `services.id` | string | - | EventCatalog ID for the service. |
|
|
47
|
+
| `services.version` | string | - | Version of the service. |
|
|
48
|
+
| `services.name` | string | - | Name of the service (optional, defaults to ID). |
|
|
49
|
+
| `services.summary` | string | - | Summary description of the service (optional). |
|
|
50
|
+
| `services.sends` | Filter | - | Configuration to assign schemas that this service sends (publishes). |
|
|
51
|
+
| `services.receives` | Filter | - | Configuration to assign schemas that this service receives (consumes). |
|
|
52
|
+
| `services.writesTo` | array | - | Array of services this service writes to. Each entry has `id` (required) and optional `version`. |
|
|
53
|
+
| `services.readsFrom` | array | - | Array of services this service reads from. Each entry has `id` (required) and optional `version`. |
|
|
54
|
+
| `services.specifications` | array | - | Array of specification artifacts (OpenAPI/AsyncAPI) to attach to the service. See [Specifications](#specifications) section below. |
|
|
55
|
+
|
|
56
|
+
### Domains
|
|
57
|
+
|
|
58
|
+
You can define and assign domains to your services.
|
|
59
|
+
|
|
60
|
+
| Option | Type | Default | Description |
|
|
61
|
+
|--------|------|---------|-------------|
|
|
62
|
+
| `domain.id` | string | - | EventCatalog ID for the domain (e.g `orders`). |
|
|
63
|
+
| `domain.name` | string | - | Name of the domain (e.g `Orders`). |
|
|
64
|
+
| `domain.version` | string | - | Version of the domain (e.g `1.0.0`). |
|
|
65
|
+
| `domain.summary` | string | - | Summary description of the domain (optional). |
|
|
66
|
+
|
|
67
|
+
### Specifications
|
|
68
|
+
|
|
69
|
+
You can attach OpenAPI or AsyncAPI specifications stored in your Apicurio Registry to services. When configured with a generator, these specifications will be automatically processed to generate comprehensive service documentation including REST endpoints, async events, and more.
|
|
70
|
+
|
|
71
|
+
<details>
|
|
72
|
+
<summary>Learn more about attaching OpenAPI and AsyncAPI specifications</summary>
|
|
73
|
+
|
|
74
|
+
You can attach OpenAPI or AsyncAPI specifications from your Apicurio Registry to services. These specifications can optionally be processed by their respective EventCatalog plugins to generate additional documentation.
|
|
75
|
+
|
|
76
|
+
:::info Plugin Licenses Required
|
|
77
|
+
The OpenAPI and AsyncAPI generators are separate licensed plugins. To use them with the Apicurio plugin, you'll need to:
|
|
78
|
+
- Install the respective plugins: `npm install @eventcatalog/generator-openapi @eventcatalog/generator-asyncapi`
|
|
79
|
+
- Obtain license keys from [EventCatalog Cloud](https://eventcatalog.cloud) (14-day free trial available)
|
|
80
|
+
- Configure the license keys in your `.env` file:
|
|
81
|
+
- `EVENTCATALOG_LICENSE_KEY_OPENAPI=your-openapi-license-key`
|
|
82
|
+
- `EVENTCATALOG_LICENSE_KEY_ASYNCAPI=your-asyncapi-license-key`
|
|
83
|
+
|
|
84
|
+
Learn more: [OpenAPI Plugin Docs](/docs/plugins/openapi/intro) | [AsyncAPI Plugin Docs](/docs/plugins/asyncapi/intro)
|
|
85
|
+
:::
|
|
86
|
+
|
|
87
|
+
| Option | Type | Required | Description |
|
|
88
|
+
|--------|------|----------|-------------|
|
|
89
|
+
| `services.specifications` | array | No | Array of specification configurations to attach to the service. |
|
|
90
|
+
| `specifications[].type` | string | Yes | Type of specification: `'openapi'` or `'asyncapi'`. |
|
|
91
|
+
| `specifications[].artifactId` | string | Yes | The artifact ID in Apicurio Registry. |
|
|
92
|
+
| `specifications[].version` | string | No | Specific version to fetch, or `'latest'` (default). |
|
|
93
|
+
| `specifications[].generator` | array | No | Optional EventCatalog generator to process the specification. Format: `['@eventcatalog/generator-openapi', { options }]` |
|
|
94
|
+
|
|
95
|
+
**Example:**
|
|
96
|
+
|
|
97
|
+
```js
|
|
98
|
+
services: [{
|
|
99
|
+
id: 'Orders Service',
|
|
100
|
+
version: '1.0.0',
|
|
101
|
+
specifications: [
|
|
102
|
+
{
|
|
103
|
+
type: 'openapi',
|
|
104
|
+
artifactId: 'OrdersAPI-OPENAPI',
|
|
105
|
+
version: 'latest',
|
|
106
|
+
generator: ['@eventcatalog/generator-openapi', {
|
|
107
|
+
// generator options here
|
|
108
|
+
}]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'asyncapi',
|
|
112
|
+
artifactId: 'OrdersEvents-ASYNCAPI',
|
|
113
|
+
version: '2.0.0',
|
|
114
|
+
generator: ['@eventcatalog/generator-asyncapi', {
|
|
115
|
+
// generator options here
|
|
116
|
+
}]
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
When a generator is configured, the plugin will:
|
|
123
|
+
1. Fetch the specification from Apicurio Registry
|
|
124
|
+
2. Save it to the service directory
|
|
125
|
+
3. Run the specified generator to process the specification
|
|
126
|
+
4. Pass the domain configuration to the generator if a domain is configured
|
|
127
|
+
|
|
128
|
+
</details>
|
|
129
|
+
|
|
130
|
+
### Filtering schemas to services
|
|
131
|
+
|
|
132
|
+
When you assign schemas to a service, you can use a range of filtering options including exact matches, prefixes, suffixes, and includes.
|
|
133
|
+
|
|
134
|
+
Here are some examples of how to filter schemas to services.
|
|
135
|
+
|
|
136
|
+
<details>
|
|
137
|
+
<summary>`exact` matching example - Match schemas that exactly match the specified name</summary>
|
|
138
|
+
|
|
139
|
+
**What is exact matching?**
|
|
140
|
+
|
|
141
|
+
Exact matching is when the schema artifact ID exactly matches the specified name.
|
|
142
|
+
|
|
143
|
+
In this example, the `Orders Service` will send `events` with the artifact IDs `order-placed`, `order-cancelled` and receive `commands` with the artifact ID `place-order`.
|
|
144
|
+
|
|
145
|
+
Example artifacts in Apicurio Registry:
|
|
146
|
+
- `order-placed`
|
|
147
|
+
- `order-cancelled`
|
|
148
|
+
- `place-order`
|
|
149
|
+
- `cancel-order`
|
|
150
|
+
|
|
151
|
+
```js
|
|
152
|
+
// ...
|
|
153
|
+
generators: [
|
|
154
|
+
// Import schemas (using filters), assign them to services and domains
|
|
155
|
+
[
|
|
156
|
+
'@eventcatalog/generator-apicurio',
|
|
157
|
+
{
|
|
158
|
+
// The URL of your Apicurio Registry
|
|
159
|
+
registryUrl: 'http://localhost:8080',
|
|
160
|
+
// The services to assign schemas to (optional)
|
|
161
|
+
services: [
|
|
162
|
+
{
|
|
163
|
+
id: 'Orders Service',
|
|
164
|
+
version: '1.0.0',
|
|
165
|
+
// Order service publishes events that match the artifact IDs
|
|
166
|
+
sends: [{ events: ['order-placed', 'order-cancelled']}],
|
|
167
|
+
// The Order service receives commands that match the artifact IDs
|
|
168
|
+
receives: [{ commands: ['place-order', 'cancel-order']}],
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
];
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
</details>
|
|
177
|
+
|
|
178
|
+
<details>
|
|
179
|
+
<summary>`suffix` matching example - Match schemas that end with a specific string</summary>
|
|
180
|
+
|
|
181
|
+
**What is suffix matching?**
|
|
182
|
+
|
|
183
|
+
Suffix matching is when the artifact ID ends with the specified suffix.
|
|
184
|
+
|
|
185
|
+
In this example, the `Orders Service` will send `events` with a suffix of `-placed` and receive `commands` with a suffix of `-command`.
|
|
186
|
+
|
|
187
|
+
Example artifacts in registry:
|
|
188
|
+
- `order-placed`
|
|
189
|
+
- `order-cancelled`
|
|
190
|
+
- `place-order-command`
|
|
191
|
+
- `cancel-order-command`
|
|
192
|
+
|
|
193
|
+
```js
|
|
194
|
+
// ...
|
|
195
|
+
generators: [
|
|
196
|
+
// Import schemas (using filters), assign them to services and domains
|
|
197
|
+
[
|
|
198
|
+
'@eventcatalog/generator-apicurio',
|
|
199
|
+
{
|
|
200
|
+
// The URL of your Apicurio Registry
|
|
201
|
+
registryUrl: 'http://localhost:8080',
|
|
202
|
+
// The services to assign schemas to (optional)
|
|
203
|
+
services: [
|
|
204
|
+
{
|
|
205
|
+
id: 'Orders Service',
|
|
206
|
+
version: '1.0.0',
|
|
207
|
+
// Order service publishes events with a suffix of `-placed`
|
|
208
|
+
sends: [{ events: { suffix: '-placed' }}],
|
|
209
|
+
// The Order service receives commands with a suffix of `-command`
|
|
210
|
+
receives: [{ commands: { suffix: '-command' }}],
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
];
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
</details>
|
|
219
|
+
|
|
220
|
+
<details>
|
|
221
|
+
<summary>`prefix` matching example - Match schemas that start with a specific string</summary>
|
|
222
|
+
|
|
223
|
+
**What is prefix matching?**
|
|
224
|
+
|
|
225
|
+
Prefix matching is when the artifact ID starts with the specified prefix.
|
|
226
|
+
|
|
227
|
+
In this example, the `Orders Service` will send `events` with a prefix of `order-` and receive `commands` with a prefix of `analytics-`.
|
|
228
|
+
|
|
229
|
+
Example artifacts in registry:
|
|
230
|
+
- `order-placed`
|
|
231
|
+
- `order-cancelled`
|
|
232
|
+
- `analytics-place-order`
|
|
233
|
+
- `analytics-cancel-order`
|
|
234
|
+
|
|
235
|
+
```js
|
|
236
|
+
// ...
|
|
237
|
+
generators: [
|
|
238
|
+
// Import schemas (using filters), assign them to services and domains
|
|
239
|
+
[
|
|
240
|
+
'@eventcatalog/generator-apicurio',
|
|
241
|
+
{
|
|
242
|
+
// The URL of your Apicurio Registry
|
|
243
|
+
registryUrl: 'http://localhost:8080',
|
|
244
|
+
// The services to assign schemas to (optional)
|
|
245
|
+
services: [
|
|
246
|
+
{
|
|
247
|
+
id: 'Orders Service',
|
|
248
|
+
version: '1.0.0',
|
|
249
|
+
// Order service publishes events with a prefix of `order-`
|
|
250
|
+
sends: [{ events: { prefix: 'order-' }}],
|
|
251
|
+
// The Order service receives commands with a prefix of `analytics-`
|
|
252
|
+
receives: [{ commands: { prefix: 'analytics-' }}],
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
},
|
|
256
|
+
],
|
|
257
|
+
];
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
</details>
|
|
261
|
+
|
|
262
|
+
<details>
|
|
263
|
+
<summary>`includes` matching example - Match schemas that include a specific string</summary>
|
|
264
|
+
|
|
265
|
+
**What is includes matching?**
|
|
266
|
+
|
|
267
|
+
Includes matching is when the artifact ID contains the specified string anywhere in its name.
|
|
268
|
+
|
|
269
|
+
In this example, the `Orders Service` will send `events` that include the string `order` and receive `commands` that include the string `analytics`.
|
|
270
|
+
|
|
271
|
+
Example artifacts in registry:
|
|
272
|
+
- `order-placed`
|
|
273
|
+
- `order-cancelled`
|
|
274
|
+
- `analytics-place-order`
|
|
275
|
+
- `analytics-cancel-order`
|
|
276
|
+
|
|
277
|
+
```js
|
|
278
|
+
// ...
|
|
279
|
+
generators: [
|
|
280
|
+
// Import schemas (using filters), assign them to services and domains
|
|
281
|
+
[
|
|
282
|
+
'@eventcatalog/generator-apicurio',
|
|
283
|
+
{
|
|
284
|
+
// The URL of your Apicurio Registry
|
|
285
|
+
registryUrl: 'http://localhost:8080',
|
|
286
|
+
// The services to assign schemas to (optional)
|
|
287
|
+
services: [
|
|
288
|
+
{
|
|
289
|
+
id: 'Orders Service',
|
|
290
|
+
version: '1.0.0',
|
|
291
|
+
// Order service publishes events that include `order`
|
|
292
|
+
sends: [{ events: { includes: 'order' }}],
|
|
293
|
+
// The Order service receives commands that include `analytics`
|
|
294
|
+
receives: [{ commands: { includes: 'analytics' }}],
|
|
295
|
+
}
|
|
296
|
+
],
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
];
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
</details>
|
|
303
|
+
|
|
304
|
+
<details>
|
|
305
|
+
<summary>Message types - Document schemas as events, commands, or queries</summary>
|
|
306
|
+
|
|
307
|
+
**What are message types?**
|
|
308
|
+
|
|
309
|
+
You can document your schemas as different message types in EventCatalog:
|
|
310
|
+
- **events**: Things that have happened (past tense)
|
|
311
|
+
- **commands**: Requests to do something (imperative)
|
|
312
|
+
- **queries**: Requests for information
|
|
313
|
+
|
|
314
|
+
In this example, the `Orders Service` sends events and receives both commands and queries.
|
|
315
|
+
|
|
316
|
+
```js
|
|
317
|
+
// ...
|
|
318
|
+
generators: [
|
|
319
|
+
[
|
|
320
|
+
'@eventcatalog/generator-apicurio',
|
|
321
|
+
{
|
|
322
|
+
registryUrl: 'http://localhost:8080',
|
|
323
|
+
services: [
|
|
324
|
+
{
|
|
325
|
+
id: 'Orders Service',
|
|
326
|
+
version: '1.0.0',
|
|
327
|
+
// Sends events
|
|
328
|
+
sends: [{ events: { prefix: 'order-' }}],
|
|
329
|
+
// Receives commands and queries
|
|
330
|
+
receives: [
|
|
331
|
+
{ commands: ['place-order', 'cancel-order']},
|
|
332
|
+
{ queries: ['get-order-status']}
|
|
333
|
+
],
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
},
|
|
337
|
+
],
|
|
338
|
+
];
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
</details>
|
|
342
|
+
|
|
343
|
+
## Example Configurations
|
|
344
|
+
|
|
345
|
+
The Apicurio Registry plugin is flexible to work with your use case.
|
|
346
|
+
Here are a few examples of how you can configure the plugin.
|
|
347
|
+
|
|
348
|
+
<details>
|
|
349
|
+
<summary>Example configuration - Import all schemas (and versions) into EventCatalog</summary>
|
|
350
|
+
|
|
351
|
+
In this example we import all schemas from the Apicurio Registry into EventCatalog.
|
|
352
|
+
No services or domains are configured or created. This is a simple way to import schemas into the catalog and keep them in sync with your documentation.
|
|
353
|
+
|
|
354
|
+
```js title="eventcatalog.config.js"
|
|
355
|
+
// ...rest of eventcatalog.config.js file
|
|
356
|
+
generators: [
|
|
357
|
+
[
|
|
358
|
+
'@eventcatalog/generator-apicurio',
|
|
359
|
+
{
|
|
360
|
+
// The URL of your Apicurio Registry
|
|
361
|
+
registryUrl: 'http://localhost:8080',
|
|
362
|
+
|
|
363
|
+
// Include all versions of the schemas
|
|
364
|
+
includeAllVersions: true,
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
],
|
|
368
|
+
};
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
</details>
|
|
372
|
+
|
|
373
|
+
<details>
|
|
374
|
+
<summary>Example configuration - Assign schemas to services</summary>
|
|
375
|
+
|
|
376
|
+
In this example we assign schemas to services (producers and consumers in EventCatalog).
|
|
377
|
+
|
|
378
|
+
```js title="eventcatalog.config.js"
|
|
379
|
+
// ...rest of eventcatalog.config.js file
|
|
380
|
+
generators: [
|
|
381
|
+
[
|
|
382
|
+
'@eventcatalog/generator-apicurio',
|
|
383
|
+
{
|
|
384
|
+
// The URL of your Apicurio Registry
|
|
385
|
+
registryUrl: 'http://localhost:8080',
|
|
386
|
+
// The services to assign schemas to (optional)
|
|
387
|
+
services: [
|
|
388
|
+
{
|
|
389
|
+
id: 'Orders Service',
|
|
390
|
+
version: '1.0.0',
|
|
391
|
+
// Order service publishes events that match the artifact IDs
|
|
392
|
+
sends: [{ events: ['order-placed', 'order-cancelled']}],
|
|
393
|
+
// The Order service receives commands that match the artifact IDs
|
|
394
|
+
receives: [{ commands: ['place-order', 'cancel-order']}],
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
}
|
|
398
|
+
]
|
|
399
|
+
],
|
|
400
|
+
};
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
</details>
|
|
404
|
+
|
|
405
|
+
<details>
|
|
406
|
+
<summary>Example configuration - Assign schemas to services (with filters)</summary>
|
|
407
|
+
|
|
408
|
+
In this example we assign schemas to services (producers and consumers in EventCatalog) but we use filters to match the schemas.
|
|
409
|
+
|
|
410
|
+
```js title="eventcatalog.config.js"
|
|
411
|
+
// ...rest of eventcatalog.config.js file
|
|
412
|
+
generators: [
|
|
413
|
+
[
|
|
414
|
+
'@eventcatalog/generator-apicurio',
|
|
415
|
+
{
|
|
416
|
+
// The URL of your Apicurio Registry
|
|
417
|
+
registryUrl: 'http://localhost:8080',
|
|
418
|
+
// The services to assign schemas to (optional)
|
|
419
|
+
services: [
|
|
420
|
+
{
|
|
421
|
+
id: 'Orders Service',
|
|
422
|
+
version: '1.0.0',
|
|
423
|
+
// Order service publishes events that start with `order-`
|
|
424
|
+
sends: [{ events: { prefix: 'order-' }}],
|
|
425
|
+
// The Order service receives commands that end with `-command`
|
|
426
|
+
receives: [{ commands: { suffix: '-command' }}],
|
|
427
|
+
}
|
|
428
|
+
]
|
|
429
|
+
}
|
|
430
|
+
]
|
|
431
|
+
],
|
|
432
|
+
};
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
</details>
|
|
436
|
+
|
|
437
|
+
<details>
|
|
438
|
+
<summary>Example configuration - Assign schemas to services within a domain</summary>
|
|
439
|
+
|
|
440
|
+
In this example we assign schemas to services (producers and consumers in EventCatalog) and we also assign them to a *domain*.
|
|
441
|
+
|
|
442
|
+
```js title="eventcatalog.config.js"
|
|
443
|
+
// ...rest of eventcatalog.config.js file
|
|
444
|
+
generators: [
|
|
445
|
+
[
|
|
446
|
+
'@eventcatalog/generator-apicurio',
|
|
447
|
+
{
|
|
448
|
+
// The URL of your Apicurio Registry
|
|
449
|
+
registryUrl: 'http://localhost:8080',
|
|
450
|
+
// The services to assign schemas to (optional)
|
|
451
|
+
services: [
|
|
452
|
+
{
|
|
453
|
+
id: 'Orders Service',
|
|
454
|
+
version: '1.0.0',
|
|
455
|
+
// Order service publishes events
|
|
456
|
+
sends: [{ events: ['order-placed', 'order-cancelled']}],
|
|
457
|
+
// The Order service receives commands
|
|
458
|
+
receives: [{ commands: ['place-order', 'cancel-order']}],
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
// The domain to assign the service to
|
|
462
|
+
// if it does not exist, it will be created
|
|
463
|
+
domain: {
|
|
464
|
+
id: 'orders',
|
|
465
|
+
name: 'Orders',
|
|
466
|
+
version: '1.0.0',
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
]
|
|
470
|
+
],
|
|
471
|
+
};
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
</details>
|
|
475
|
+
|
|
476
|
+
<details>
|
|
477
|
+
<summary>Example configuration - Attach specifications and use nested generators</summary>
|
|
478
|
+
|
|
479
|
+
In this example we attach OpenAPI and AsyncAPI specifications to a service and use the respective EventCatalog generators to process them.
|
|
480
|
+
|
|
481
|
+
```js title="eventcatalog.config.js"
|
|
482
|
+
// ...rest of eventcatalog.config.js file
|
|
483
|
+
generators: [
|
|
484
|
+
[
|
|
485
|
+
'@eventcatalog/generator-apicurio',
|
|
486
|
+
{
|
|
487
|
+
// The URL of your Apicurio Registry
|
|
488
|
+
registryUrl: 'http://localhost:8080',
|
|
489
|
+
// The services to assign schemas to
|
|
490
|
+
services: [
|
|
491
|
+
{
|
|
492
|
+
id: 'Orders Service',
|
|
493
|
+
version: '1.0.0',
|
|
494
|
+
// Attach specifications from Apicurio Registry
|
|
495
|
+
specifications: [
|
|
496
|
+
{
|
|
497
|
+
type: 'openapi',
|
|
498
|
+
artifactId: 'OrdersAPI-OPENAPI',
|
|
499
|
+
version: 'latest',
|
|
500
|
+
// Use the OpenAPI generator to process the specification
|
|
501
|
+
generator: ['@eventcatalog/generator-openapi', {
|
|
502
|
+
// Pass options to the OpenAPI generator if needed
|
|
503
|
+
}]
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
type: 'asyncapi',
|
|
507
|
+
artifactId: 'OrdersEvents-ASYNCAPI',
|
|
508
|
+
version: '2.0.0',
|
|
509
|
+
// Use the AsyncAPI generator to process the specification
|
|
510
|
+
generator: ['@eventcatalog/generator-asyncapi', {
|
|
511
|
+
// Pass options to the AsyncAPI generator if needed
|
|
512
|
+
}]
|
|
513
|
+
}
|
|
514
|
+
],
|
|
515
|
+
// You can also assign schemas directly
|
|
516
|
+
sends: [{ events: { prefix: 'order-' }}],
|
|
517
|
+
receives: [{ commands: ['place-order', 'cancel-order']}],
|
|
518
|
+
}
|
|
519
|
+
],
|
|
520
|
+
domain: {
|
|
521
|
+
id: 'orders',
|
|
522
|
+
name: 'Orders',
|
|
523
|
+
version: '1.0.0',
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
]
|
|
527
|
+
],
|
|
528
|
+
};
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
:::tip
|
|
532
|
+
When using nested generators, make sure to:
|
|
533
|
+
1. Install the respective plugins:
|
|
534
|
+
```bash
|
|
535
|
+
npm install @eventcatalog/generator-openapi @eventcatalog/generator-asyncapi
|
|
536
|
+
```
|
|
537
|
+
2. Obtain license keys from [EventCatalog Cloud](https://eventcatalog.cloud) (14-day free trial available)
|
|
538
|
+
3. Add the license keys to your `.env` file:
|
|
539
|
+
```bash
|
|
540
|
+
EVENTCATALOG_LICENSE_KEY_OPENAPI=your-openapi-license-key
|
|
541
|
+
EVENTCATALOG_LICENSE_KEY_ASYNCAPI=your-asyncapi-license-key
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
See [OpenAPI Plugin Docs](/docs/plugins/openapi/intro) | [AsyncAPI Plugin Docs](/docs/plugins/asyncapi/intro) for more information.
|
|
545
|
+
:::
|
|
546
|
+
|
|
547
|
+
</details>
|
|
548
|
+
|
|
549
|
+
<details>
|
|
550
|
+
<summary>Example configuration - Service relationships with writesTo and readsFrom</summary>
|
|
551
|
+
|
|
552
|
+
In this example we document service-to-service relationships using `writesTo` and `readsFrom` to show how services interact with each other.
|
|
553
|
+
|
|
554
|
+
```js title="eventcatalog.config.js"
|
|
555
|
+
// ...rest of eventcatalog.config.js file
|
|
556
|
+
generators: [
|
|
557
|
+
[
|
|
558
|
+
'@eventcatalog/generator-apicurio',
|
|
559
|
+
{
|
|
560
|
+
// The URL of your Apicurio Registry
|
|
561
|
+
registryUrl: 'http://localhost:8080',
|
|
562
|
+
// The services to assign schemas to
|
|
563
|
+
services: [
|
|
564
|
+
{
|
|
565
|
+
id: 'Orders Service',
|
|
566
|
+
version: '1.0.0',
|
|
567
|
+
sends: [{ events: { prefix: 'order-' }}],
|
|
568
|
+
receives: [{ commands: ['place-order', 'cancel-order']}],
|
|
569
|
+
// This service writes to Inventory Service and Notifications Service
|
|
570
|
+
writesTo: [
|
|
571
|
+
{ id: 'Inventory Service', version: '1.0.0' },
|
|
572
|
+
{ id: 'Notifications Service', version: '1.0.0' }
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
id: 'Inventory Service',
|
|
577
|
+
version: '1.0.0',
|
|
578
|
+
sends: [{ events: { prefix: 'inventory-' }}],
|
|
579
|
+
// This service reads from Orders Service
|
|
580
|
+
readsFrom: [
|
|
581
|
+
{ id: 'Orders Service', version: '1.0.0' }
|
|
582
|
+
]
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
id: 'Notifications Service',
|
|
586
|
+
version: '1.0.0',
|
|
587
|
+
receives: [{ events: ['order-placed', 'order-cancelled']}],
|
|
588
|
+
// This service reads from Orders Service
|
|
589
|
+
readsFrom: [
|
|
590
|
+
{ id: 'Orders Service', version: '1.0.0' }
|
|
591
|
+
]
|
|
592
|
+
}
|
|
593
|
+
],
|
|
594
|
+
domain: {
|
|
595
|
+
id: 'orders',
|
|
596
|
+
name: 'Orders',
|
|
597
|
+
version: '1.0.0',
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
]
|
|
601
|
+
],
|
|
602
|
+
};
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
This configuration will create service relationships in EventCatalog, making it easier to visualize and understand how services communicate with each other.
|
|
606
|
+
|
|
607
|
+
</details>
|
|
608
|
+
|
|
609
|
+
<details>
|
|
610
|
+
<summary>Example configuration - Multiple domains with version management</summary>
|
|
611
|
+
|
|
612
|
+
In this example we configure the plugin multiple times to document different domains, and we use `includeAllVersions` to track schema evolution.
|
|
613
|
+
|
|
614
|
+
:::info "Why configure the plugin multiple times?"
|
|
615
|
+
The generator can be configured as many times as you want.
|
|
616
|
+
In this example we configure the plugin twice, once for each domain.
|
|
617
|
+
:::
|
|
618
|
+
|
|
619
|
+
```js title="eventcatalog.config.js"
|
|
620
|
+
// ...rest of eventcatalog.config.js file
|
|
621
|
+
generators: [
|
|
622
|
+
// Retail domain
|
|
623
|
+
[
|
|
624
|
+
'@eventcatalog/generator-apicurio',
|
|
625
|
+
{
|
|
626
|
+
registryUrl: 'http://localhost:8080',
|
|
627
|
+
includeAllVersions: true,
|
|
628
|
+
services: [
|
|
629
|
+
{
|
|
630
|
+
id: 'Orders Service',
|
|
631
|
+
version: '1.0.0',
|
|
632
|
+
sends: [{ events: { prefix: 'order-' }}],
|
|
633
|
+
receives: [{ commands: ['place-order', 'cancel-order']}],
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
id: 'Inventory Service',
|
|
637
|
+
version: '1.0.0',
|
|
638
|
+
sends: [{ events: { prefix: 'inventory-' }}],
|
|
639
|
+
receives: [{ events: { prefix: 'order-' }}],
|
|
640
|
+
},
|
|
641
|
+
],
|
|
642
|
+
domain: {
|
|
643
|
+
id: 'retail',
|
|
644
|
+
name: 'Retail',
|
|
645
|
+
version: '1.0.0',
|
|
646
|
+
}
|
|
647
|
+
},
|
|
648
|
+
],
|
|
649
|
+
// Communications domain
|
|
650
|
+
[
|
|
651
|
+
'@eventcatalog/generator-apicurio',
|
|
652
|
+
{
|
|
653
|
+
registryUrl: 'http://localhost:8080',
|
|
654
|
+
includeAllVersions: true,
|
|
655
|
+
services: [
|
|
656
|
+
{
|
|
657
|
+
id: 'Notifications Service',
|
|
658
|
+
version: '1.0.0',
|
|
659
|
+
receives: [
|
|
660
|
+
{ events: ['user-registered']},
|
|
661
|
+
{ events: ['order-placed']},
|
|
662
|
+
{ events: ['shipment-created']},
|
|
663
|
+
],
|
|
664
|
+
},
|
|
665
|
+
],
|
|
666
|
+
domain: {
|
|
667
|
+
id: 'communications',
|
|
668
|
+
name: 'Communications',
|
|
669
|
+
version: '1.0.0',
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
],
|
|
673
|
+
],
|
|
674
|
+
};
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
</details>
|
|
678
|
+
|
|
679
|
+
## Need help?
|
|
680
|
+
|
|
681
|
+
If you have questions or need help, you can join our [Discord community](https://eventcatalog.dev/discord)
|
|
682
|
+
or refer to the [Apicurio Registry examples on GitHub](https://github.com/event-catalog/generators/tree/main/examples/generator-apicurio).
|