@eventcatalog/core 3.35.0 → 3.36.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-6D65JSOA.js} +1 -1
- package/dist/{chunk-NEWQKEP7.js → chunk-C7JCOHTI.js} +1 -1
- package/dist/chunk-D6IBLY3O.js +320 -0
- package/dist/{chunk-Y5O6SCX3.js → chunk-HDENGAZL.js} +1 -1
- package/dist/{chunk-DFLUDECO.js → chunk-UJ7DX4SA.js} +3 -3
- package/dist/{chunk-3KXCGYET.js → chunk-ULZYHF3V.js} +5 -0
- package/dist/{chunk-B2LDVIVY.js → chunk-V22QY5Q3.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 +959 -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/03-search.md +79 -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 +434 -35
- package/dist/eventcatalog.config.d.cts +8 -0
- package/dist/eventcatalog.config.d.ts +8 -0
- package/dist/eventcatalog.js +87 -10
- package/dist/features.cjs +6 -0
- package/dist/features.d.cts +2 -1
- package/dist/features.d.ts +2 -1
- package/dist/features.js +3 -1
- package/dist/generate.cjs +1 -1
- package/dist/generate.js +3 -3
- package/dist/search-indexer.cjs +356 -0
- package/dist/search-indexer.d.cts +30 -0
- package/dist/search-indexer.d.ts +30 -0
- package/dist/search-indexer.js +10 -0
- package/dist/utils/cli-logger.cjs +1 -1
- package/dist/utils/cli-logger.js +2 -2
- package/eventcatalog/astro.config.mjs +28 -32
- package/eventcatalog/src/components/Search/SearchModal.tsx +248 -148
- package/eventcatalog/src/components/Search/search-utils.spec.ts +138 -1
- package/eventcatalog/src/components/Search/search-utils.ts +271 -0
- package/eventcatalog/src/env.d.ts +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog domains
|
|
5
|
+
sidebar_label: Creating a service
|
|
6
|
+
title: Creating services
|
|
7
|
+
description: Creating and managing services within EventCatalog.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
+
|
|
12
|
+
Services in EventCatalog are a great way to document which parts of your systems send and receive messages.
|
|
13
|
+
|
|
14
|
+
You can also add specifications [(OpenAPI, AsyncAPI, GraphQL)](/docs/development/guides/services/adding-to-services/openapi) to your services.
|
|
15
|
+
|
|
16
|
+
### What do services look like in EventCatalog?
|
|
17
|
+
|
|
18
|
+

|
|
19
|
+
|
|
20
|
+
[View Demo of an Orders service →](https://demo.eventcatalog.dev/docs/services/OrdersService/0.0.3)
|
|
21
|
+
|
|
22
|
+
## Adding a new service
|
|
23
|
+
|
|
24
|
+
To add a new service create a new folder within the `/services` folder with an `index.mdx` file.
|
|
25
|
+
|
|
26
|
+
- `/services/{Service Name}/index.mdx`
|
|
27
|
+
- (example `/services/Orders/index.mdx`)
|
|
28
|
+
|
|
29
|
+
You can also specify services in your domains folder.
|
|
30
|
+
- `/domains/{Domain Name}/services/{Service Name}/index.mdx`
|
|
31
|
+
- (example `/domains/Orders/services/OrdersService/index.mdx`)
|
|
32
|
+
|
|
33
|
+
_Here is an example of what a service markdown file may look like._
|
|
34
|
+
|
|
35
|
+
```md title="/services/Orders/index.mdx (example)"
|
|
36
|
+
---
|
|
37
|
+
# id of your service, used for slugs and references in EventCatalog.
|
|
38
|
+
id: Orders
|
|
39
|
+
|
|
40
|
+
# Display name of the Service, rendered in EventCatalog
|
|
41
|
+
name: Orders
|
|
42
|
+
|
|
43
|
+
# Version of the Service
|
|
44
|
+
version: 0.0.1
|
|
45
|
+
|
|
46
|
+
# Short summary of your Service
|
|
47
|
+
summary: |
|
|
48
|
+
Service that contains order related information
|
|
49
|
+
|
|
50
|
+
# Optional owners, references teams or users
|
|
51
|
+
owners:
|
|
52
|
+
- dboyne
|
|
53
|
+
|
|
54
|
+
# Optional messages this service receives and it's version
|
|
55
|
+
receives:
|
|
56
|
+
- id: InventoryAdjusted
|
|
57
|
+
version: 0.0.3
|
|
58
|
+
|
|
59
|
+
# Optional messages this service sends and it's version
|
|
60
|
+
sends:
|
|
61
|
+
- id: AddInventory
|
|
62
|
+
version: 0.0.3
|
|
63
|
+
|
|
64
|
+
# Optional flows associated with this service
|
|
65
|
+
flows:
|
|
66
|
+
- id: OrderProcessing
|
|
67
|
+
version: 1.0.0
|
|
68
|
+
|
|
69
|
+
# Optional badges, rendered to UI by EventCatalog
|
|
70
|
+
badges:
|
|
71
|
+
- content: New service
|
|
72
|
+
backgroundColor: blue
|
|
73
|
+
textColor: blue
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Overview
|
|
77
|
+
|
|
78
|
+
This orders service gives API consumers the ability to produce orders in the systems. Events are raised from this system for downstream consumption.
|
|
79
|
+
|
|
80
|
+
<NodeGraph />
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Adding content
|
|
85
|
+
|
|
86
|
+
With **services** you can write any Markdown you want and it will render on your page. Every service gets its own page.
|
|
87
|
+
|
|
88
|
+
Within your markdown content you can use [components](/docs/development/components/using-components) to add interactive components to your page.
|
|
89
|
+
|
|
90
|
+
## Adding specifications to your service
|
|
91
|
+
|
|
92
|
+
You can add GraphQL, OpenAPI or AsyncAPI specifications to your service.
|
|
93
|
+
|
|
94
|
+
You can read more about adding specifications to your service [here](/docs/development/guides/services/adding-to-services/openapi).
|
|
95
|
+
|
|
96
|
+
## Custom icon
|
|
97
|
+
|
|
98
|
+
<AddedIn version="3.28.1" />
|
|
99
|
+
|
|
100
|
+
Set `styles.icon` in your frontmatter to display a custom icon on the service. The icon appears in the visualiser node, sidebar navigation, page header, and search results.
|
|
101
|
+
|
|
102
|
+
```md title="/services/Orders/index.mdx (example)"
|
|
103
|
+
---
|
|
104
|
+
id: Orders
|
|
105
|
+
name: Orders
|
|
106
|
+
version: 0.0.1
|
|
107
|
+
styles:
|
|
108
|
+
icon: /icons/languages/dotnet.svg
|
|
109
|
+
---
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The value can be a path to a file in your catalog's `public/` folder (e.g. `/icons/logo.svg`) or an absolute URL (e.g. `https://cdn.simpleicons.org/nodejs`). [Simple Icons CDN](https://cdn.simpleicons.org) is a useful source for brand logos.
|
|
113
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog services
|
|
5
|
+
- External systems
|
|
6
|
+
sidebar_label: Creating an external system
|
|
7
|
+
title: Creating external systems
|
|
8
|
+
description: Model third-party services like Stripe, Twilio, or Snowflake as external systems in EventCatalog.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
12
|
+
|
|
13
|
+
<AddedIn version="3.28.0" />
|
|
14
|
+
|
|
15
|
+
External systems are services your architecture integrates with but does not own — Stripe, Twilio, Snowflake, Auth0, and similar third-party providers. They behave like any other service in EventCatalog: they can send and receive messages, be versioned, have owners, and carry specifications. The only difference is how they are presented — purple with a Globe icon and an "External System" badge in the visualiser, and grouped under a dedicated "External Systems" section in the sidebar (or "External Integrations" when inside a domain).
|
|
16
|
+
|
|
17
|
+
Creating an external system is identical to creating a regular service — just add `externalSystem: true` to the frontmatter.
|
|
18
|
+
|
|
19
|
+
## Example: modelling Stripe
|
|
20
|
+
|
|
21
|
+
Here is an example modelling Stripe as an external system. Stripe receives a `ChargeCard` command from your `PaymentGatewayService` and sends back `StripeChargeSucceeded` and `StripeChargeFailed` webhook events.
|
|
22
|
+
|
|
23
|
+
```md title="/services/Stripe/index.mdx (example)"
|
|
24
|
+
---
|
|
25
|
+
id: Stripe
|
|
26
|
+
name: Stripe
|
|
27
|
+
version: 1.0.0
|
|
28
|
+
summary: External payment processor used to charge customer cards.
|
|
29
|
+
externalSystem: true
|
|
30
|
+
receives:
|
|
31
|
+
- id: ChargeCard
|
|
32
|
+
version: 0.0.1
|
|
33
|
+
sends:
|
|
34
|
+
- id: StripeChargeSucceeded
|
|
35
|
+
version: 0.0.1
|
|
36
|
+
- id: StripeChargeFailed
|
|
37
|
+
version: 0.0.1
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Overview
|
|
41
|
+
|
|
42
|
+
Stripe is used to process card payments. We send a `ChargeCard` command and Stripe
|
|
43
|
+
webhooks back `StripeChargeSucceeded` or `StripeChargeFailed` to complete the round trip.
|
|
44
|
+
|
|
45
|
+
<NodeGraph />
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Your paired `PaymentGatewayService` would mirror this — `sends: [ChargeCard]` and `receives: [StripeChargeSucceeded, StripeChargeFailed]` — giving you a complete integration contract visible in the visualiser.
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
Modelling third-party systems this way lets you document exactly what you call and what they call back, see external dependencies cleanly separated from your own services on the visualiser, and reason about which of your services depend on which third parties.
|
|
53
|
+
|
|
54
|
+
## Custom icon
|
|
55
|
+
|
|
56
|
+
<AddedIn version="3.28.1" />
|
|
57
|
+
|
|
58
|
+
Set `styles.icon` to brand your external system with its real logo. The icon appears in the visualiser node, sidebar navigation, page header, and search results.
|
|
59
|
+
|
|
60
|
+
```md title="/services/Stripe/index.mdx (example)"
|
|
61
|
+
---
|
|
62
|
+
id: Stripe
|
|
63
|
+
name: Stripe
|
|
64
|
+
version: 1.0.0
|
|
65
|
+
externalSystem: true
|
|
66
|
+
styles:
|
|
67
|
+
icon: https://cdn.simpleicons.org/stripe
|
|
68
|
+
---
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The value can be a path to a file in your catalog's `public/` folder (e.g. `/icons/stripe.svg`) or an absolute URL. [Simple Icons CDN](https://cdn.simpleicons.org) is a convenient source for brand logos — use `https://cdn.simpleicons.org/<slug>` where `<slug>` matches the service name.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"label": "Services",
|
|
3
|
+
"position": 2,
|
|
4
|
+
"collapsible": true,
|
|
5
|
+
"collapsed": true,
|
|
6
|
+
"link": {
|
|
7
|
+
"type": "generated-index",
|
|
8
|
+
"slug": "/services",
|
|
9
|
+
"description": "A collection of guides to help you understand services and how they work with EventCatalog."
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
keywords:
|
|
3
|
+
- EventCatalog domains
|
|
4
|
+
sidebar_label: Messages
|
|
5
|
+
title: Adding messages to services
|
|
6
|
+
description: Understanding how to add messages to services.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
10
|
+
|
|
11
|
+
EventCatalog supports different types of messages ([commands](/docs/development/guides/messages/commands/introduction), [events](/docs/development/guides/messages/events/introduction) and [queries](/docs/development/guides/messages/queries/introduction)).
|
|
12
|
+
|
|
13
|
+
A service in EventCatalog can **receive** or **send** messages.
|
|
14
|
+
|
|
15
|
+
A service can also **send** and **receive** messages through channels.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
:::info What about producers and consumers?
|
|
21
|
+
|
|
22
|
+
If you are coming from an event-driven architecture you will be familiar with the terms producers and consumers. Producers produce events and consumers consume them.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
EventCatalog services can be either producers or consumers or both. For example if a service receives an event (type of message) it is the consumer, if it sends an event (type of message) it is the producer.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
The idea of **sends** and **receives** comes from the [AsyncAPI specification](https://www.asyncapi.com/blog/release-notes-3.0.0) and gives flexibility to support other types of messages (commands and queries).
|
|
29
|
+
|
|
30
|
+
:::
|
|
31
|
+
|
|
32
|
+
To add messages to your service you first have to define your messages.
|
|
33
|
+
|
|
34
|
+
Once you have messages defined in your Catalog you can reference them within your service.
|
|
35
|
+
|
|
36
|
+
## Adding messages to your service
|
|
37
|
+
|
|
38
|
+
To add messages to a service you need to define them in either the **sends** or **receives** array within your service frontmatter API.
|
|
39
|
+
|
|
40
|
+
You need to add the `id` of the message and optionally the `version` of the message.
|
|
41
|
+
|
|
42
|
+
```md title="/services/Orders/index.mdx (example)"
|
|
43
|
+
---
|
|
44
|
+
id: OrderService
|
|
45
|
+
... # other service frontmatter
|
|
46
|
+
receives:
|
|
47
|
+
# id of the message this service receives
|
|
48
|
+
- id: PaymentProcessed
|
|
49
|
+
# (optional) The version of the message you want to add.
|
|
50
|
+
# If no version is given the latest version of the message will be used.
|
|
51
|
+
version: 0.0.1
|
|
52
|
+
sends:
|
|
53
|
+
# id of the message this service sends
|
|
54
|
+
- id: OrderProcessed
|
|
55
|
+
version: 2.0.1
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
<!-- Markdown contents... -->
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The **receives** and **sends** fields in your service tell EventCatalog which messages this service either consumes or publishes.
|
|
63
|
+
|
|
64
|
+
:::info The power of versioning
|
|
65
|
+
When you define your messages for your service you can define the version of them too. This can be powerful if you have multiple versions of your events, commands or queries. Example could be an API that you are consuming, maybe you are consuming an old version of this API you can specify that.
|
|
66
|
+
:::
|
|
67
|
+
|
|
68
|
+
### Declaring field dependencies
|
|
69
|
+
|
|
70
|
+
<AddedIn version="3.24.0" />
|
|
71
|
+
|
|
72
|
+
You can declare which specific fields of a message your service depends on by adding a `fields` array to any `receives` entry.
|
|
73
|
+
|
|
74
|
+
```md title="/services/Orders/index.mdx (example)"
|
|
75
|
+
---
|
|
76
|
+
id: OrderService
|
|
77
|
+
... # other service frontmatter
|
|
78
|
+
receives:
|
|
79
|
+
- id: PaymentProcessed
|
|
80
|
+
version: 1.0.0
|
|
81
|
+
fields:
|
|
82
|
+
- orderId
|
|
83
|
+
- amount
|
|
84
|
+
- currency
|
|
85
|
+
---
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Declaring fields is optional. When at least one service declares fields for a message, EventCatalog generates a **Field Usage** page for that message showing which services depend on each field. You can read more in the [Field Usage guide](/docs/development/guides/schemas/field-usage).
|
|
89
|
+
|
|
90
|
+
### Routing messages through channels
|
|
91
|
+
|
|
92
|
+
You can also route your messages through channels. Examples of these could be your brokers, queues, topics, etc.
|
|
93
|
+
|
|
94
|
+
To do this you can use the `to` and `from` fields in your service frontmatter.
|
|
95
|
+
|
|
96
|
+
This example shows :
|
|
97
|
+
- the `OrderService` sending an `OrderPlaced` message to the `orders.events` channel.
|
|
98
|
+
- the `OrderService` consuming the a `PaymentProcessed` message from the `payments.events` channel.
|
|
99
|
+
|
|
100
|
+
```md title="/services/Orders/index.mdx (example)"
|
|
101
|
+
---
|
|
102
|
+
id: OrderService
|
|
103
|
+
... # other service frontmatter
|
|
104
|
+
|
|
105
|
+
# Service sends a message called OrderPlaced
|
|
106
|
+
# This message is published to the orders.events channel (e.g broker)
|
|
107
|
+
sends:
|
|
108
|
+
- id: OrderPlaced
|
|
109
|
+
to:
|
|
110
|
+
- id: orders.events
|
|
111
|
+
|
|
112
|
+
# Service consumes a message called PaymentProcessed
|
|
113
|
+
# This message is consumed from the payments.events channel (e.g queue)
|
|
114
|
+
receives:
|
|
115
|
+
- id: PaymentProcessed
|
|
116
|
+
from:
|
|
117
|
+
- id: payments.events
|
|
118
|
+
---
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
You can read more about routing messages through channels in the [routing messages through channels guide](/docs/development/guides/channels/introduction).
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### Using semver versioning
|
|
125
|
+
|
|
126
|
+
<AddedIn version="2.4.0" />
|
|
127
|
+
|
|
128
|
+
You can use [semver](https://semver.org/) syntax when referencing your services in your domains.
|
|
129
|
+
|
|
130
|
+
```md title="/domains/Orders/index.mdx (example)"
|
|
131
|
+
---
|
|
132
|
+
id: PaymentDomain
|
|
133
|
+
... # other domain frontmatter
|
|
134
|
+
services:
|
|
135
|
+
# Latest minor version of PaymentsService will be added
|
|
136
|
+
- id: PaymentsService
|
|
137
|
+
version: 0.x.1
|
|
138
|
+
# Minor and patches of this version will be linked
|
|
139
|
+
- id: NotificationsService
|
|
140
|
+
version: ^1.0.1
|
|
141
|
+
# Latest version of this service will be shown by default.
|
|
142
|
+
- id: PaymentsService
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
id: OrderService
|
|
147
|
+
... # other service frontmatter
|
|
148
|
+
receives:
|
|
149
|
+
# Service receives a message called PaymentProcessed
|
|
150
|
+
# The latest minor/patch version of this event will be used
|
|
151
|
+
- id: PaymentProcessed
|
|
152
|
+
version: 1.x.x
|
|
153
|
+
sends:
|
|
154
|
+
# Service sends a message called OrderProcessed
|
|
155
|
+
# This pulls the latest patch version of OrderProcessed
|
|
156
|
+
- id: OrderProcessed
|
|
157
|
+
version: 2.0.x
|
|
158
|
+
# Service sends a message called OrderCancelled
|
|
159
|
+
# This pulls the latest minor/patch version of OrderCancelled
|
|
160
|
+
- id: OrderCancelled
|
|
161
|
+
version: >1.0.1
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
<!-- Markdown contents... -->
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Although it's recommended to link to a version of a message it is now optional. If no version is given **latest** is used by default.
|
|
169
|
+
|
|
170
|
+
### Group messages in the visualiser
|
|
171
|
+
|
|
172
|
+
<AddedIn version="3.27.0" />
|
|
173
|
+
|
|
174
|
+
When a service sends or receives many messages, the visualiser can become crowded. You can use the `group` field on any `sends` or `receives` entry to collect related messages into a named group node.
|
|
175
|
+
|
|
176
|
+
```md title="/services/WarehouseService/index.mdx (example)"
|
|
177
|
+
---
|
|
178
|
+
id: WarehouseService
|
|
179
|
+
version: 1.0.0
|
|
180
|
+
name: Warehouse Service
|
|
181
|
+
sends:
|
|
182
|
+
- id: ShipmentDispatched
|
|
183
|
+
version: 1.0.0
|
|
184
|
+
group: Shipping
|
|
185
|
+
- id: ShipmentFailed
|
|
186
|
+
version: 1.0.0
|
|
187
|
+
group: Shipping
|
|
188
|
+
- id: PickRequested
|
|
189
|
+
version: 1.0.0
|
|
190
|
+
group: Picking
|
|
191
|
+
receives:
|
|
192
|
+
- id: OrderPlaced
|
|
193
|
+
version: 1.0.0
|
|
194
|
+
group: Orders
|
|
195
|
+
---
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Messages that share the same `group` value are collapsed into a single stacked (purple) card node in the visualiser. The node displays the group name and the number of messages it contains.
|
|
199
|
+
|
|
200
|
+

|
|
201
|
+
|
|
202
|
+
Click the group node to expand it. The expanded view renders each individual message inside a container, along with the full downstream graph: channels the messages route to and any connected producer or consumer services, exactly as they would appear when ungrouped. Click **Collapse** inside the expanded container to return to the compact group node.
|
|
203
|
+
|
|
204
|
+

|
|
205
|
+
|
|
206
|
+
Groups can be combined with channel routing. The expanded view will show the correct channel paths for each message.
|
|
207
|
+
|
|
208
|
+
```md title="/services/WarehouseService/index.mdx (example)"
|
|
209
|
+
---
|
|
210
|
+
id: WarehouseService
|
|
211
|
+
version: 1.0.0
|
|
212
|
+
name: Warehouse Service
|
|
213
|
+
sends:
|
|
214
|
+
- id: ShipmentDispatched
|
|
215
|
+
version: 1.0.0
|
|
216
|
+
group: Shipping
|
|
217
|
+
to:
|
|
218
|
+
- id: shipping.events
|
|
219
|
+
- id: ShipmentFailed
|
|
220
|
+
version: 1.0.0
|
|
221
|
+
group: Shipping
|
|
222
|
+
---
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Visualizing messages within a service
|
|
226
|
+
|
|
227
|
+
When messages get added within your services EventCatalog will visualize this for you either using the `NodeGraph` component or through the visualizer.
|
|
228
|
+
|
|
229
|
+

|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
keywords:
|
|
3
|
+
- EventCatalog domains
|
|
4
|
+
sidebar_label: Data stores
|
|
5
|
+
title: Adding data stores to services
|
|
6
|
+
description: Adding data stores to services
|
|
7
|
+
slug: adding-data-stores-to-services
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
+
|
|
12
|
+
<AddedIn version="2.59.0" />
|
|
13
|
+
|
|
14
|
+
[Data stores](/docs/development/guides/data/introduction) in EventCatalog are a great way to document which data stores your services write to or read from.
|
|
15
|
+
|
|
16
|
+
:::info What are data stores?
|
|
17
|
+
Data stores are containers that hold data in your architecture (e.g. databases, caches, object stores, search indexes, etc).
|
|
18
|
+
|
|
19
|
+
You can read more about data stores [here](/docs/development/guides/data/introduction).
|
|
20
|
+
:::
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Specifying read/write relationships to data stores
|
|
24
|
+
|
|
25
|
+
To document the read/write relationships to data stores you need to specify the data stores in the **writesTo** or **readsFrom** array within your service frontmatter API.
|
|
26
|
+
|
|
27
|
+
In the example below the `OrderService` writes to the `OrdersDatabase` and reads from the `ProductRedisCache`.
|
|
28
|
+
|
|
29
|
+
```md title="/services/Orders/index.mdx (example)"
|
|
30
|
+
---
|
|
31
|
+
id: OrderService
|
|
32
|
+
... # other service frontmatter
|
|
33
|
+
writesTo:
|
|
34
|
+
# id of the data store this service writes to
|
|
35
|
+
- id: OrdersDatabase
|
|
36
|
+
readsFrom:
|
|
37
|
+
# id of the data store this service reads from
|
|
38
|
+
- id: ProductRedisCache
|
|
39
|
+
# optional version of the data store if none provided latest will be used
|
|
40
|
+
version: 0.0.1
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Using semver versioning
|
|
46
|
+
|
|
47
|
+
<AddedIn version="2.4.0" />
|
|
48
|
+
|
|
49
|
+
You can use [semver](https://semver.org/) syntax when referencing your data stores in your services.
|
|
50
|
+
|
|
51
|
+
```md title="/domains/Orders/index.mdx (example)"
|
|
52
|
+
---
|
|
53
|
+
id: PaymentDomain
|
|
54
|
+
... # other domain frontmatter
|
|
55
|
+
writesTo:
|
|
56
|
+
# Latest minor version of OrdersDatabase will be added
|
|
57
|
+
- id: OrdersDatabase
|
|
58
|
+
version: 0.x.1
|
|
59
|
+
# Minor and patches of this version will be linked
|
|
60
|
+
- id: ProductRedisCache
|
|
61
|
+
version: ^1.0.1
|
|
62
|
+
# Latest version of this data store will be shown by default.
|
|
63
|
+
- id: OrdersDatabase
|
|
64
|
+
---
|
|
65
|
+
<!-- Markdown contents... -->
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
You can choose not to provide a version for a data store. If no version is given **latest** is used by default.
|
|
70
|
+
|
|
71
|
+
### Visualizing data stores within a service
|
|
72
|
+
|
|
73
|
+
When data stores get added within your services EventCatalog will visualize this for you either using the `NodeGraph` component or through the visualizer.
|
|
74
|
+
|
|
75
|
+

|
|
76
|
+
|
|
77
|
+
You can see an example of this [here](https://demo.eventcatalog.dev/visualiser/services/OrdersService/0.0.3)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
keywords:
|
|
3
|
+
- EventCatalog services
|
|
4
|
+
sidebar_label: Entities
|
|
5
|
+
title: Adding entities to services
|
|
6
|
+
description: Creating and managing entities within EventCatalog.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
10
|
+
|
|
11
|
+
:::tip What are entities?
|
|
12
|
+
Entities are a "**optional**" resource in EventCatalog. You can learn more reading our [entities guide](/docs/development/guides/domains/entities/adding-entities).
|
|
13
|
+
|
|
14
|
+
:::
|
|
15
|
+
|
|
16
|
+
<AddedIn version="2.36.0" />
|
|
17
|
+
|
|
18
|
+
Once you have [created your entities](/docs/development/guides/domains/entities/adding-entities) you can add them to your services.
|
|
19
|
+
|
|
20
|
+
To add an entity to a service you need to add the entity to the `entities` array in the service's markdown file.
|
|
21
|
+
|
|
22
|
+
```md title="/services/PaymentService/index.mdx"
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
id: PaymentService
|
|
26
|
+
name: PaymentService
|
|
27
|
+
version: 1.0.0
|
|
28
|
+
# This assumes you have an entity called Payment
|
|
29
|
+
entities:
|
|
30
|
+
- id: Payment
|
|
31
|
+
# Optional, if not provided the latest version will be used
|
|
32
|
+
version: 1.0.0
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
Your service markdown...
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Visualize entity relationships
|
|
40
|
+
|
|
41
|
+
<AddedIn version="3.25.1" />
|
|
42
|
+
|
|
43
|
+
When a service has entities assigned, EventCatalog generates a dedicated **Entity Map** page in the visualizer at `/visualiser/services/{id}/{version}/entity-map`. A link to this view appears automatically in the service sidebar under the visualizer section.
|
|
44
|
+
|
|
45
|
+
The entity map shows each entity as a node and draws edges between entities that reference one another using the `references` field in their properties. This gives you a quick overview of how the domain model is structured inside a service.
|
|
46
|
+
|
|
47
|
+
To learn how to define relationships between entities, see the [entity map guide](/docs/development/guides/domains/entities/domain-entity-map).
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
keywords:
|
|
3
|
+
- EventCatalog domains
|
|
4
|
+
sidebar_label: OpenAPI specifications
|
|
5
|
+
title: Adding OpenAPI specifications
|
|
6
|
+
description: Attach an OpenAPI specification to your service and render them in your documentation
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
10
|
+
import Tabs from '@theme/Tabs';
|
|
11
|
+
import TabItem from '@theme/TabItem';
|
|
12
|
+
|
|
13
|
+
<AddedIn version="2.6.0" />
|
|
14
|
+
|
|
15
|
+
Services in EventCatalog allow you to render OpenAPI specifications ([see demo](https://demo.eventcatalog.dev/docs/services/OrdersService/0.0.3/spec/openapi-v1)).
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
You have two options for adding OpenAPI specifications to your service:
|
|
20
|
+
|
|
21
|
+
- [Adding OpenAPI files to EventCatalog](#adding-openapi-specifications-to-eventcatalog)
|
|
22
|
+
- [Reference the OpenAPI file from a remote URL](#reference-the-openapi-file-from-a-remote-url)
|
|
23
|
+
|
|
24
|
+
:::tip Why not automate your EventCatalog from your OpenAPI files?
|
|
25
|
+
Did you know you can automate your documentation, visualizations and owners using your OpenAPI Files?
|
|
26
|
+
|
|
27
|
+
We have a [OpenAPI plugin](/docs/plugins/openapi/intro) that can generate your catalog from your OpenAPI files, transforming your operations into
|
|
28
|
+
commands, queries and events. You can assign these to services and domains and much more...
|
|
29
|
+
:::
|
|
30
|
+
|
|
31
|
+
## Adding OpenAPI files to EventCatalog
|
|
32
|
+
|
|
33
|
+
This option is useful if you want to keep your OpenAPI files in your EventCatalog.
|
|
34
|
+
|
|
35
|
+
To add an OpenAPI file to your service you will need to include the file itself inside the service directory.
|
|
36
|
+
|
|
37
|
+
- `/services/{Service Name}/openapi.yml`
|
|
38
|
+
- (example `/services/Orders/openapi.yml`)
|
|
39
|
+
|
|
40
|
+
Then you need to reference the file in the service frontmatter.
|
|
41
|
+
|
|
42
|
+
```md title="example: /services/Orders/index.mdx"
|
|
43
|
+
---
|
|
44
|
+
specifications:
|
|
45
|
+
- type: openapi
|
|
46
|
+
# Path to the OpenAPI file relative to the service directory
|
|
47
|
+
path: openapi.yml
|
|
48
|
+
# Friendly name for the specification
|
|
49
|
+
name: OpenAPI Specification
|
|
50
|
+
---
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Reference the OpenAPI file from a remote URL
|
|
54
|
+
|
|
55
|
+
<AddedIn version="2.61.2" />
|
|
56
|
+
|
|
57
|
+
This can be useful if you want to keep your OpenAPI files in a remote repository and render them in EventCatalog.
|
|
58
|
+
|
|
59
|
+
The pages will be built at build time, so the URL needs to be accessible by the build machine.
|
|
60
|
+
|
|
61
|
+
If your specifications changes you need to rebuild your EventCatalog as the pages are built at build time.
|
|
62
|
+
|
|
63
|
+
```md title="example: /services/Orders/index.mdx"
|
|
64
|
+
---
|
|
65
|
+
specifications:
|
|
66
|
+
- type: openapi
|
|
67
|
+
# Path to the OpenAPI file from a remote URL (accessible by the build machine)
|
|
68
|
+
path: https://raw.githubusercontent.com/event-catalog/generator-openapi/refs/heads/main/examples/product-api/openapi.yml
|
|
69
|
+
# Friendly name for the specification
|
|
70
|
+
name: Product API
|
|
71
|
+
---
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Multiple OpenAPI Files
|
|
75
|
+
|
|
76
|
+
<AddedIn version="2.39.1" />
|
|
77
|
+
|
|
78
|
+
If your service exposes multiple APIs or versions of the same API, you can assign multiple OpenAPI files to a single service.
|
|
79
|
+
|
|
80
|
+
```mdx title="example: /services/Orders/index.mdx"
|
|
81
|
+
---
|
|
82
|
+
specifications:
|
|
83
|
+
- type: openapi
|
|
84
|
+
path: openapi-v1.yml
|
|
85
|
+
name: v1
|
|
86
|
+
- type: openapi
|
|
87
|
+
path: openapi-v2.yml
|
|
88
|
+
name: v2
|
|
89
|
+
---
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
This will render a list of specification files on your service page and navigation bar.
|
|
93
|
+
|
|
94
|
+

|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|