https://github.com/robotstudio/madadder
Cloud scheduler with second-level precision
https://github.com/robotstudio/madadder
aws aws-cloudwatch aws-lambda aws-sns terraform terraform-aws
Last synced: 3 months ago
JSON representation
Cloud scheduler with second-level precision
- Host: GitHub
- URL: https://github.com/robotstudio/madadder
- Owner: RobotStudio
- License: mit
- Created: 2019-01-18T17:50:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-11T20:21:16.000Z (over 7 years ago)
- Last Synced: 2025-02-09T04:15:17.576Z (over 1 year ago)
- Topics: aws, aws-cloudwatch, aws-lambda, aws-sns, terraform, terraform-aws
- Language: HCL
- Size: 21.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mad Adder
AWS cloud scheduler with second-level precision based on Terraform, CloudWatch, Lambda, and SNS.
+------------+ +-------+
| | | |
| CloudWatch | | SNS |
| Events +---+--------------------> cron |
| 1+ Minute | | | Topic |
| Granularity| | | |
| | | +----------+ +---^---+
+------------+ | | | |
| | Lambda | |
+---> Seconds +---------+
| Notifier |
| |
+----------+
Using CloudWatch to trigger Lambda execution at a given intervals, the Lambda app(s) then trigger SNS notifications at second-level granularity. The SNS topic can then be used to spawn Lambda functions to do your bidding.
## Deployment
1. Configure the `shadowconf.hcl` file in the project root as needed.
2. Execute `shadow fax *.tf.tpl`.
3. Run `terraform init`, `plan`, and `apply` in the project root to create the
SNS topic.
4. Add the `topic_arn` to the `shadowconf.hcl` file in the project root.
5. Execute `shadow fax terraform.tpl` to generate the `terraform` directory.
6. Change into the `terraform` directory and execute `terraform init`, `plan`,
and `apply`.