This project contains the serverless components that can be used with Cerberus.
- Cerberus Health Check - A small serverless API that authenticates and reads a secret from cerberus.
- Cerberus Artemis KPI Lambda - Reference Example function for processing Cerberus metrics from the metrics topic
- Cerberus Log Processor Lambda - Serverless function for processing access log events, to enable things such as rate limiting.
- Cerberus Lambda VPC - Cloudformation to create a VPC with EIBs and NATs so that Cerberus operators can run lambdas with predictable IP addresses.
- Cerberus Metrics Topic - Cloudformation to create a SNS topic that is used by various components to publish Cerberus metrics.
- Cerberus Admin IAM Role - Creates the admin IAM role to be used by the Lambda serverless components to call the Cerberus Management Service admin endpoints.
Read this first
This project is configured to load properties from environment specific profiles. in the profile/ directory there is example.properties, an example profile. Before deploying any of these serverless components you will need to create profiles for your desired environment.
- Create a file named
global.properties
in theprofile
directory, and add all the global properties that are shared by all your environments.- Almost all the props will go into global.
- Create your environment specific props files such as dev.properties and prod.properties.
- Properties such as
cerberus.url
will go into the env specific props file.
- Properties such as
We keep our profiles in a separate repo and create soft links to the profile dir in this project, and ignore them in the .gitignore file
This project is released under the Apache License, Version 2.0