Installation
Dual-license
The OpenAPI plugin is used to generate a catalog from an OpenAPI specification files.
You can map your OpenAPI files to commands, events and queries in your catalog, and assign these to services and domains.
Installation
Run the command below to install the EventCatalog OpenAPI plugin.
- Install on existing catalog
- Create new catalog with OpenAPI plugin
npm i @eventcatalog/generator-openapi
npx @eventcatalog/create-eventcatalog@latest my-catalog --template openapi
Configuration
Configure the plugin in your eventcatalog.config.js
file.
Add the plugin to the generators
array.
// ...
generators: [
[
'@eventcatalog/generator-openapi',
{
services: [
{ path: path.join(__dirname, 'openapi-files', 'orders-service.yml'), id: 'orders-service' },
],
domain: { id: 'orders', name: 'Orders', version: '0.0.1' },
},
],
// Add many openapi files to a domain
[
'@eventcatalog/generator-openapi',
{
services: [
{ path: path.join(__dirname, 'openapi-files', 'payment-service.yml'), id: 'payment-store' },
{ path: path.join(__dirname, 'openapi-files', 'fraud-detection-service.yml'), id: 'fraud-detection-service' },
],
domain: { id: 'payment', name: 'Payment', version: '0.0.1' },
},
],
],
};
Configure license key
The EventCatalog OpenAPI plugin requires a license key to work with EventCatalog.
You can get a trial license key from EventCatalog Cloud.
Setting license key in environment variables
export EVENTCATALOG_LICENSE_KEY_OPENAPI=your-license-key
White listing domains
If you are behind a firewall you will need to white list the domain https://api.eventcatalog.cloud
in your firewall. This is because the plugin needs to verify your license key.
Setting license key in eventcatalog.config.js
If you prefer, you can set the license key in the eventcatalog.config.js
file
using the licenseKey
property in the EventCatalog OpenAPI plugin.
export default {
generators: [
[
'@eventcatalog/generator-openapi',
{
licenseKey: '[INSERT_YOUR_LICENSE_KEY]', // or process.env.EVENTCATALOG_LICENSE_KEY_OPENAPI
},
],
],
};
Run the plugin
This command will run the generators in your eventcatalog.config.js file.
npm run generate
View your catalog
Run your catalog locally to see the changes
npm run dev
Any questions or need help?
If you get stuck, find an issue or need help, please raise an issue on GitHub or join our Discord community.