/waiter

Runs, manages, and autoscales web services on Mesos and Kubernetes

Primary LanguageClojureApache License 2.0Apache-2.0

We've decided to archive the Waiter project — it will remain available on GitHub in archive mode, but active development has ceased. We're pleased to have had the opportunity to share Waiter with the OSS community over the last five years, and are grateful for your contributions.

We continue to support other OSS programs. You can find out more about our other projects and contributions at https://www.twosigma.com/open-source/.

Waiter

Slack Status

Welcome to Two Sigma's Waiter project!

Waiter is a web service platform that runs, manages, and automatically scales services without requiring human intervention.

Waiter Design is a good place to start to learn more.

Subproject Summary

In this repository, you'll find two subprojects, each with its own documentation.

  • waiter - This is the actual web service platform, Waiter. It comes with a JSON REST API.
  • kitchen - This is the kitchen application, a test app used by the Waiter integration tests.

Please visit the waiter subproject first to get started.

Quickstart

The quickest way to get Mesos, Marathon, and Waiter running locally is with docker and minimesos.

  1. Install docker
  2. Install minimesos
  3. Clone down this repo
  4. Run containers/bin/build-docker-images.sh to build the minimesos agent image with kitchen and other test apps baked in
  5. cd waiter
  6. Run minimesos up to start Mesos, ZooKeeper, and Marathon
  7. Run bin/run-using-minimesos.sh to start Waiter
  8. Waiter should now be listening locally on port 9091

Quickstart (local shell scheduling)

Waiter can also be run without Mesos and Marathon, using the "shell scheduler". Note that this scheduler should only be used for testing purposes, not in production.

  1. Ensure setsid is installed on your system and on your path
  2. Clone down this repo
  3. cd waiter
  4. Run bin/run-using-shell-scheduler.sh to start Waiter
  5. Waiter should now be listening locally on port 9091

Contributing

In order to accept your code contributions, please fill out the appropriate Contributor License Agreement in the cla folder and submit it to tsos@twosigma.com.

Disclaimer

Apache Mesos is a trademark of The Apache Software Foundation. The Apache Software Foundation is not affiliated, endorsed, connected, sponsored or otherwise associated in any way to Two Sigma, Waiter, or this website in any manner.

© 2017-2020 Two Sigma Open Source, LLC