All Projects → mesosphere → Chaos

mesosphere / Chaos

Licence: apache-2.0
A lightweight framework for writing REST services in Scala.

Programming Languages

scala
5932 projects

Labels

Projects that are alternatives of or similar to Chaos

Dcos E2e
Spin up and manage DC/OS clusters in test environments
Stars: ✭ 61 (-75.4%)
Mutual labels:  dcos
Reactjs Components
🎨 A library of reusable React components
Stars: ✭ 135 (-45.56%)
Mutual labels:  dcos
Lashup
A distributed CRDT store with multicast and failure detector capabilities
Stars: ✭ 211 (-14.92%)
Mutual labels:  dcos
Tweeter
A tiny Twitter clone for DC/OS
Stars: ✭ 68 (-72.58%)
Mutual labels:  dcos
Marathon Autoscale
Simple Proof-of-Concept for Scaling Application running on Marathon based on Utilization
Stars: ✭ 108 (-56.45%)
Mutual labels:  dcos
Dcos Kubernetes Quickstart
Quickstart guide for Kubernetes on DC/OS
Stars: ✭ 161 (-35.08%)
Mutual labels:  dcos
Csilvm
A LVM2 CSI plugin
Stars: ✭ 49 (-80.24%)
Mutual labels:  dcos
Rendler
A rendering web crawler for Apache Mesos.
Stars: ✭ 245 (-1.21%)
Mutual labels:  dcos
Dcos Cassandra Service
DEPRECATED—Open source Apache Cassandra running on DC/OS is now replaced by mesosphere/dcos-commons/frameworks/cassandra. This repository will be deleted at the end of 2017.
Stars: ✭ 116 (-53.23%)
Mutual labels:  dcos
Dcos
DC/OS - The Datacenter Operating System
Stars: ✭ 2,316 (+833.87%)
Mutual labels:  dcos
Dcos Jenkins Service
Jenkins on DC/OS
Stars: ✭ 72 (-70.97%)
Mutual labels:  dcos
Scale
Processing framework for containerized algorithms
Stars: ✭ 100 (-59.68%)
Mutual labels:  dcos
Dcos Commons
DC/OS SDK is a collection of tools, libraries, and documentation for easy integration of technologies such as Kafka, Cassandra, HDFS, Spark, and TensorFlow with DC/OS.
Stars: ✭ 162 (-34.68%)
Mutual labels:  dcos
Etcd Mesos
self-healing etcd on mesos!
Stars: ✭ 68 (-72.58%)
Mutual labels:  dcos
Marathon Ui
The web-ui for Marathon (https://github.com/mesosphere/marathon)
Stars: ✭ 222 (-10.48%)
Mutual labels:  dcos
Acs Engine
WE HAVE MOVED: Please join us at Azure/aks-engine!
Stars: ✭ 1,049 (+322.98%)
Mutual labels:  dcos
Examples
DC/OS examples
Stars: ✭ 139 (-43.95%)
Mutual labels:  dcos
Dcos Ui
The UI for The Datacenter Operating System
Stars: ✭ 247 (-0.4%)
Mutual labels:  dcos
Dcos Cli
The command line for DC/OS.
Stars: ✭ 225 (-9.27%)
Mutual labels:  dcos
Mesos Docker
Project has been superseded by native docker support in Mesos
Stars: ✭ 176 (-29.03%)
Mutual labels:  dcos

Chaos

A lightweight framework for writing REST services in Scala.

Chaos (Greek χάος, khaos) refers to the formless or void state preceding the creation of the universe or cosmos in the Greek creation myths. Chaos (the framework) precedes creation of a universe of services.

Why yet another framework?

At Mesosphere we're building REST services in Scala, and we wanted a solid foundation. We had experience with Dropwizard and Twitter Commons, which are both great Java frameworks, but are a bit hard to use from Scala. We also experimented with Play!, but it does many things besides REST, which adds unnecessary baggage.

Design Goals

We wanted a framework that

  • is easy to use
  • does one thing really well (REST)
  • feels good in Scala
  • is built on battle-tested and well-supported libraries
  • doesn't try to reinvent the wheel

Building Blocks

There are great JVM libraries for every part of a REST stack. Chaos just glues these together.

Getting Started

Requirements

  • JDK 1.8+
  • SBT 0.13.x+

Example App

There is an example app in [src/main/scala/mesosphere/chaos-examples/] (https://github.com/mesosphere/chaos/blob/master/chaos-examples/src/main/scala/mesosphere/chaos/examples/Main.scala). To run the example:

sbt run

Make requests to the example endpoints with HTTPie:

http localhost:8080/persons
http localhost:8080/persons name=Bunny age=42

Built in Endpoints

  • /ping - health check.
  • /metrics - metrics as JSON
  • /logging - configure log levels at runtime

Using Chaos in your Project

Chaos releases are available from Mesosphere's Maven repository.

Maven

To add Chaos to a Maven project, add this to your pom.xml:

<properties>
    <chaos.version>0.5.2</chaos.version>
</properties>

...

<repositories>
    <repository>
        <id>mesosphere-public-repo</id>
        <name>Mesosphere Public Repo</name>
        <url>http://downloads.mesosphere.io/maven</url>
    </repository>
</repositories>

...

<dependencies>
    <dependency>
        <groupId>mesosphere</groupId>
        <artifactId>chaos</artifactId>
        <version>${chaos.version}</version>
    </dependency>
</dependencies>

SBT

To add Chaos to an SBT project, add this to your build.sbt:

resolvers += "Mesosphere Public Repo" at "http://downloads.mesosphere.io/maven"

libraryDependencies ++= Seq(
  "mesosphere" % "chaos" % "0.5.2",
  "com.sun.jersey" % "jersey-bundle" % "1.17.1"
)

Getting Help

If you have questions, please post on the Chaos Users Group email list. The team at Mesosphere is also happy to answer any questions.

Authors

Current Users

  • Chronos, a fault tolerant job scheduler that handles dependencies and ISO8601 based schedules.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].