Giter VIP home page Giter VIP logo

henchman's Introduction

henchman Circle CI

What is Henchman

Henchman is an orchestration and automation tool written in Golang, inspired by Ansible with support for custom transports and inventories.

Check out the wiki to learn more.

How Henchman Works

Henchman executes a plan (a collection of tasks) on a given set of machines. Currently henchman uses SSH as a transport to execute a plan on hosts specified in an inventory. It will be possible to use custom transports and custom inventory scripts in the future.

Building Henchman

  • 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
  • godep go build -o bin/henchman
    • If you are developing use godep go build -race -o bin/henchman

Contributing

Just clone or fork from https://github.com/apigee/henchman and off you go! Fixing issues marked easy in the issue tracker is a great way to get started. Or you can help by creating more modules. Look at the modules section for more details.

Creating HenchmanErrors

HenchmanErrors can be created using the HenchErr(err, map[string]interface{}, "extension message") call. Creating a HenchmanError as opposed to a standard error allows the user to pass in extra information for logrus. Here are a few key things to note when creating a HenchErr:

  • err - place any error in here
  • map[string]interface{} - Place any information about the CURRENT function it's in. For example, plan information, task information, what machine it's on
  • extension message - Is a string that is prefixed onto the base error message. This extension message should contain information about the function that produced the error. For example, if an err occurred while unmarshalling, the extension message would contain "While unmarshalling".

henchman's People

Contributors

asf-jenkins avatar baskaran-md avatar jlin21 avatar sudharsh avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.