
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
marathon-validate
Advanced tools
A tiny command line tool to validate application or group configuration files for Marathon
A tiny command line tool to validate application or group configuration files for Marathon and DC/OS.
If you're running a Mesos or DC/OS cluster and build custom applications for if, most of the time you'll have to create either a Marathon app definition JSON file, or a group definition JSON file.
As the structure of these files can get a little complicated, marathon-validate was created to be able to do a quick sanity check of these files from the command line.
Therefore, marathon-validate will use the JSON schema files contained in the Marathon GitHub project to validate the input file against.
To be able to use marathon-validate, you need to have Node.js (and NPM) installed on your system. Then you can use
npm install -g marathon-validate
to install it globally. You can verify the correct installation by issuing
$ marathon-validate --version
0.3.3
$ marathon-validate --help
Usage: marathon-validate [options] <file>
Options:
-h, --help output usage information
-V, --version output the version number
-a, --app Check an App JSON
-g, --group Check a Group JSON
-d, --describe <property> Describe a property. Has to be used with either -a (app schema) or -g (group schema)
-m, --marathon <version> Use schema of specific Marathon version
-t, --tags Get a list of tags for the Marathon project
If you want validate your application.json file in the current folder against the master version of the JSON schema, you can do a
$ marathon-validate -a application.json
To validate your application.json against a specific release version (e.g. v1.3.6), you can use
$ marathon-validate -a -m v1.3.6 application.json
This should work with all tags from the Marathon project.
You can also get the list of tags like this (output is shortened):
$ marathon-validate -t
--> List of tags:
* v1.5.0-SNAPSHOT
* v1.4.3
* v1.4.2
* v1.4.2-snapshot5
* v1.4.2-snapshot4
* v1.4.2-snapshot3
* v1.4.2-snapshot2
* v1.4.2-SNAPSHOT1
* v1.4.1
* v1.4.0
...
You can search the JSON schema for a field's description like this (in this example, the type field):
$ marathon-validate -a -d type
--> Loading remote schema: https://raw.githubusercontent.com/mesosphere/marathon/master/docs/docs/rest-api/public/api/v2/schema/AppDefinition.json
--> Found 2 matches for 'type':
* '.container.type': Container engine type. Supported engine types at the moment are DOCKER and MESOS.
* '.container.volumes.persistent.type': The type of mesos disk resource to use; defaults to root
By using the -a or -g flags, you can specify if you want to query the app or group JSON schema.
FAQs
A tiny command line tool to validate application or group configuration files for Marathon
The npm package marathon-validate receives a total of 2 weekly downloads. As such, marathon-validate popularity was classified as not popular.
We found that marathon-validate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.