Skip to content

yaronsumel/grapes

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

grapes Go Report Card Build Status Build status GoDoc

grapes is lightweight tool designed to distribute commands over ssh with ease.

Update (25/04/2019)

Handshake validation is now in place in order to fix CVE-2017-3204, The validation will use the built-in fingerprint list ~/.ssh/known_hosts as default.

In order to add your ssh server fingerprint to known_hosts run the following:

$ ssh-keyscan -H YOURHOST.COM >> ~/.ssh/known_hosts

Run with docker

docker run -v ~/.grapes.yml:/root/.grapes.yml -v ~/.ssh/id_rsa:/root/.ssh/id_rsa -it docker.pkg.github.com/yaronsumel/grapes/grapes:0.3.0

Installation

Run (golang v1.10+ required):

$ export GO111MODULE=on; go get -u github.com/yaronsumel/grapes

Usage

Example:

$ grapes -c config.yml -i ~/.ssh/id_rsa -s prod -cmd whats_up --async
  • use the --help flag for full usage output.

Config

config structure (YAML):

version: 1
servers:
 prod :
     - name : "prod server #1"
       host : "prod.example.com:22"
       user : "ubuntu"
 staging :
     - name : "staging server #1"
       host : "staging.example.com:22"
       user : "ubuntu"
     - name : "staging server #2"
       host : "staging.example.com:23"
       user : "ubuntu"
commands:
 whats_up :
     - "ls -al /tmp"
     - "date"
 date :
     - "date"
Written and Maintained by @YaronSumel