Skip to content

rmenn/henchman

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

henchman Build Status

What is Henchman

Henchman is a non-agent based orchestration and automation tool created in Go, and inspired by Ansible.

Why Go?

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.

Setup

  • 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

How Henchman Works

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.

Plan

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

Hosts

Explain features of hosts section. Include Examples

Vars

Explain all aspects and features of Vars here. Include Examples

Tasks

Explain all features of tasks. Include Examples

Inventories

How to Use

CLI commands insert here.

If you are using Vagrant to spin up vms ./hench exec plan.yml --inventory inv.yaml --user vagrant --keyfile < >

Modules

Contributing

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 87.8%
  • Python 12.2%