Skip to content

deuill/mash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mash - the simple task runner

MIT License

Mash is a simple task runner -- a service that listens on a standard TCP port and accepts commands over a RESTful interface. It is written in Go and is designed to be simple to build, deploy and use.

Building

Assuming you have all already installed build dependancies required via go get, building Mash is simply a matter of running make in the project root. You may install Mash by running make install or build a redistributable package using make package.

Running

You may either run Mash directly using the 'mash' binary, or use the supplied init script, which will also handle permissions and locking. By default, Mash listens on port 6116 and does not need elevated permissions for operation.

Configuration

Mash requires a minimal set of initial configuration, and relies on a good set of defaults for most operations. It can either use environment variables, or a local configuration file located in /etc/mash/mash.conf (the default location can be changed by setting an MASH_CONFIG environment variable) for overriding default values, using the following semantics:

Configuration values are namespaced under their service name and option key. Environment variables use an MASH_ prefix, and are uppercase, while mash.conf variables are placed in sections using the service name as a key, and are lowercase. So, for an option port under service http, the following methods could be used to set the corresponding variable to 8080:

export MASH_HTTP_PORT=8080

set in the environment in which mash is launched, or:

[http]
port = 8080

set as a persistent value in the local file. Environment variables override file variables, which in turn override defaults.

License

Mash is licensed under the MIT license, the terms of which can be found in the included LICENSE file.