serverless-kinesis-stream-management
v0.1.0
Published
Manage kinesis streams without all the CloudFormation pain
Downloads
3
Maintainers
Readme
⚡️ Serverless Kinesis Management Plugin
Example Single Managed Stream
About the plugin
HIGHLY EXPERIMENTAL AND WILL CHANGE. We are building this strictly to meet our own needs, but are willing to consider and accommodate others if it betters the overall plugin!
This plugin serves to simplify the creation and management of Kinesis streams in AWS. All the configuration is done via CloudFormation as part of the normal package step of the Serverless Framework so you can easily review all changes before the take place.
A core goal is to limit the redundant task of creating the CloudFormation for a kinesis stream, a Firehose to archive it, etc.
Limits
Each particular stream can support around 5 lambda subscribers before throttling becomes a large issue.
NOTE: If you are using the archive option of this plugin, you are limited to FOUR (4) lambda subscribers as the Kinesis Firehose will take one of your five slots.
Configuration
# serverless.yml
# Example Configs
custom:
kinesisStreams:
defaults: # optional global overrides
archiveBucket: # default: randomly named by cfn
archive: false
encryption: true
encryptionKey: alias/aws/kms
retention: 24
shardCount: 1
archiveTransformNewlines: false
streams:
- name: MyStream (required)
archiveBucket: # optional (and currently unsupported)
archive: false # optional
keyId: alias/aws/kinesis # optional
retention: 24 # optional
shardCount: 1 # optional
archiveTransformNewlines: false # optional
Future
In the future we hope to automate more of the operations, including intelligent auto-scaling of shards and potentially managed replication of streams as the subscriber interest grows against a particular stream.