https://github.com/pacovk/eventcatalog-generator-sns
Amazon SNS generator for EventCatalog
https://github.com/pacovk/eventcatalog-generator-sns
Last synced: 7 months ago
JSON representation
Amazon SNS generator for EventCatalog
- Host: GitHub
- URL: https://github.com/pacovk/eventcatalog-generator-sns
- Owner: PacoVK
- License: agpl-3.0
- Created: 2025-01-03T11:09:28.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-03-01T09:27:22.000Z (7 months ago)
- Last Synced: 2025-03-01T10:25:59.811Z (7 months ago)
- Language: TypeScript
- Size: 330 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
⚡️ Amazon SNS generator for EventCatalog
Bring discoverability to teams with the Amazon SNS plugin for EventCatalog
[](https://github.com/PacoVK/eventcatalog-generator-sns/actions/workflows/lint.yml)
[](https://github.com/PacoVK/eventcatalog-generator-sns/actions/workflows/tests.yml)
[](https://github.com/PacoVK/eventcatalog-generator-sns/actions/workflows/release.yml)[
](https://www.linkedin.com/in/pascal-euhus-611309164/) [](https://github.com/PacoVK/eventcatalog-generator-sns/blob/main/LICENSE.md)
# Core Features
- 📃 Document channels from your Amazon SNS topics
- ⭐ Discoverability feature (search, filter and more)# How it works
EventCatalog supports [generators](https://www.eventcatalog.dev/docs/development/plugins/generators).
Generators are scripts are run to pre-build to generate content in your catalog. Generators can use the [EventCatalog SDK](https://www.eventcatalog.dev/docs/sdk).With this SNS plugin you can collect topics and add them as channels to your catalog. You can map owners to those channels via tags and also filter for specific topics.
This is done by defining your generators in your `eventcatalog.config.js` file.
```js
...
generators: [
[
'@pacovk/eventcatalog-generator-sns',
{
// (optional) Tag that will be used to map the owner of the channel
// Case-Insensitive (default: 'owner')
// Value must match a team or user in you eventcatalog instance
ownerTagKey: 'owner',
// (optional) Filter for topics by tags
// If not set all topics will be added, otherwise only topics that match the filter will be added
filter: {
type: 'global', // e.g. only add topics that have a tag with the key 'type' and value 'global'
},
// (optional) AWS credentials
// If not set, the default credentials will be used
// RECOMMENDED: Use environment variables instead
credentials: {
accessKeyId: 'X',
secretAccessKey: 'X',
accountId: 'X',
}
}
]
]
...
```# Getting started
## Installation and configuration
_Make sure you are on the latest version of EventCatalog_.
1. Install the package
```sh
@pacovk/eventcatalog-generator-sns
```2. Configure your `eventcatalog.config.js` file
3. Run the generate command
```sh
npm run generate
```4. See your new channels, run
```sh
npm run dev
```## Found a problem?
Raise a GitHub issue on this project!
# Contributing
If you have any questions, features or issues please raise any issue or pull requests you like. I will try my best to get back to you.
You can find the [contributing guidelines here](https://eventcatalog.dev/docs/contributing/overview).
## Running the project locally
1. Clone the repo
1. Install required dependencies `yarn install`
1. Run tests `yarn test`