mohitsoni / marathon-client

Java API client for Mesosphere's Marathon.
Apache License 2.0
50 stars 89 forks source link

marathon-client Build Status

This project is a Java library for communicating with Marathon API. At this point this library supports version v2 of Marathon API, please refer docs for more details.

Using marathon-client in your maven project

Add marathon-client as a dependency:

<dependency>
  <groupId>com.github.mohitsoni</groupId>
  <artifactId>marathon-client</artifactId>
  <version>0.4.2</version>
</dependency>

Please look at releases page for more versions.

Usage

Initialization

The following piece of code initializes the client. MarathonClient.getInstance() method expects the endpoint for marathon:

String endpoint = "<Marathon's endpoint>";
Marathon marathon = MarathonClient.getInstance(endpoint);

Getting all applications

The following will return all the applications that have been created:

GetAppsResponse appsResponse = marathon.getApps();

Create a new application

The following example demonstrates how a new application can be created:

App app = new App();
app.setId("echohisleepbye-app");
app.setCmd("echo hi; sleep 10; echo bye;");
app.setCpus(1.0);
app.setMem(16.0);
app.setInstances(1);
marathon.createApp(app);

Get details about an existing application

The following example, demostrates how to get details about an already created application:

GetAppResponse appGet = marathon.getApp("echohisleepbye-app");

Delete an application

The following example demostrate, how one can delete an existing application:

marathon.deleteApp("echohisleepbye-app");

Building

This project is built using Apache Maven.

Run the following command from the root of repository, to build the client JAR:

$ mvn clean install

Bugs

Bugs can be reported using Github issues.