Marathon

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.

Variables

marathon_http_credentials

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

marathon_keystore_path

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.

marathon_keystore_password

Password for the keystore specified in marathon_keystore_path.

marathon_principal

Principal to use for Mesos framework authentication.

Note

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

marathon_secret

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: ""

mesos_consul_image

Image for the mesos-consul bridge.

Default: drifting/mesos-consul

mesos_consul_image_tag

Tag for the mesos-consul bridge

Default: latest

marathon_consul_image

Image for the marathon-consul bridge.

Default: brianhicks/marathon-consul

marathon_consul_image_tag

Tag for the marathon-consul bridge

Default: latest

marathon_logging_level

Log level for Marathon

Default: warn

mantl_api_image

The mantl-api docker image.

Default: ciscocloud/mantl-api

mantl_api_image_tag

The tag for the mantl-api docker image.

Default: 0.2.2

mantl_api_config_url

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: “”

mantl_api_config_file

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 http://somebucket.s3.amazonaws.com/mantl-api/config.toml, you would want to set mantl_api_config_file to $MESOS_SANDBOX/config.toml.

Default: “”