No commit activity in last 3 years
No release in over 3 years
Opinionated synchronization of Marathon apps from JSON files.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 10.0
>= 0
~> 0.26.1
~> 0.8

Runtime

~> 0.7
~> 2.12
~> 1.1.10
~> 1.2.5
 Project Readme

Scooter

A CLI for the Marathon Rest API, with some opinionated configuration management of Marathon jobs.

Installation

gem install marathon-scooter

Usage

To see the a complete set of global and command specific command line arguments you can use the following:

scooter --help

and

scooter COMMAND --help

Commands

app

This command retrieves the configuration for a given application id, including the option of a specific application version, and output as JSON.

clean

This command will remove job configurations FROM Marathon that do not exist within a given directory.

Note: This command is destructive and requires an additional flag to execute the clean

delete

This command will delete the job configuration FROM Marathon for a given application id.

Note: This command is destructive and requires an additional flag to execute the delete

export

This command provides a method of exporting Marathon job configurations to given directory. By default all jobs are exported, however, a regex can be provided to export a certain subset as needed.

help

This command provides general usage information.

info

This command retrieves basic Marathon and job configuration data and presents it to the user.

scale

This command scales the number of instances of a given application. Setting instances to 0 (zero) will suspend the application.

sync

This command will sync the given application file or directory with the Marathon. Marathon will update the application configuration if the application already exists, otherwise, it will createa a new application.

tidy

This command will clean up the JSON for a given file or directory of files, removing any unnecessary configuration, and sorting the keys to reduce file differences when storing job configuration in Git.

Environment Variables

Scooter provides the ability to set global options via environment variables for the following:

SCOOTER_COLOR

SCOOTER_MARATHON_HOST

SCOOTER_MARATHON_USER

SCOOTER_MARATHON_PASS

SCOOTER_MARATHON_PROXY_HOST

SCOOTER_MARATHON_PROXY_PORT

SCOOTER_MARATHON_PROXY_USER

SCOOTER_MARATHON_PROXY_PASS

SCOOTER_VERBOSE

Examples

General

The following command will retrieve general Marathon information.

scooter info

Specific Marathon Host

By default Scooter looks for Marathon on localhost and provides an option to specify what Marathon host to target:

scooter --marathon=https://somecluster.marathon.service.consul info

Or using environment variables:

export SCOOTER_MARATHON_HOST=https://marathon.service.consul
scooter info