Skip to content

About

AWS Kinesis local for building applications with streaming data

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

23 stars

Watchers

2 watching

Forks

Repository files navigation

AWS Kinesis Local CI Release npm

aws-kinesis-local serves the Amazon Kinesis Data Streams API on your machine, for development and CI. It implements all 45 Kinesis operations, including enhanced fan-out, and serves JSON and CBOR over HTTP/1.1 and HTTP/2 on the same port, so the AWS CLI and the AWS SDKs work with their default settings. It ships as an npm package, a Docker image and a Helm chart.

Quick start

With Node.js:

npx @saidsef/aws-kinesis-local --port 4567

With Docker:

docker run -d -p 4567:4567 docker.io/saidsef/aws-kinesis-local:latest

Then point any AWS client at it:

export AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test AWS_REGION=eu-west-1
aws --endpoint-url http://localhost:4567 kinesis list-streams

Node.js test suites

Start a server inside a test suite, on a free port, and stop it afterwards:

import { start } from '@saidsef/aws-kinesis-local'

const kinesis = await start({ port: 0 })
console.log(kinesis.endpoint)
await kinesis.close()

Kubernetes

helm repo add kinesis https://saidsef.github.io/aws-kinesis-local/
helm upgrade --install kinesis kinesis/kinesis --namespace kinesis --create-namespace

API coverage

aws-kinesis-local checks every request against the Smithy model that AWS publishes for Kinesis. It covers streams, records, shards, UpdateShardCount, retention, tags, on-demand capacity, warm throughput, record distribution, enhanced fan-out, encryption, enhanced monitoring, account settings, resource policies and channels. Supported operations lists every operation and how aws-kinesis-local differs from AWS.

Documentation

Read the Docs publishes the pages under docs/ with MkDocs Material at aws-kinesis-local.readthedocs.io.

Page Contents
Configuration Environment variables, flags and data storage
Clients Endpoints, credentials, the Node.js API, and AWS CLI and SDK examples
Kubernetes Helm, Kustomize and Argo CD installs
Supported operations Implemented operations, differences from AWS and KCL setup
Development Builds, tests, CI workflows, releases and image tags
Specifications Architecture, request validation, storage, enhanced fan-out and testing
Chart values Every Helm value, generated by helm-docs

Contributing

Read the contribution guide, then open a pull request.

Licence

MIT

About

AWS Kinesis local for building applications with streaming data

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

23 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages