/swan

A Distributed, Highly Available Mesos Scheduler, Inspired by the design of Google Borg

Primary LanguageGoApache License 2.0Apache-2.0


Build Status codecov Go Report Card Join the chat at https://gitter.im/Dataman-Cloud/swan 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.

Features

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

Installation

INSTALLATION

API

API

Contributing

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!

Contact

WeChat: xiaoshu062

Licensing

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