Skip to content

ContainerSolutions/mesos-rxjava

 
 

Repository files navigation

Mesos RxJava Build Status Stories in Ready

Mesos RxJava is a library that provides a Reactive Client (via RxJava) atop Apache Mesos' new HTTP APIs. As the Apache Mesos HTTP APIs are experimental this library should also be considered experimental. The project reserves the right to change any interface at any time until the first release is made.

Background

Apache Mesos is a Cluster Resource manager providing access to cluster resources such as CPU, RAM, Disk and Ports. In order to leverage these computing resources a program called a framework is created and registers with Mesos. Once registered a framework can launch tasks using the resources offered by Mesos.

In an effort to allow Mesos to be more accessible to more languages, HTTP APIs are being developed to allow polyglot access to authoring frameworks. Prior to the HTTP APIs, libmesos (C++ library) had to be used.

Project Goal

This project's primary goal is to provide a Java client for interacting with these new HTTP APIs. Mesos' HTTP APIs are modeled as an event stream; as such a scheduler can be modeled as an rx.Observable<Event>. Once created, the scheduler is able to use the powerful stream manipulation functions provided by RxJava to react to events.

Project Status

The project is still early in terms of development but it is possible to launch tasks. The issues section of this repo will soon be updated with tasks that will require work and is the best place to check on the status toward the first release.

Javadocs

Javadocs for the last successful build of master can be found here

Maven Coordinates

Releases will be published to Maven Central. Snapshots will be published to Sonatypes OSS Repo.

Snapshot Repo

Version 0.1.0-SNAPSHOT has been published to the Sonatype OSS Snapshot Repo.

<repositories>
    <repository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

Protobuf Client

<dependency>
    <groupId>com.mesosphere.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-protobuf-client</artifactId>
    <version>0.1.0-SNAPSHOT</version>
</dependency>

Testing Tools

<dependency>
    <groupId>com.mesosphere.mesos.rx.java</groupId>
    <artifactId>mesos-rxjava-test</artifactId>
    <version>0.1.0-SNAPSHOT</version>
</dependency>

Build

Mesos RxJava is defined by a Maven project and targeted at Java 1.8.

Install Maven

Install Maven 3.2.x or newer

Running Tests

mvn clean test

Packaging Artifacts

mvn clean package

Resources

  1. Apache Mesos
  2. Mesos HTTP Scheduler API v1
  3. RxJava
  4. ReactiveX

About

RxJava client for Apache Mesos HTTP APIs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%