Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yaronsumel/grapes
easy way to distribute commands over ssh.
https://github.com/yaronsumel/grapes
Last synced: about 1 month ago
JSON representation
easy way to distribute commands over ssh.
- Host: GitHub
- URL: https://github.com/yaronsumel/grapes
- Owner: yaronsumel
- License: mit
- Created: 2016-09-01T11:28:47.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-05T20:41:56.000Z (4 months ago)
- Last Synced: 2024-11-03T08:08:07.898Z (about 2 months ago)
- Language: Go
- Size: 69.3 KB
- Stars: 167
- Watchers: 8
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - grapes - easy way to distribute commands over ssh. - ★ 113 (Software Packages)
- awesome-go-extra - grapes - 09-01T11:28:47Z|2020-12-21T15:58:45Z| (Go Tools / DevOps Tools)
README
# grapes [![Go Report Card](https://goreportcard.com/badge/github.com/yaronsumel/grapes)](https://goreportcard.com/report/github.com/yaronsumel/grapes) [![Build Status](https://travis-ci.org/yaronsumel/grapes.svg?branch=master)](https://travis-ci.org/yaronsumel/grapes) [![Build status](https://ci.appveyor.com/api/projects/status/fnepp81rdi8prawn/branch/master?svg=true)](https://ci.appveyor.com/project/yaronsumel/grapes/branch/master) [![GoDoc](https://godoc.org/github.com/yaronsumel/grapes?status.svg)](https://godoc.org/github.com/yaronsumel/grapes)
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
```bash
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](https://twitter.com/yaronsumel) #####