Public Repository

Last pushed: a year ago
Short Description
A Concourse resource to deploy applications to Marathon.
Full Description

Marathon Resource

A Concourse resource to deploy applications to Marathon.

Source Configuration

  • app_id: Required. The name of your app in Marathon.

  • uri: Required. The URI of the Marathon instance you wish to deploy to.

  • basic_auth: Optional. Use if you are using HTTP Basic Auth to protect your Marathon instance. Takes user_name and password


check: Extract versions of an app from Marathon.

Returns a list of any versions greater than or equal the last know version of the app defined by app_id.

in: Fetch data about the current version of an app.

Returns JSON description of the current running version of the app.



out: Deploy an app to Marathon.

Given a JSON file specified by app_json, post it to Marathon to deploy the app. The resource will cancel the deployment if its not successful after time_out.


  • app_json: Required. Path to the JSON file describing your marathon app. For more information about the format see the Marathon docs.

  • time_out: Required. How long, in seconds, to wait for Marathon to deploy the app. Timed out deployments will roll back and fail the job.

  • replacements: Optional. A name/value list of templated strings in the app.json to replace during the deploy. Useful for things such as passwords or urls that change.

  • restart_if_no_update: Optional. If Marathon doesn't detect any change in your app.json it won't deploy a new version. Setting this to true will restart an existing app causing a new version. Default is false.

Example Configuration

Resource type

- name: marathon
  type: docker-image
    repository: ckaznocha/marathon-resource


- name: marathon_app
  type: marathon
    app_id: my_app
      user_name: my_name
      password: {{ marathon_password }}


- get: marathon_app
- put: marathon_app
    app_json: path/to/app.json
    time_out: 10
    - name: db_password
      value: {{ db_password }}
    - name: db_url
      value: {{ db_url }}


See the CONTRIBUTING file.


See LICENSE file

Docker Pull Command