Skip to content
A Distributed, Highly Available Mesos Scheduler, Inspired by the design of Google Borg
Branch: master
Clone or download
cmg Merge pull request #952 from pwzgorilla/master
update example json and docs
Latest commit e3568b0 Jan 29, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
agent make agent to use host network for listening local port Jan 24, 2018
api return proxies as list Jan 24, 2018
cmd set default `max-tasks-per-offer` to 1 Jan 17, 2018
config add `enable-checkpoint` command-line switch Aug 31, 2017
contrib use fixed project name for docker compose Sep 13, 2017
debug fix source files mode Jun 29, 2017
docs update docs Jan 29, 2018
example update example json Jan 29, 2018
integration-test fixed integration test Dec 11, 2017
manager improvement for code style Dec 11, 2017
mesos add target port on upstream Jan 24, 2018
mesosproto fix source files mode Jun 29, 2017
mole fall back to use a random agent ID while can't detect local mesos sla… Sep 29, 2017
store remove redundant store methods Sep 27, 2017
types add `tartport` in event Jan 24, 2018
utils support variable substitution within compose v3 Aug 24, 2017
version refactor Jun 20, 2017
.gitattributes Move swagger-ui under third_party dir (#187) Dec 27, 2016
.travis.yml use fixed project name for docker compose Sep 13, 2017
AUTHORS version added Dec 12, 2016 update changelog for v0.2.0 Jul 18, 2017
Dockerfile change Dockerfile cmd to entrypoint Jul 18, 2017
Dockerfile.centos support build docker images on centos base image Jul 19, 2017
Dockerfile.legacy compitable for legacy docker version image build Jul 20, 2017
LICENSE Update LICENSE Jul 14, 2017 milestone update for phase 5, more testing needed Mar 20, 2017
Makefile ensure always output the long format of current git commit Sep 29, 2017 add docs on trouble shooting Sep 20, 2017 update readme, trival modification Feb 8, 2017
docker-compose.yml make agent to use host network for listening local port Jan 24, 2018
main.go try to make fit with jenkins infrastructure. Sep 1, 2017
vendor.conf remove gin from vendor Sep 26, 2017

Build Status codecov Go Report Card Join the chat at Docker Pulls

What is Swan?

Swan is a Mesos framework forcus on long running tasks, which inspired by Marathon, written with Golang and base on latest Mesos HTTP API.

What does Swan do?

With Swan you can deploy long running application on mesos cluster, control lifecycle of the application, scale up or scale down any instances size you want, can also do rolling-update with new versions base on flexible health checks defined by you. Swan also designed for high avaliability which means any server crash wouldn't affect running applications. with service discovery and API gateway build-in, service discovery made easy.

Swan is created and maintained by Dataman-Cloud, and licensed under the Apache License, Version 2.0.


  • Application Management
  • ScaleUp/ScaleDown
  • Rolling update
  • Rollback
  • Mesos-based health checks
  • HA
  • Event Subscription
  • Compose
  • Calico-based IP-Per-Task
  • Schedule stategy






If you want to contribute to swan, make a PR or report a issue. The goal of swan is to become the default and best scheduler for mesos, so let's do it!




WeChat: xiaoshu062


Swan is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

You can’t perform that action at this time.