Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hookdeck/eventcatalog-generator
An EventCatalog Generator Plugin for Hookdeck
https://github.com/hookdeck/eventcatalog-generator
event-driven-applications event-driven-architecture event-driven-architectures vizualizations webhooks
Last synced: about 1 month ago
JSON representation
An EventCatalog Generator Plugin for Hookdeck
- Host: GitHub
- URL: https://github.com/hookdeck/eventcatalog-generator
- Owner: hookdeck
- License: mit
- Created: 2024-09-28T09:26:44.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-11T13:57:48.000Z (about 2 months ago)
- Last Synced: 2024-11-11T14:42:42.835Z (about 2 months ago)
- Topics: event-driven-applications, event-driven-architecture, event-driven-architectures, vizualizations, webhooks
- Language: TypeScript
- Homepage:
- Size: 1.74 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hookdeck EventCatalog Generator
Generated the following from a [Hookdeck](https://hookdeck.com?ref=github-hookdeck-eventcatalog-generator) Project:
- Services: based on Hookdeck [Sources](https://hookdeck.com/docs/sources?ref=github-hookdeck-eventcatalog-generator) and [Destinations](https://hookdeck.com/docs/destinations?ref=github-hookdeck-eventcatalog-generator)
- Events: based on Hookdeck [Requests](https://hookdeck.com/docs/requests?ref=github-hookdeck-eventcatalog-generator) to Sources and [Events](https://hookdeck.com/docs/events?ref=github-hookdeck-eventcatalog-generator) sent to Destinations![Example of EventCatalog with Services and Events generated by the Hookdeck EventCatalog Generator](docs/hookdeck-eventcatalog.png)
## Run the generator as a CLI
```sh
npx @hookdeck/eventcatalog-generator {flags}
```Supported flags are:
- `log-level`: The level to log at - "fatal" | "error" | "warn" | "info" | "debug" | "trace"
- `match`: Regular expression match for Source names on Connections
- `dir`: Path the the Event Catalog install directory
- `api-key`: Hookdeck Project API Key
- `max-events`: The maximum number of Requests/Events to process per Source/DestinationExample:
```sh
npx @hookdeck/eventcatalog-generator \
--dir ./path/to/eventcatalog/install \
--api-key {HOOKDECK_API_KEY} \
--log-level debug \
--match "stripe-production" \
--domain Payments \
--max-events 200
```The CLI will also use the following environment variables:
- `PROJECT_DIR`: Path the the Event Catalog install directory
- `HOOKDECK_PROJECT_API_KEY`: Hookdeck Project API KeyThe environment variables can be within a `.env` file that will automatically be detected.
## Install the Hookdeck Generator in EventCatalog
Navigate to your EventCatalog directory, then install the package.
```sh
npm i @hookdeck/eventcatalog-generator
```Configure your EventCatalog to use your generator
Edit your `eventcatalog.config.js` file and add the generator
```js
...
generators: [
[
"@hookdeck/eventcatalog-generator",
{
logLevel: "fatal" | "error" | "warn" | "info" | "debug" | "trace",
connectionSourcedMatch: "regular expression string to match source names",
hookdeckApiKey: "Hookdeck Project API Key. Hookdeck -> Project -> Settings -> Secrets"
}
]
]
...
```### Run the generator in Event Catalog
In the EventCatalog directory run:
```
npm run generate
```This will run the generator code and interact with your Catalog.
## Development
### Run the generation
```sh
npm run generate -- {flags}
```Supported flags are:
- `log-level`: The level to log at - "fatal" | "error" | "warn" | "info" | "debug" | "trace"
- `match`: Regular expression match for Source names on Connections
- `dir`: Path the the Event Catalog install directory
- `api-key`: Hookdeck Project API Key
- `max-events`: The maximum number of Requests/Events to process per Source/DestinationExample:
```sh
npm run generate -- --log-level debug --match "stripe-production" --domain Payments
```The `generate` script will also use the following environment variables:
- `PROJECT_DIR`: Path the the Event Catalog install directory
- `HOOKDECK_PROJECT_API_KEY`: Hookdeck Project API KeyThe environment variables can be within a `.env` file that will automatically be detected.
### Compile and watch your plugin
In the plugin directory run:
```sh
# Just build the plugin once
npm run build# Watch changes (recommended for dev)
npm run build -- -- watch
```---
## Resources
### Hookdeck
- [Hookdeck](https://hookdeck.com?ref=github-hookdeck-eventcatalog-generator)
- [Hookdeck docs](https://hookdeck.com/docs?ref=github-hookdeck-eventcatalog-generator)### EventCatalog
- [eventcatalog.dev](https://eventcatalog.dev)
- [EventCatalog integrations](https://www.eventcatalog.dev/integrations)
- [EventCatalog Discord](https://discord.gg/3rjaZMmrAm)