This project is a Java library for communicating with Marathon API. At this point this library supports version v2 of Marathon API, please refer to the docs for more details.
Add marathon-client as a dependency:
For Marathon v1.x:
<dependency>
<groupId>com.mesosphere</groupId>
<artifactId>marathon-client</artifactId>
<version>0.3.0</version>
</dependency>
For Marathon v0.x:
<dependency>
<groupId>com.mesosphere</groupId>
<artifactId>marathon-client</artifactId>
<version>0.2.1</version>
</dependency>
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);
The following will return all the applications that have been created:
GetAppsResponse appsResponse = marathon.getApps();
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);
The following example, demostrates how to get details about an already created application:
GetAppResponse appGet = marathon.getApp("echohisleepbye-app");
The following example demostrate, how one can delete an existing application:
marathon.deleteApp("echohisleepbye-app");
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 can be reported using Github issues.