The last serverless micro-service you'll ever wonder how to find
A Serverless Discovery Service serverless micro-service written for AWS using Typescript and DynamoDB that assists with service-discovery in a serverless world. It supports both server (service-to-service) and client-side discovery use cases.
See the serverless-discovery-sdk project for details on how to start discovering services from other projects; This SDK is planned to be made available in several language bindings.
This project uses a Continuous Deployment pipeline to deploy directly into an AWS account. If desired, forking the repository to a free Bitbucket account is the easiest way to run the pipeline. The pipeline depends on the following environment variables:
- AWS_ACCESS_KEY_ID
- AWS_REGION
- AWS_SECRET_ACCESS_KEY
- AWS_ACCESS_KEY_ID_PROD
- AWS_SECRET_ACCESS_KEY_PROD
Contributions are welcome, as serverless is a new and evolving space. Please let us know if this is valuable to you and feel free to suggest improvements either via issues or pull requests.
- The desired nature of this project is to be Civil, Collaborative, and Creative
- Continuous deployment is used for all pull requests -- we ask that all pull requests be in a branch prefixed with
feature/
for Continuous Deployment purposes - A successful build pipeline run is required for merging pull requests
For development purposes, a deployment of the service can be done as follows
npm install
docker pull dwmkerr/dynamodb
aws configure
docker run -p 8000:8000 dwmkerr/dynamodb
cp config.ts.sample config.ts
# configure config.ts as desired for either DynamoDBLocal or AWS
# integration tests
npm run test
# system tests
serverless deploy
npm run system-test
- docker-dynamodb - A Local version of DynamoDB used for integration tests / development purposes
- typescript
- serverless