Major components:
- redis; stores the job definitions and run results
- cron; maintains the schedule and triggers jobs
- REST API; python flask; provides methods for listing, adding, and removing jobs, and getting reports
- Logging endpoint; provides an endpoint to recieve syslog messages from jobs
- Job runner; python; invoked by cron, launches job containers, monitors run results
- Orchestration layer; python; wrapper around docker compose and kubernetes APIs.
- Build tooling; make and bash; tools to build and push to docker/gcloud.
Sources:
http://jpetazzo.github.io/2016/04/03/one-container-to-rule-them-all/