A simple github webhook integration. Uses Scumblr as a source of terms to check incomming commits for. If a hit is found, sends the results to Scumblr for remediation.
The service has a dependency on external packages (requests
and retrying
) and it exposes 1 REST API endpoints:
Endpoint | Description |
---|---|
POST /github |
Analyzes github commits based on Scumblr configuration |
Step | Command | Description |
---|---|---|
1. | npm install -g serverless |
Install Serverless CLI |
2. | npm install |
Install our package and it's dependencies |
Serverless requires different IAM credentials to deploy depending what infrastructure exists. If we assume that you have never used serverless before you will need admin
credentials to deploy this lambda.
- Create KMS Key
- Create scumblr-spill-guard security group
Replace variables in the serverless.yml
with your own.
To encrypt your variables, with your KMS key run:
aws kms encrypt --key-id <YOUR-KEY-ID> --plaintext fileb://ExamplePlaintextFile --output text --query CiphertextBlob
sls deploy
curl <host>/github
Just use it on anything:
sls help
or
sls <command> --help
Deploy only one function:
sls deploy function -f <function-name>
Tail the logs of a function:
sls logs -f <function-name> -t
Information about the service (stage, region, endpoints, functions):
sls info
Run a specific function with a provided input and get the logs
sls invoke -f <function-name> -p event.json -l
Step | Command | Description |
---|---|---|
1. | mkvirtualenv posts |
Create virtual environment |
2. | pip install -r requirements.txt |
Install dependencies |
Big thanks to Jeremy for the project idea and initial implementation