@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,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
sidebar_label: Recipes
|
|
4
|
+
title: Recipes
|
|
5
|
+
description: Common governance configurations you can copy and adapt
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Alert when anyone consumes a message your service produces
|
|
9
|
+
|
|
10
|
+
Use the `produces:` prefix to scope a rule to all messages sent by a given service. This is the recommended pattern for service owners who want visibility into downstream adoption.
|
|
11
|
+
|
|
12
|
+
```yaml title="governance.yaml"
|
|
13
|
+
rules:
|
|
14
|
+
- name: orders-service-consumer-changes
|
|
15
|
+
when:
|
|
16
|
+
- consumer_added
|
|
17
|
+
- consumer_removed
|
|
18
|
+
resources:
|
|
19
|
+
- produces:OrdersService
|
|
20
|
+
actions:
|
|
21
|
+
- type: webhook
|
|
22
|
+
url: $SLACK_WEBHOOK_URL
|
|
23
|
+
headers:
|
|
24
|
+
Authorization: Bearer $API_TOKEN
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Alert when a producer stops producing a message your service depends on
|
|
28
|
+
|
|
29
|
+
Use `consumes:` to watch all messages a service receives, then trigger on `producer_removed`. This catches upstream breaking changes before they affect your service.
|
|
30
|
+
|
|
31
|
+
```yaml title="governance.yaml"
|
|
32
|
+
rules:
|
|
33
|
+
- name: payment-service-upstream-removed
|
|
34
|
+
when:
|
|
35
|
+
- producer_removed
|
|
36
|
+
resources:
|
|
37
|
+
- consumes:PaymentService
|
|
38
|
+
actions:
|
|
39
|
+
- type: console
|
|
40
|
+
- type: webhook
|
|
41
|
+
url: $PAGERDUTY_WEBHOOK_URL
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
A collection of examples of common governance configurations you can copy and adapt.
|
|
45
|
+
|
|
46
|
+
## Alert when a message gets a new consumer
|
|
47
|
+
|
|
48
|
+
Useful when you own a message and want to know when other teams start depending on it.
|
|
49
|
+
|
|
50
|
+
```yaml title="governance.yaml"
|
|
51
|
+
rules:
|
|
52
|
+
- name: new-consumer-for-payment-processed
|
|
53
|
+
when:
|
|
54
|
+
- consumer_added
|
|
55
|
+
resources:
|
|
56
|
+
- message:PaymentProcessed
|
|
57
|
+
actions:
|
|
58
|
+
- type: webhook
|
|
59
|
+
url: $SLACK_WEBHOOK_URL
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Alert when a message gets a new producer
|
|
63
|
+
|
|
64
|
+
Useful for messages that should only ever have one authoritative producer.
|
|
65
|
+
|
|
66
|
+
```yaml title="governance.yaml"
|
|
67
|
+
rules:
|
|
68
|
+
- name: new-producer-for-order-created
|
|
69
|
+
when:
|
|
70
|
+
- producer_added
|
|
71
|
+
resources:
|
|
72
|
+
- message:OrderCreated
|
|
73
|
+
actions:
|
|
74
|
+
- type: console
|
|
75
|
+
- type: webhook
|
|
76
|
+
url: $SLACK_WEBHOOK_URL
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## Track all changes across the catalog
|
|
82
|
+
|
|
83
|
+
The `"*"` wildcard matches every consumer and producer change. Useful for audit logs or a central ops channel.
|
|
84
|
+
|
|
85
|
+
```yaml title="governance.yaml"
|
|
86
|
+
rules:
|
|
87
|
+
- name: catalog-wide-relationship-changes
|
|
88
|
+
when:
|
|
89
|
+
- consumer_added
|
|
90
|
+
- consumer_removed
|
|
91
|
+
- producer_added
|
|
92
|
+
- producer_removed
|
|
93
|
+
resources:
|
|
94
|
+
- "*"
|
|
95
|
+
actions:
|
|
96
|
+
- type: webhook
|
|
97
|
+
url: $AUDIT_WEBHOOK_URL
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Monitor all changes for a specific service
|
|
101
|
+
|
|
102
|
+
Use the `service:` prefix to watch any consuming or producing change that involves a named service, regardless of which message is affected.
|
|
103
|
+
|
|
104
|
+
```yaml title="governance.yaml"
|
|
105
|
+
rules:
|
|
106
|
+
- name: notification-service-changes
|
|
107
|
+
when:
|
|
108
|
+
- consumer_added
|
|
109
|
+
- consumer_removed
|
|
110
|
+
- producer_added
|
|
111
|
+
- producer_removed
|
|
112
|
+
resources:
|
|
113
|
+
- service:NotificationService
|
|
114
|
+
actions:
|
|
115
|
+
- type: console
|
|
116
|
+
- type: webhook
|
|
117
|
+
url: $SLACK_WEBHOOK_URL
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Get notified when a message your service consumes is deprecated
|
|
121
|
+
|
|
122
|
+
Use `consumes:` with `message_deprecated` to alert your team when an upstream producer deprecates a message you depend on. This is the most useful deprecation pattern for consumer teams.
|
|
123
|
+
|
|
124
|
+
```yaml title="governance.yaml"
|
|
125
|
+
rules:
|
|
126
|
+
- name: alert-deprecated-messages
|
|
127
|
+
when:
|
|
128
|
+
- message_deprecated
|
|
129
|
+
resources:
|
|
130
|
+
- "consumes:InventoryService"
|
|
131
|
+
actions:
|
|
132
|
+
- type: console
|
|
133
|
+
- type: webhook
|
|
134
|
+
url: $SLACK_WEBHOOK_URL
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Watch a specific message for deprecation
|
|
138
|
+
|
|
139
|
+
Use `message:` to monitor a single message across any of its producers.
|
|
140
|
+
|
|
141
|
+
```yaml title="governance.yaml"
|
|
142
|
+
rules:
|
|
143
|
+
- name: watch-order-placed-deprecation
|
|
144
|
+
when:
|
|
145
|
+
- message_deprecated
|
|
146
|
+
resources:
|
|
147
|
+
- "message:OrderPlaced"
|
|
148
|
+
actions:
|
|
149
|
+
- type: webhook
|
|
150
|
+
url: $TEAM_WEBHOOK_URL
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Track all deprecations across the catalog
|
|
154
|
+
|
|
155
|
+
The `"*"` wildcard catches every deprecation in the catalog. Useful for a central ops channel or audit log.
|
|
156
|
+
|
|
157
|
+
```yaml title="governance.yaml"
|
|
158
|
+
rules:
|
|
159
|
+
- name: catalog-wide-deprecation-alerts
|
|
160
|
+
when:
|
|
161
|
+
- message_deprecated
|
|
162
|
+
resources:
|
|
163
|
+
- "*"
|
|
164
|
+
actions:
|
|
165
|
+
- type: console
|
|
166
|
+
- type: webhook
|
|
167
|
+
url: $AUDIT_WEBHOOK_URL
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Alert when a message schema changes
|
|
171
|
+
|
|
172
|
+
Use `schema_changed` to detect when the schema file for any message is added, modified, or replaced. This is useful for catching breaking changes before they propagate to consumers.
|
|
173
|
+
|
|
174
|
+
```yaml title="governance.yaml"
|
|
175
|
+
rules:
|
|
176
|
+
- name: schema-change-alerts
|
|
177
|
+
when:
|
|
178
|
+
- schema_changed
|
|
179
|
+
resources:
|
|
180
|
+
- "*"
|
|
181
|
+
actions:
|
|
182
|
+
- type: console
|
|
183
|
+
- type: webhook
|
|
184
|
+
url: $SLACK_WEBHOOK_URL
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Alert when a schema changes for messages your service consumes
|
|
188
|
+
|
|
189
|
+
Use `consumes:` with `schema_changed` to scope alerts to only the messages your service depends on.
|
|
190
|
+
|
|
191
|
+
```yaml title="governance.yaml"
|
|
192
|
+
rules:
|
|
193
|
+
- name: payment-service-schema-changes
|
|
194
|
+
when:
|
|
195
|
+
- schema_changed
|
|
196
|
+
resources:
|
|
197
|
+
- consumes:PaymentService
|
|
198
|
+
actions:
|
|
199
|
+
- type: webhook
|
|
200
|
+
url: $PAGERDUTY_WEBHOOK_URL
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Watch a specific message for schema changes
|
|
204
|
+
|
|
205
|
+
Use `message:` to monitor schema changes for a single message across any of its producers.
|
|
206
|
+
|
|
207
|
+
```yaml title="governance.yaml"
|
|
208
|
+
rules:
|
|
209
|
+
- name: order-created-schema-watch
|
|
210
|
+
when:
|
|
211
|
+
- schema_changed
|
|
212
|
+
resources:
|
|
213
|
+
- message:OrderCreated
|
|
214
|
+
actions:
|
|
215
|
+
- type: console
|
|
216
|
+
- type: webhook
|
|
217
|
+
url: $TEAM_WEBHOOK_URL
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Block CI when a payment-critical schema changes
|
|
221
|
+
|
|
222
|
+
Combine `type: fail` with `schema_changed` and service-scoped resource filters to require sign-off before a schema change can merge.
|
|
223
|
+
|
|
224
|
+
```yaml title="governance.yaml"
|
|
225
|
+
rules:
|
|
226
|
+
- name: payment-schema-guard
|
|
227
|
+
when:
|
|
228
|
+
- schema_changed
|
|
229
|
+
resources:
|
|
230
|
+
- consumes:PaymentService
|
|
231
|
+
- consumes:BillingService
|
|
232
|
+
- message:PaymentProcessed
|
|
233
|
+
- message:OrderCreated
|
|
234
|
+
actions:
|
|
235
|
+
- type: console
|
|
236
|
+
- type: webhook
|
|
237
|
+
url: $SLACK_ALERTS_WEBHOOK
|
|
238
|
+
headers:
|
|
239
|
+
Authorization: Bearer $SLACK_TOKEN
|
|
240
|
+
- type: fail
|
|
241
|
+
message: "Schema change impacts payment services. Requires sign-off from @payments-team."
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Block CI when a consumer is silently removed
|
|
245
|
+
|
|
246
|
+
Use `consumer_removed` with `type: fail` to ensure consumer removals are never merged without a migration ticket.
|
|
247
|
+
|
|
248
|
+
```yaml title="governance.yaml"
|
|
249
|
+
rules:
|
|
250
|
+
- name: consumer-removal-guard
|
|
251
|
+
when:
|
|
252
|
+
- consumer_removed
|
|
253
|
+
resources:
|
|
254
|
+
- "*"
|
|
255
|
+
actions:
|
|
256
|
+
- type: console
|
|
257
|
+
- type: fail
|
|
258
|
+
message: "Removing a consumer is a breaking change. Open a migration ticket first."
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## Block CI on deprecation without a replacement
|
|
262
|
+
|
|
263
|
+
Pair `message_deprecated` with `type: fail` to enforce that deprecations are reviewed before merging.
|
|
264
|
+
|
|
265
|
+
```yaml title="governance.yaml"
|
|
266
|
+
rules:
|
|
267
|
+
- name: deprecation-review-gate
|
|
268
|
+
when:
|
|
269
|
+
- message_deprecated
|
|
270
|
+
resources:
|
|
271
|
+
- "*"
|
|
272
|
+
actions:
|
|
273
|
+
- type: console
|
|
274
|
+
- type: fail
|
|
275
|
+
message: "Deprecations require a migration guide before merging. See CONTRIBUTING.md."
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Notify on some changes, block on others
|
|
279
|
+
|
|
280
|
+
Rules without `type: fail` always exit `0`, so you can mix notification-only rules with blocking rules in the same file.
|
|
281
|
+
|
|
282
|
+
```yaml title="governance.yaml"
|
|
283
|
+
rules:
|
|
284
|
+
# Blocks CI — schema changes to payment-critical messages
|
|
285
|
+
- name: payment-schema-guard
|
|
286
|
+
when:
|
|
287
|
+
- schema_changed
|
|
288
|
+
resources:
|
|
289
|
+
- consumes:PaymentService
|
|
290
|
+
actions:
|
|
291
|
+
- type: console
|
|
292
|
+
- type: fail
|
|
293
|
+
message: "Schema change impacts payment services. Requires sign-off from @payments-team."
|
|
294
|
+
|
|
295
|
+
# Notifies only — new consumers are welcome but the team wants visibility
|
|
296
|
+
- name: notify-new-consumers
|
|
297
|
+
when:
|
|
298
|
+
- consumer_added
|
|
299
|
+
resources:
|
|
300
|
+
- "*"
|
|
301
|
+
actions:
|
|
302
|
+
- type: console
|
|
303
|
+
- type: webhook
|
|
304
|
+
url: $SLACK_NOTIFICATIONS_WEBHOOK
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## Future changes
|
|
308
|
+
|
|
309
|
+
We are working on adding new change detection features to EventCatalog, if you have any ideas or feedback please let us know on [Discord](https://eventcatalog.dev/discord) or raise an issue on [GitHub](https://github.com/event-catalog/eventcatalog/issues).
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 4
|
|
3
|
+
sidebar_label: Webhook Payload
|
|
4
|
+
title: Webhook Payload
|
|
5
|
+
description: CloudEvents 1.0 payload format sent by governance webhook actions
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Payload format
|
|
9
|
+
|
|
10
|
+
Webhook actions send a POST request in [CloudEvents 1.0](https://cloudevents.io/) format. Each matched change produces a separate request.
|
|
11
|
+
|
|
12
|
+
```json
|
|
13
|
+
{
|
|
14
|
+
"specversion": "1.0",
|
|
15
|
+
"type": "eventcatalog.governance.consumer_added",
|
|
16
|
+
"source": "eventcatalog/governance",
|
|
17
|
+
"id": "uuid",
|
|
18
|
+
"time": "2026-03-04T12:00:00.000Z",
|
|
19
|
+
"datacontenttype": "application/json",
|
|
20
|
+
"data": {
|
|
21
|
+
"schemaVersion": 1,
|
|
22
|
+
"summary": "NotificationService is now consuming the event OrderConfirmed",
|
|
23
|
+
"consumer": {
|
|
24
|
+
"id": "NotificationService",
|
|
25
|
+
"version": "0.0.2"
|
|
26
|
+
},
|
|
27
|
+
"message": {
|
|
28
|
+
"id": "OrderConfirmed",
|
|
29
|
+
"version": "0.0.1",
|
|
30
|
+
"type": "event"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## CloudEvents envelope
|
|
37
|
+
|
|
38
|
+
| Field | Value |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `specversion` | Always `"1.0"` |
|
|
41
|
+
| `type` | `eventcatalog.governance.<trigger>`, one of `consumer_added`, `consumer_removed`, `producer_added`, `producer_removed`, `message_deprecated`, `schema_changed` |
|
|
42
|
+
| `source` | `eventcatalog/governance` |
|
|
43
|
+
| `id` | Unique UUID per request |
|
|
44
|
+
| `time` | ISO 8601 timestamp |
|
|
45
|
+
| `datacontenttype` | `application/json` |
|
|
46
|
+
|
|
47
|
+
## Data object
|
|
48
|
+
|
|
49
|
+
| Field | Description |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `schemaVersion` | Always `1` (reserved for future format changes) |
|
|
52
|
+
| `status` | Only present when `--status` is passed to the CLI |
|
|
53
|
+
| `summary` | Human-readable description of the change |
|
|
54
|
+
| `consumer` or `producer` | The service involved. `consumer` for consumer triggers, `producer` for producer and `message_deprecated` triggers |
|
|
55
|
+
| `message` | The message involved, including its `type` (`event`, `command`, or `query`) |
|
|
56
|
+
| `schema` | Only present for `schema_changed`. Contains `beforeHash`, `afterHash`, `beforePath`, and `afterPath` |
|
|
57
|
+
| `consumers` | Only present for `schema_changed`. Array of services that consume the changed message |
|
|
58
|
+
| `producers` | Only present for `schema_changed`. Array of services that produce the changed message |
|
|
59
|
+
| `refs` | Only present for `schema_changed`. Contains `base` and `target` branch labels |
|
|
60
|
+
|
|
61
|
+
## Producer triggers
|
|
62
|
+
|
|
63
|
+
For `producer_added` and `producer_removed`, the `consumer` field is replaced with `producer`:
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"data": {
|
|
68
|
+
"schemaVersion": 1,
|
|
69
|
+
"summary": "OrdersService is now producing the event OrderCreated",
|
|
70
|
+
"producer": {
|
|
71
|
+
"id": "OrdersService",
|
|
72
|
+
"version": "1.0.0"
|
|
73
|
+
},
|
|
74
|
+
"message": {
|
|
75
|
+
"id": "OrderCreated",
|
|
76
|
+
"version": "1.0.0",
|
|
77
|
+
"type": "event"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Deprecation trigger
|
|
84
|
+
|
|
85
|
+
For `message_deprecated`, the payload identifies the producing service and the deprecated message. One webhook fires per producing service, so if a message has multiple producers, each producer sends a separate request.
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"specversion": "1.0",
|
|
90
|
+
"type": "eventcatalog.governance.message_deprecated",
|
|
91
|
+
"source": "eventcatalog/governance",
|
|
92
|
+
"id": "550e8400-e29b-41d4-a716-446655440000",
|
|
93
|
+
"time": "2026-03-05T14:30:00.000Z",
|
|
94
|
+
"datacontenttype": "application/json",
|
|
95
|
+
"data": {
|
|
96
|
+
"schemaVersion": 1,
|
|
97
|
+
"summary": "OrderCreated (event) has been deprecated by OrdersService",
|
|
98
|
+
"producer": {
|
|
99
|
+
"id": "OrdersService",
|
|
100
|
+
"version": "2.0.0",
|
|
101
|
+
"owners": ["team-orders"]
|
|
102
|
+
},
|
|
103
|
+
"message": {
|
|
104
|
+
"id": "OrderCreated",
|
|
105
|
+
"version": "1.0.0",
|
|
106
|
+
"type": "event"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The `owners` field is only present when the producing service has owners defined. The trigger fires only for newly deprecated messages: existing deprecations and un-deprecations do not fire.
|
|
113
|
+
|
|
114
|
+
## Schema changed trigger
|
|
115
|
+
|
|
116
|
+
For `schema_changed`, the payload includes a `schema` object with hashes and paths for the before and after versions, plus arrays of the affected consumer and producer services. One webhook fires per changed message.
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"specversion": "1.0",
|
|
121
|
+
"type": "eventcatalog.governance.schema_changed",
|
|
122
|
+
"source": "eventcatalog/governance",
|
|
123
|
+
"id": "550e8400-e29b-41d4-a716-446655440000",
|
|
124
|
+
"time": "2026-03-05T14:30:00.000Z",
|
|
125
|
+
"datacontenttype": "application/json",
|
|
126
|
+
"data": {
|
|
127
|
+
"schemaVersion": 1,
|
|
128
|
+
"summary": "Schema changed for event OrderCreated",
|
|
129
|
+
"message": {
|
|
130
|
+
"id": "OrderCreated",
|
|
131
|
+
"version": "1.0.0",
|
|
132
|
+
"type": "event"
|
|
133
|
+
},
|
|
134
|
+
"schema": {
|
|
135
|
+
"beforeHash": "abc123",
|
|
136
|
+
"afterHash": "def456",
|
|
137
|
+
"beforePath": "schemas/order-created.v1.json",
|
|
138
|
+
"afterPath": "schemas/order-created.v2.json"
|
|
139
|
+
},
|
|
140
|
+
"refs": {
|
|
141
|
+
"base": "main",
|
|
142
|
+
"target": "feature/update-schema"
|
|
143
|
+
},
|
|
144
|
+
"producers": [
|
|
145
|
+
{ "id": "OrdersService", "version": "1.0.0", "owners": ["team-orders"] }
|
|
146
|
+
],
|
|
147
|
+
"consumers": [
|
|
148
|
+
{ "id": "PaymentService", "version": "1.0.0", "owners": ["team-payments"] }
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
The `schema.beforeHash` and `schema.afterHash` are SHA-256 hashes of the schema file content. Either side can be `null` when a schema is first added or removed. The `owners` field on each service is only present when owners are defined.
|
|
155
|
+
|
|
156
|
+
## Status field
|
|
157
|
+
|
|
158
|
+
When you pass `--status` to the CLI, the value is included in the payload. This is useful for distinguishing between stages in a pull request lifecycle.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
eventcatalog governance check --status proposed
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"data": {
|
|
167
|
+
"schemaVersion": 1,
|
|
168
|
+
"status": "proposed",
|
|
169
|
+
"summary": "NotificationService is now consuming the event OrderConfirmed",
|
|
170
|
+
"consumer": { "id": "NotificationService", "version": "0.0.2" },
|
|
171
|
+
"message": { "id": "OrderConfirmed", "version": "0.0.1", "type": "event" }
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Custom headers
|
|
177
|
+
|
|
178
|
+
Headers support environment variable substitution using `$VAR_NAME` syntax.
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
actions:
|
|
182
|
+
- type: webhook
|
|
183
|
+
url: $SLACK_WEBHOOK_URL
|
|
184
|
+
headers:
|
|
185
|
+
Authorization: Bearer $API_TOKEN
|
|
186
|
+
X-Custom-Header: my-value
|
|
187
|
+
```
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 5
|
|
3
|
+
sidebar_label: CLI & CI/CD
|
|
4
|
+
title: CLI & CI/CD
|
|
5
|
+
description: Run governance checks locally and in your CI/CD pipeline
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Run the check
|
|
9
|
+
|
|
10
|
+
Run the check from inside your catalog directory. By default it compares the current working directory against the `main` branch.
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
eventcatalog governance check
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
#### Testing locally
|
|
17
|
+
|
|
18
|
+
To test locally, make changes to your catalog locally and then run the governance check command.
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
eventcatalog governance check --target main
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
This will compare the current working directory against the specified branch.
|
|
25
|
+
|
|
26
|
+
## CLI options
|
|
27
|
+
|
|
28
|
+
| Option | Description | Default |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| `--base <branch>` | Base branch to compare against | `main` |
|
|
31
|
+
| `--target <branch>` | Target branch to compare (instead of working directory) | working directory |
|
|
32
|
+
| `--format json` | Output results as JSON | text |
|
|
33
|
+
| `--status <label>` | Status label included in webhook payloads (e.g. `proposed`, `approved`) | none |
|
|
34
|
+
|
|
35
|
+
### Compare two branches
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
eventcatalog governance check --base main --target feature/new-consumers
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Output JSON
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
eventcatalog governance check --format json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Include a status label
|
|
48
|
+
|
|
49
|
+
The `--status` flag adds a `status` field to webhook payloads, useful when running governance checks at different stages of a pull request lifecycle.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
eventcatalog governance check --status proposed
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## GitHub Actions
|
|
56
|
+
|
|
57
|
+
### Proposed changes
|
|
58
|
+
|
|
59
|
+
When you want to notify your teams of incoming changes (not merged yet), you can use the `--status proposed` flag to mark the changes as proposed.
|
|
60
|
+
|
|
61
|
+
This example workflow will notify your teams of incoming changes (not merged yet). The status `proposed` will be included in the webhook payload.
|
|
62
|
+
|
|
63
|
+
```yaml title=".github/workflows/governance.yaml"
|
|
64
|
+
name: EventCatalog Governance
|
|
65
|
+
on:
|
|
66
|
+
pull_request:
|
|
67
|
+
types: [opened, synchronize, reopened]
|
|
68
|
+
|
|
69
|
+
jobs:
|
|
70
|
+
governance:
|
|
71
|
+
runs-on: ubuntu-latest
|
|
72
|
+
steps:
|
|
73
|
+
- uses: actions/checkout@v4
|
|
74
|
+
with:
|
|
75
|
+
fetch-depth: 0
|
|
76
|
+
ref: ${{ github.head_ref }}
|
|
77
|
+
# Fetch the base branch (e.g. main or whatever you want to compare against)
|
|
78
|
+
- run: git fetch origin main
|
|
79
|
+
- uses: actions/setup-node@v4
|
|
80
|
+
with:
|
|
81
|
+
node-version: '24'
|
|
82
|
+
- run: |
|
|
83
|
+
npx @eventcatalog/cli governance check \
|
|
84
|
+
--base main \
|
|
85
|
+
--target ${{ github.head_ref }} \
|
|
86
|
+
--status proposed
|
|
87
|
+
env:
|
|
88
|
+
EVENTCATALOG_SCALE_LICENSE_KEY: ${{ secrets.EVENTCATALOG_SCALE_LICENSE_KEY }}
|
|
89
|
+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Approved changes
|
|
93
|
+
|
|
94
|
+
When a pull request is merged to the base branch, you can run the check again with `--status approved` to notify teams that the change is confirmed.
|
|
95
|
+
|
|
96
|
+
This example workflow will notify your teams that the change is confirmed. The status `approved` will be included in the webhook payload.
|
|
97
|
+
|
|
98
|
+
```yaml title=".github/workflows/governance.yaml"
|
|
99
|
+
name: EventCatalog Governance
|
|
100
|
+
on: merge
|
|
101
|
+
|
|
102
|
+
jobs:
|
|
103
|
+
governance:
|
|
104
|
+
runs-on: ubuntu-latest
|
|
105
|
+
steps:
|
|
106
|
+
- uses: actions/checkout@v4
|
|
107
|
+
with:
|
|
108
|
+
fetch-depth: 0
|
|
109
|
+
ref: ${{ github.base_ref }}
|
|
110
|
+
- uses: actions/setup-node@v4
|
|
111
|
+
with:
|
|
112
|
+
node-version: '24'
|
|
113
|
+
- run: |
|
|
114
|
+
npx @eventcatalog/cli governance check \
|
|
115
|
+
--base main \
|
|
116
|
+
--target ${{ github.base_ref }} \
|
|
117
|
+
--status approved
|
|
118
|
+
env:
|
|
119
|
+
EVENTCATALOG_SCALE_LICENSE_KEY: ${{ secrets.EVENTCATALOG_SCALE_LICENSE_KEY }}
|
|
120
|
+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
121
|
+
```
|