NAME:
coaster - manages ansible playbooks on a host machine
USAGE:
coaster [global options] command [command options] [arguments...]
VERSION:
0.1.2
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--config value path to the configuration file
--book value the name of the playbook to run
--tags value a list of playbook tags to run
--force will force the operation
--ensure this will rerun the play forever until it succeeds
--interval value the interval to retry running the playbook in minutes (default: 0s)
--timeout value the time to stop retrying running the playbook in minutes (default: 0s)
--help, -h show help
--version, -v print the version
Example usage
$ coaster --config tmp/play.json --book voxbox-playbook --tags fconf,fastc --force true
The configuration file looks like this
{
"playbookPath":"tmp/playbooks",
"manifestDir":"tmp/",
"inventoryFile":"local.hosts"
}-
playbookPathtells the binary to look for ansible playbooks in this diretcory -
manifestFirtells the binary to look/store manifest file in this directory. The name of the manifest file isvoxbox-manifest.json -
inventoryFiletells the binary to use this file as inventory, if you want to run the playbook in localhost( the same machine as the binary is in) set this tolocal.hosts
sample manifest file
{
"version": "0.1.0",
"components": [
{
"name": "fastc",
"version": "0.1.5"
},
{
"name": "fconf",
"version": "0.4.10"
},
{
"name": "fconf-node",
"version": ""
},
{
"name": "fconf-polymer",
"version": ""
},
{
"name": "fdevices",
"version": "0.1.9"
},
{
"name": "fessbox",
"version": "0.2.0"
},
{
"name": "metrics",
"version": ""
},
{
"name": "redis",
"version": "3.2"
},
{
"name": "voxbox-ui",
"version": ""
}
],
"created_at": "2017-03-31T10:02:45.177193137+03:00",
"updated_at": "2017-03-31T10:08:51.779628732+03:00"
}This file lives in {manifestDir}/voxbox-manifest.json and is autogenerated by this tool.
--ensure flag will do retries based on --interval flag and will terminate based on --timeout flag
Both --timeout and --interval are durations so you specify them by e.g 1m,2s,10ms
Example of command with ensure
$ coaster --config tmp/play.json --book voxbox-playbook --ensure --timeout=10000ms --interval=5ms