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.cloudnil</groupId> <artifactId>marathon-client</artifactId> <version>0.4.3</version> </dependency>
Please look at releases page for more versions.
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:
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.