Skip to content
A flexible task runner designed for docker based cloud environments
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
schema
.gitignore
Dockerfile
README.md
crud.js
dashboard.js
execs.js
index.js
metrics.js
package-lock.json
package.json
schedule.js
steps.js
tasks.js
utils.js

README.md

Chronos API

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 ☝️

Install

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

Run

Start the api

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

Run the app

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.

Metrics

Chronos API also exports prometheus metrics for it's backups (success/failure) on the /metrics path.

curl localhost:3001/metrics

enjoy.

You can’t perform that action at this time.