A file based utility to deploy to various Marathon environments. It uses Python/Jinja templating to create JSON payloads to send to Marathon.
Compatibility with Marathon 1.4 and below. Json structure change required for 1.5 and above
marathon-deploy.py - Deploy script
Dockfile - Docker build file
cert.crt - Cert for https requests Dockerfile - Docker build file _env - environment variables per env per app
_templates - application templates
utilities - custom packages
General Usage:
./marathon-deploy.py {action: -d -w -t -S -C} {env: -e} {selector: -g -a}
Deploy and change Docker image version. Not specificy the image version will use the image version in the env json.
./marathon-deploy.py -d 3.2.0 -e dev -g monitoring
Deploy list of apps:
./marathon-deploy.py -d -e dev -a loadbalancer zk-web
Deploy group of apps (monitoring, admin):
./marathon-deploy.py -d -e dev -g admin
Scale Marathon:
./marathon-deploy.py -S 0 -e dev -g admin
List tasks that are running/healthy/unhealthy/staged:
./marathon-deploy.py -t -e dev -g admin