Henchman is a non-agent based orchestration and automation tool created in Go, and inspired by Ansible.
Although, python and ruby are awesome as systems languages, Golang fits this 'get shit done' niche more. Dependencies is generally an issue in ruby/python where users have to install and maintain gems/pip modules. With Go there are no dependencies to install, and a single binary file and can shipped and ready to use. In addition, Go has built in concurrency constructs, and a specific way to do things.
- Install go here
- Clone this repo to
$GOPATH/src/github.com/apigee
- If you have not done so, set
export $PATH=$PATH:$GOPATH/bin
go get github.com/tools/godep
godep restore
go build -o hench
Henchman executes a plan (a collection of tasks) on a given set of machines. Each plan will run the list of tasks by SSHing into a machine, and generally copy over the module specified by the task and execute it.
A plan is a collection of tasks written in YAML notation.
Insert a fat Plan example here with all features Insert pratical use case here
Explain features of hosts section. Include Examples
Explain all aspects and features of Vars here. Include Examples
Explain all features of tasks. Include Examples
CLI commands insert here.
If you are using Vagrant to spin up vms
./hench exec plan.yml --inventory inv.yaml --user vagrant --keyfile < >
Just clone or fork from https://github.com/apigee/henchman and off you go! Or you can help by creating more modules. Look at the modules section for more details.