A flexible task runner designed for docker based cloud environments.
In Chronos you can add tasks to run at specific times defined in cron syntax. Each task can have multiple steps. Steps are executed in order and stdout
and stderr
are stored for each execution.
Chronos is split into two components; an app and an api (this repo).
You need to run both to have an operational application. For instruction on how to run the APP, check out the app repo โ๏ธ
Chronos uses postgres as it's database to store tasks, steps and execs.
Create a database, user and load schema:
create database chronos;
create user chronos with encrypted password 'chronos';
grant all privileges on database chronos to chronos;
psql -U chronos -h postgres -d chronos < schema/schema.sql
docker run -p 3001:3001 -e DB_HOST=postgres -it asbjornenge/chronos-api:latest
Supported environment variables:
env default wat
--
DB_HOST localhost postgres hostname / ip
DB_PORT 5432 postgres port
DB_USER chronos postgres username
DB_PASS chronos postgres password
DB_NAME chronos postgres database
Refer to the app repo for instruction on running the app and start using Chronos ๐
NB! The app exects the api
service to be availble on the /api
path.
Chronos API also exports prometheus metrics for it's backups (success/failure) on the /metrics
path.
curl localhost:3001/metrics
enjoy.