New in version 0.1.

Marathon is a scheduler for Mesos - it takes specifications for apps to run and lets you scale them up and down, and deploy new versions or roll back. Like Mesos’ leader mode, Marathon can run on as many servers as you like and will elect a leader among nodes using ZooKeeper.

Keep Marathon servers close to Mesos leaders for best performance; they talk back and forth quite a lot to keep the services in the cluster in a good state. Placing them on the same machines would work.

Marathon listens on port 8080. To connect to Marathon securely, set marathon_keystore_path and marathon_keystore_password, then connect via HTTPS on port 8443.

The Marathon role also sets up mesos-consul and marathon-consul for service discovery.



HTTP Basic authentication credentials, in the form “user:password”.


Path on the local machine that contains a Java keystore. Marathon has docs on generating this file. Please note that if this option is set, marathon_keystore_password is required.


Password for the keystore specified in marathon_keystore_path.


Principal to use for Mesos framework authentication.


If you plan to use framework authentication, be sure to add the principal and secret to mesos_credentials and set mesos_authenticate_frameworks to yes.

default: marathon


Secret to use for Mesos framework authentication. Authentication will only be enabled if this value is set to a non-blank value. See also the note in marathon_principal.

default: ""


Image for the mesos-consul bridge.

Default: drifting/mesos-consul


Tag for the mesos-consul bridge

Default: latest


Image for the marathon-consul bridge.

Default: brianhicks/marathon-consul


Tag for the marathon-consul bridge

Default: latest


Log level for Marathon

Default: warn


The mantl-api docker image.

Default: ciscocloud/mantl-api


The tag for the mantl-api docker image.

Default: 0.2.2


The url for a custom mantl-api configuration file. This url must be accessible from your cluster nodes. The file will be downloaded into the Mesos sandbox for the mantl-api task.

Default: “”


The path to the config file for mantl-api to read. This should be based on the file name of the mantl_api_config_url variable above. For example, if you set mantl_api_config_url to, you would want to set mantl_api_config_file to $MESOS_SANDBOX/config.toml.

Default: “”