@eventcatalog/core 3.34.0 → 3.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-K5AM6PPU.js → chunk-4SNN54V4.js} +1 -1
- package/dist/{chunk-623CFR4T.js → chunk-B7C4DHFE.js} +1 -1
- package/dist/{chunk-BJWMR3ZH.js → chunk-JEQZWJWP.js} +1 -1
- package/dist/{chunk-PP7EDIPX.js → chunk-R4DR3YAH.js} +1 -1
- package/dist/{chunk-IO6EMN5C.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/eventcatalog/src/components/Search/SearchModal.tsx +23 -34
- package/eventcatalog/src/components/Search/search-utils.spec.ts +36 -0
- package/eventcatalog/src/components/Search/search-utils.ts +34 -0
- package/eventcatalog/src/components/SideNav/NestedSideBar/SearchBar.tsx +7 -1
- package/eventcatalog/src/components/SideNav/NestedSideBar/index.tsx +2 -0
- package/eventcatalog/src/stores/sidebar-store/builders/flow.ts +77 -0
- package/eventcatalog/src/stores/sidebar-store/builders/message.ts +10 -1
- package/eventcatalog/src/stores/sidebar-store/builders/service.ts +10 -3
- package/eventcatalog/src/stores/sidebar-store/state.ts +126 -2
- package/eventcatalog/src/utils/collections/flows.ts +3 -2
- package/package.json +4 -4
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 6
|
|
3
|
+
keywords:
|
|
4
|
+
- EventCatalog components
|
|
5
|
+
sidebar_label: AI Reviewer
|
|
6
|
+
title: AI Reviewer
|
|
7
|
+
description: Integrate EventCatalog with GitHub Actions
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
+
import EventCatalogPro from '@site/src/components/MDX/EventCatalogPro';
|
|
12
|
+
|
|
13
|
+
<EventCatalogPro />
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
The [EventCatalog GitHub Action](https://github.com/event-catalog/github-action) brings AI-powered insight into your Git workflows. It uses large language models (LLMs) to automatically review changes to your EventCatalog, helping you catch issues early—before they reach production. You can pick from OpenAI, Anthropic, or Google.
|
|
18
|
+
|
|
19
|
+
Think of it as a smart assistant for your pull requests. It doesn't just lint code—it understands the implications of your changes.
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Watch the video to see the GitHub Action in action</summary>
|
|
23
|
+
|
|
24
|
+
<iframe width="100%" height="
|
|
25
|
+
515" src="https://www.youtube.com/embed/xAQ20eAfKsI?si=ZNQMEcAkDSjfIa3b" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
|
26
|
+
</details>
|
|
27
|
+
|
|
28
|
+
**What it does:**
|
|
29
|
+
|
|
30
|
+
- Detect breaking changes in schemas during pull requests
|
|
31
|
+
- Score how likely a change is to cause issues
|
|
32
|
+
- List affected consumers so you know who’s impacted
|
|
33
|
+
- Recommend actions to resolve problems before merging
|
|
34
|
+
|
|
35
|
+
By automating the review process, this GitHub Action saves your team hours of manual effort, reduces human error, and brings consistency to your EventCatalog maintenance.
|
|
36
|
+
|
|
37
|
+
You’re always in control—the final merge decision is still up to you. But now, you’ll have the insights to make it with confidence.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<img src="/img/github-actions.png" alt="EventCatalog GitHub Action" />
|
|
41
|
+
|
|
42
|
+
### Functionality
|
|
43
|
+
|
|
44
|
+
The GitHub action supports many different tasks, and you can use the same action for multiple tasks.
|
|
45
|
+
|
|
46
|
+
Tasks:
|
|
47
|
+
|
|
48
|
+
- [schema_review](./github-action.md#task-automated-schema-reviews):
|
|
49
|
+
- Automatically review the schemas for breaking changes in your pull requests
|
|
50
|
+
|
|
51
|
+
_More tasks will be added in the future_
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Task: Automated schema reviews
|
|
59
|
+
|
|
60
|
+
The schema review task is used to review schemas for breaking changes. This task let's you catch breaking changes in your schemas before they are deployed.
|
|
61
|
+
|
|
62
|
+
The schema review supports any schema format, including (JSON, Avro, Protobuf, Thrift, etc.).
|
|
63
|
+
|
|
64
|
+
<img src="/img/github-actions.png" alt="EventCatalog GitHub Action" width="30%" />
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
**Why use the schema review task?**
|
|
69
|
+
|
|
70
|
+
- Capture breaking changes in your schemas before they are deployed
|
|
71
|
+
- Get a score of how likely the changes are to be breaking
|
|
72
|
+
- See a list of consumers that will be affected by the changes
|
|
73
|
+
- Take action to fix breaking changes before they are deployed
|
|
74
|
+
|
|
75
|
+
**Workflow example:**
|
|
76
|
+
|
|
77
|
+
1. Your team member makes a change to a schema in EventCatalog (inside your events, queries or commands folders)
|
|
78
|
+
1. The action will review the schema for breaking changes using your configured LLM (OpenAI, Anthropic, Google)
|
|
79
|
+
1. The action will return a summary of changes, and give you a score of how likely the changes are to be breaking
|
|
80
|
+
1. The action will list affected consumers so you know who’s impacted
|
|
81
|
+
1. Your team member is still in control of the merge decision, but now has the information to make a more informed decision
|
|
82
|
+
|
|
83
|
+
#### Setup
|
|
84
|
+
|
|
85
|
+
:::info EventCatalog Scale License
|
|
86
|
+
The GitHub action requires an EventCatalog Scale License.
|
|
87
|
+
You can get a 14 day free trial from [EventCatalog Cloud](https://eventcatalog.dev/cloud).
|
|
88
|
+
:::
|
|
89
|
+
|
|
90
|
+
Set your EventCatalog Scale License key in the `license_key` parameter. We recommend storing the `license_key` value as a GitHub secret.
|
|
91
|
+
|
|
92
|
+
To use the EventCatalog GitHub Action, create a new .github/workflows/eventcatalog-ci.yaml file in your repository with the following content:
|
|
93
|
+
|
|
94
|
+
```yaml title=".github/workflows/eventcatalog-ci.yaml"
|
|
95
|
+
name: EventCatalog CI
|
|
96
|
+
on:
|
|
97
|
+
push:
|
|
98
|
+
pull_request:
|
|
99
|
+
types: [opened, synchronize, reopened, labeled, unlabeled]
|
|
100
|
+
delete:
|
|
101
|
+
permissions:
|
|
102
|
+
contents: read
|
|
103
|
+
pull-requests: write
|
|
104
|
+
jobs:
|
|
105
|
+
schema_review:
|
|
106
|
+
runs-on: ubuntu-latest
|
|
107
|
+
steps:
|
|
108
|
+
- uses: actions/checkout@v4
|
|
109
|
+
- uses: event-catalog/github-action@main
|
|
110
|
+
with:
|
|
111
|
+
# The task to run, currently only schema_review is supported
|
|
112
|
+
task: schema_review
|
|
113
|
+
# The AI LLM provider to use (openai, anthropic, google)
|
|
114
|
+
provider: openai
|
|
115
|
+
|
|
116
|
+
# The model to use for the task, defaults to o4-mini
|
|
117
|
+
# Find the models in the documentation below
|
|
118
|
+
model: o4-mini
|
|
119
|
+
|
|
120
|
+
# Your API KEY for the LLM provider
|
|
121
|
+
api_key: ${{ secrets.OPENAI_API_KEY }}
|
|
122
|
+
|
|
123
|
+
# Your EventCatalog Scale License key
|
|
124
|
+
license_key: ${{ secrets.EVENT_CATALOG_LICENSE_KEY }}
|
|
125
|
+
|
|
126
|
+
# Your GitHub token
|
|
127
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### Configuration options
|
|
132
|
+
|
|
133
|
+
<!-- Table with configuration options -->
|
|
134
|
+
|
|
135
|
+
| Parameter | Description | Required | Default |
|
|
136
|
+
|-----------|-------------|----------|---------|
|
|
137
|
+
| `task` | The task to run, currently only `schema_review` is supported | Yes | N/A |
|
|
138
|
+
| `catalog_directory` | The directory where the EventCatalog files are located. Useful for monorepos. By default, the action will review all files in the repository. If you have EventCatalog in a subdirectory, you can specify the directory here. | No | `./` |
|
|
139
|
+
| `failure_threshold` | The score below which the action will fail. The score is a number between 0 and 100. The default is 25. The LLM will return a score between 0 and 100, based on the likelihood of the changes being breaking. | No | 25 |
|
|
140
|
+
| `provider` | The AI LLM provider to use (openai, anthropic, google) | Yes | openai |
|
|
141
|
+
| `model` | The model to use for the task, defaults to `o4-mini`. See the list of supported models: [OpenAI models](https://github.com/event-catalog/github-action/blob/bf92166b4e4c9414caf63e88bc7a315467b506b6/src/ai-models/openai.ts#L4), [Anthropic models](https://github.com/event-catalog/github-action/blob/bf92166b4e4c9414caf63e88bc7a315467b506b6/src/ai-models/anthropic.ts#L4), [Google models](https://github.com/event-catalog/github-action/blob/bf92166b4e4c9414caf63e88bc7a315467b506b6/src/ai-models/google.ts#L4) |Yes | o4-mini |
|
|
142
|
+
| `api_key` | Your API KEY for the LLM provider | Yes | N/A |
|
|
143
|
+
| `license_key` | Your EventCatalog Scale License key | Yes | N/A |
|
|
144
|
+
|
|
145
|
+
#### Got an issue?
|
|
146
|
+
|
|
147
|
+
If you have any issues with the GitHub action, please [open an issue](https://github.com/event-catalog/github-action) on the GitHub action repository.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
keywords:
|
|
4
|
+
- mermaid
|
|
5
|
+
sidebar_label: llms.txt
|
|
6
|
+
title: LLMS.txt
|
|
7
|
+
description: Understanding how to use LLMS.txt with EventCatalog and your LLMs
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
+
|
|
12
|
+
<AddedIn version="2.20.0" />
|
|
13
|
+
|
|
14
|
+
Enable tools like Claude, ChatGPT, GitHub Copilot, and Cursor to quickly understand your EventCatalog.
|
|
15
|
+
|
|
16
|
+
### What is LLMS.txt?
|
|
17
|
+
|
|
18
|
+
[LLMS.txt](https://llmstxt.org/) is a proposed standard that helps AI-powered development tools better understand and interact with your documentation. Similar to how robots.txt guides web crawlers, LLMS.txt provides structured information that makes it easier for AI assistants like Claude, ChatGPT, and GitHub Copilot to process your EventCatalog documentation.
|
|
19
|
+
|
|
20
|
+
The file is automatically generated and maintained as part of your documentation pipeline, requiring no manual configuration. It organizes your documentation's key concepts, structures, and relationships in a format optimized for machine reading.
|
|
21
|
+
|
|
22
|
+
### llms.txt and llms-full.txt
|
|
23
|
+
|
|
24
|
+
The `llms.txt` file includes your EventCatalog resources in a simple format. Lists your resources with a summary for each of them.
|
|
25
|
+
|
|
26
|
+
The `llms-full.txt` file includes your EventCatalog resources in a more detailed format. All the contents of your Catalog resources are included in the file.
|
|
27
|
+
|
|
28
|
+
### Enable in EventCatalog
|
|
29
|
+
|
|
30
|
+
**`llms.txt` is enabled by default in EventCatalog.**
|
|
31
|
+
|
|
32
|
+
You can disable it by turning it off in your `eventcatalog.config.js` file.
|
|
33
|
+
|
|
34
|
+
```js title="eventcatalog.config.js"
|
|
35
|
+
llmsTxt: {
|
|
36
|
+
enabled: false,
|
|
37
|
+
},
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Once you enable llms.txt you can query both the urls:
|
|
41
|
+
- `https://<your-catalog-url>/docs/llm/llms.txt`
|
|
42
|
+
- Demo: https://demo.eventcatalog.dev/docs/llm/llms.txt
|
|
43
|
+
- `https://<your-catalog-url>/docs/llm/llms-full.txt`
|
|
44
|
+
- Demo: https://demo.eventcatalog.dev/docs/llm/llms-full.txt
|
|
45
|
+
|
|
46
|
+
### How to use LLMS.txt?
|
|
47
|
+
|
|
48
|
+
Once you deploy your EventCatalog you can use your tools to ask questions about your Catalog.
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
keywords:
|
|
4
|
+
- mermaid
|
|
5
|
+
sidebar_label: schemas.txt
|
|
6
|
+
title: schemas.txt
|
|
7
|
+
description: Understanding how to use schemas.txt with EventCatalog and your schemas
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
import AddedIn from '@site/src/components/MDX/AddedIn';
|
|
11
|
+
|
|
12
|
+
<AddedIn version="2.64.0" />
|
|
13
|
+
|
|
14
|
+
Enable tools like Claude, ChatGPT, GitHub Copilot, and Cursor to quickly fetch and understand your EventCatalog schemas.
|
|
15
|
+
|
|
16
|
+
Message schemas and service specifications can be fetched from your EventCatalog and used in your own applications.
|
|
17
|
+
|
|
18
|
+
### What is schemas.txt?
|
|
19
|
+
|
|
20
|
+
Schemas.txt is very similar to [LLMS.txt](/docs/development/developer-tools/llms.txt), but it is specifically for schemas in your EventCatalog.
|
|
21
|
+
|
|
22
|
+
Schemas.txt supports any schema format for your messages (e.g Avro, Protobuf, JSON Schema etc) and any specification for your services (e.g OpenAPI, AsyncAPI, GraphQL etc).
|
|
23
|
+
|
|
24
|
+
The schemas.txt file is automatically generated and maintained as part of your documentation pipeline, requiring no manual configuration. It organizes your schemas in a format optimized for machine reading.
|
|
25
|
+
|
|
26
|
+
### schemas.txt and schemas-full.txt
|
|
27
|
+
|
|
28
|
+
The `schemas.txt` file includes your EventCatalog schemas in a simple format. Lists your schemas with a summary for each of them.
|
|
29
|
+
|
|
30
|
+
### How to use schemas.txt?
|
|
31
|
+
|
|
32
|
+
The [EventCatalog MCP](/docs/development/ask-your-architecture/mcp-server/introduction) already uses the schemas.txt file to provide access to your schemas in your MCP clients (e.g Cursor, Windsurf, Claude Desktop etc).
|
|
33
|
+
|
|
34
|
+
If you want to use schemas.txt in your own application, you can query the urls:
|
|
35
|
+
|
|
36
|
+
- `https://<your-catalog-url>/docs/llm/schemas.txt`
|
|
37
|
+
- Demo: https://demo.eventcatalog.dev/docs/llm/schemas.txt
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
sidebar_label: Introduction
|
|
4
|
+
title: Architecture Change Detection
|
|
5
|
+
description: Know when your event-driven architecture changes. Get notified when services start or stop producing and consuming messages.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import EventCatalogPro from '@site/src/components/MDX/EventCatalogPro';
|
|
9
|
+
|
|
10
|
+
<EventCatalogPro />
|
|
11
|
+
|
|
12
|
+
Services get added. Consumers change. Producers disappear. In event-driven systems, these relationship changes often go unnoticed until something breaks downstream.
|
|
13
|
+
|
|
14
|
+
**Architecture Change Detection** compares your catalog across branches and tells you exactly what changed: which services started consuming a message, which stopped producing one, and who is affected.
|
|
15
|
+
|
|
16
|
+
You can configure webhooks to send notifications to tools like Slack or PagerDuty when changes are detected, including relationship changes, deprecations, and schema updates. Rules can also be configured to block CI/CD pipelines entirely using the `fail` action.
|
|
17
|
+
|
|
18
|
+
:::info Scale plan required
|
|
19
|
+
Architecture Change Detection requires an [EventCatalog Scale plan](https://eventcatalog.dev/pricing).
|
|
20
|
+
:::
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
1. Define rules in `governance.yaml` at the root of your catalog
|
|
25
|
+
2. Each rule specifies **triggers** (what kind of change to detect), **resources** (which services or messages to watch), and **actions** (how to get notified)
|
|
26
|
+
3. Run `eventcatalog governance check` to compare your catalog against a base branch
|
|
27
|
+
4. Matched changes print to the console, fire webhook notifications, and optionally exit with a non-zero code to block merges
|
|
28
|
+
|
|
29
|
+
```mermaid
|
|
30
|
+
flowchart LR
|
|
31
|
+
A[governance.yaml] --> B[eventcatalog governance check]
|
|
32
|
+
B --> C{Compare branches}
|
|
33
|
+
C --> D[Detect changes]
|
|
34
|
+
D --> E[Console output]
|
|
35
|
+
D --> F[Webhook notifications]
|
|
36
|
+
D --> G[Fail action — exit code 1]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Quick example
|
|
40
|
+
|
|
41
|
+
```yaml title="governance.yaml"
|
|
42
|
+
rules:
|
|
43
|
+
- name: notify-consumer-changes
|
|
44
|
+
when:
|
|
45
|
+
- consumer_added
|
|
46
|
+
- consumer_removed
|
|
47
|
+
resources:
|
|
48
|
+
- "*"
|
|
49
|
+
actions:
|
|
50
|
+
- type: console
|
|
51
|
+
- type: webhook
|
|
52
|
+
url: $SLACK_WEBHOOK_URL
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This rule detects whenever any service starts or stops consuming any message, and sends a notification to Slack.
|
|
56
|
+
|
|
57
|
+
## Notifications when you want them
|
|
58
|
+
|
|
59
|
+
Using the [`status` field](/docs/development/governance/architecture-change-detection/ci-cd#include-a-status-label) you can choose to detect changes that are proposed vs approved. This can be useful when you want to detect changes that are proposed vs approved in your architecture.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
sidebar_label: Configuration
|
|
4
|
+
title: Configuration
|
|
5
|
+
description: Configure governance rules with triggers, resource filters, and actions
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Create a config file
|
|
9
|
+
|
|
10
|
+
Add a `governance.yaml` file to the root of your catalog directory. Each rule has a name, a list of triggers, a resource filter, and one or more actions.
|
|
11
|
+
|
|
12
|
+
```yaml title="governance.yaml"
|
|
13
|
+
rules:
|
|
14
|
+
# Name of your rule
|
|
15
|
+
- name: notify-consumer-changes
|
|
16
|
+
# List of triggers
|
|
17
|
+
when:
|
|
18
|
+
- consumer_added
|
|
19
|
+
- consumer_removed
|
|
20
|
+
# Configure which resources to watch
|
|
21
|
+
# * is everything
|
|
22
|
+
resources:
|
|
23
|
+
- "*"
|
|
24
|
+
# List of actions to perform
|
|
25
|
+
actions:
|
|
26
|
+
# Print to the console
|
|
27
|
+
- type: console
|
|
28
|
+
# Send a webhook to a Slack or PagerDuty webhook
|
|
29
|
+
- type: webhook
|
|
30
|
+
url: $SLACK_WEBHOOK_URL
|
|
31
|
+
headers:
|
|
32
|
+
Authorization: Bearer $API_TOKEN
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Triggers
|
|
36
|
+
|
|
37
|
+
The `when` field lists the events that activate a rule. Relationship triggers compare the target state against the base branch. The `message_deprecated` and `schema_changed` triggers inspect the target branch directly.
|
|
38
|
+
|
|
39
|
+
| Trigger | Description |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `consumer_added` | A service starts receiving a message |
|
|
42
|
+
| `consumer_removed` | A service stops receiving a message |
|
|
43
|
+
| `producer_added` | A service starts sending a message |
|
|
44
|
+
| `producer_removed` | A service stops sending a message |
|
|
45
|
+
| `message_deprecated` | A producing service marks a message as deprecated |
|
|
46
|
+
| `schema_changed` | A message schema file is added, modified, or replaced |
|
|
47
|
+
|
|
48
|
+
A single rule can listen to multiple triggers:
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
when:
|
|
52
|
+
- consumer_added
|
|
53
|
+
- consumer_removed
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Resource filters
|
|
57
|
+
|
|
58
|
+
The `resources` field controls which changes are checked against the rule. Each entry uses a prefix to specify what to match.
|
|
59
|
+
|
|
60
|
+
| Prefix | Example | Matches |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| `"*"` | `"*"` | All changes across the catalog |
|
|
63
|
+
| `"message:<id>"` | `"message:OrderCreated"` | Changes involving a specific message |
|
|
64
|
+
| `"service:<id>"` | `"service:NotificationService"` | Changes where the named service is the consumer or producer |
|
|
65
|
+
| `"produces:<service>"` | `"produces:OrdersService"` | Changes involving any message that the named service sends |
|
|
66
|
+
| `"consumes:<service>"` | `"consumes:PaymentService"` | Changes involving any message that the named service receives. For `message_deprecated` and `schema_changed`, matches messages consumed by the named service |
|
|
67
|
+
|
|
68
|
+
You can combine multiple filters in one rule. A change matches if it matches **any** entry:
|
|
69
|
+
|
|
70
|
+
```yaml
|
|
71
|
+
resources:
|
|
72
|
+
- message:OrderCreated
|
|
73
|
+
- message:OrderConfirmed
|
|
74
|
+
- service:NotificationService
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Actions
|
|
78
|
+
|
|
79
|
+
Each rule can trigger one or more actions when its conditions are met.
|
|
80
|
+
|
|
81
|
+
### Console
|
|
82
|
+
|
|
83
|
+
Prints a summary of matched changes to the terminal. No additional configuration required.
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
actions:
|
|
87
|
+
- type: console
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Webhook
|
|
91
|
+
|
|
92
|
+
Sends a POST request in [CloudEvents 1.0](https://cloudevents.io/) format to the specified URL. Custom headers are supported.
|
|
93
|
+
|
|
94
|
+
_You can use [Webhook Sites](https://webhook.site) to test your webhook URLs. Don't share any sensitive information in the payload._
|
|
95
|
+
|
|
96
|
+
```yaml
|
|
97
|
+
actions:
|
|
98
|
+
- type: webhook
|
|
99
|
+
url: $SLACK_WEBHOOK_URL
|
|
100
|
+
headers:
|
|
101
|
+
Authorization: Bearer $API_TOKEN
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
See [Webhook Payload](/docs/development/governance/architecture-change-detection/webhooks) for the full payload format.
|
|
105
|
+
|
|
106
|
+
### Fail
|
|
107
|
+
|
|
108
|
+
Exits the CLI with code `1`, failing the CI/CD step and blocking the pipeline. An optional `message` field provides a human-readable reason shown in the terminal output.
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
actions:
|
|
112
|
+
- type: fail
|
|
113
|
+
message: "Schema change impacts payment services. Requires sign-off from @payments-team."
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The `message` field supports `$ENV_VAR` interpolation. A rule can include multiple `fail` actions; all messages are collected and printed together before the process exits.
|
|
117
|
+
|
|
118
|
+
If no triggered rule has a `fail` action, the CLI exits with code `0` regardless of how many rules fired. This means adding `type: fail` to specific rules is a non-breaking, opt-in change.
|
|
119
|
+
|
|
120
|
+
See [Pipeline gates](/docs/development/governance/architecture-change-detection/pipeline-gates) for full examples of blocking CI/CD with governance rules.
|
|
121
|
+
|
|
122
|
+
## Environment variables
|
|
123
|
+
|
|
124
|
+
Webhook URLs and header values can reference environment variables using the `$VAR_NAME` syntax. The CLI loads your catalog's `.env` file automatically, so you can keep secrets out of `governance.yaml`.
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
actions:
|
|
128
|
+
- type: webhook
|
|
129
|
+
url: $SLACK_WEBHOOK_URL
|
|
130
|
+
headers:
|
|
131
|
+
Authorization: Bearer $API_TOKEN
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
If a referenced variable is not set at runtime, the command exits with an error.
|