Skip to content

ngaut/tyrant

 
 

Repository files navigation

Tyrant

works on mesos 0.18.2+

Build Status Coverage Status

Features:

  • High availability by master and standby
  • Simple and clean web ui
  • Restful api support
  • No need to write mesos executor, just write shell scripts
  • Killing tasks
  • Realtime task status
  • Support webhook
  • Authentication by ldap

Usage:

	1. start mesos master and slaves. and zookeeper
	   zkServer.sh start
	   mesos-master.sh --zk=zk://host:port/mesos
	   mesos-slave.sh --master=zk://host:port/mesos

	2. ./tyrant --master=zk://host:port/mesos

	3. open browser http://localhost:9090/v2/job

Api description

	1. Create job
		post to url: /job, body is json object
		
		{
			"name"`           //string 512, unique, must exist
			"executor"`       //string 4096, must exist
			"executor_flags"` //string 4096, must exist
			"owner"`          //string, must exist
			"uris"`           //string 2048
			"schedule"`       //string 2048, can be empty
			"hook"`           //string, can be empty
		}
		
		return:
			full job description(json format)

	2. Run job
		post to url: /job/run/:jobId, jobId is return when you create job
		
		return:
			task description(json format)
			{
			    data:taskId       	    //string, task id
			    ret:					//ret code, 0 mean ok
			}

Job List View:

Snapshot1

Task Running Status View:

Snapshot2

LICENSE

Tyrant is distributed under the terms of the MIT License. 

About

distributed job scheduler based on mesos powered by golang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 65.2%
  • Go 33.8%
  • Other 1.0%