The current version of bobsled was sort of thrown together as-needed. I've been thinking through what we actually need. Here's an outline of a plan for a future-proof bobsled.
Needed endpoints:
[ ] using git as a primary data store for jobs. scheduling/etc. can be updated in CloudWatch w/ a post-commit hook (alternatively, could switch to using a beat & checking GitHub)
[x] / should have an overview of each task, and colored boxes indicating success/failure
[ ] /run?id=, - details on specific run(s)
Lambdas:
[x] ecs task that starts a job running and stores a new run record to a DB
[x] task that runs every ~10 minutes and updates status of all running jobs
[ ] autoscaling of cluster (can be manually defined in a setting, but will save $)
The current version of bobsled was sort of thrown together as-needed. I've been thinking through what we actually need. Here's an outline of a plan for a future-proof bobsled.
Needed endpoints:
Lambdas:
Job States:
Example Job Schema:
Example Run Schema: