gsh

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2020 License: MIT Imports: 16 Imported by: 0

README

gsh : The Missing Host Manager

gsh intends to offer a new way to manage sets of hosts and a collection of accompanying scripts and files. You can organize your inventory of hosts with groups and labels. You can add scripts and files (like configs) to your inventory. Then, gsh works over ssh, and you can execute scripts and/or copy files en masse to your groups of servers. See TODO section below for future plans.

Requirements

This should work on any linux host, like your workstation. Mac os builds are being tested. Access to some ssh servers is needed to use all the features of gsh. Currently only bash is supported, with plans for more languages.

Installation
A) Use Go Install

To build with go install:

$ go install github.com/cbluth/gsh
B) Clone via git, and build in docker

To build in docker, golang not need to be installed:

$ git clone https://github.com/cbluth/gsh && cd gsh
$ ./build.sh    # this will make a `release.tgz` file
$ tar -xzvf release.tgz # makes linux and mac builds
$ sudo cp ./build/gsh-linux /usr/local/bin/gsh
$ sudo chmod a+rx /usr/local/bin/gsh
C) Clone via git, and build locally

To build with go build:

$ git clone https://github.com/cbluth/gsh && cd gsh
$ go build . -o gsh
$ sudo cp gsh /usr/local/bin/gsh
$ sudo chmod a+rx /usr/local/bin/gsh

How To Use It??

You can use gsh to execute scripts over ssh, and manage an inventory of servers.
For usage, see the docs

Hack or Contribute

This project intentionally avoids importing 3rd party libraries, and tries to stick to the basic libraries provided by golang. All contributions and bug reports are welcome, please just open an issue on the github issues page. This is a new project, with lots of issues, if you see any bugs, please report them! :)

To hack on this project, git clone to anywhere, and edit the code directly. After applying edits to the codebase, you can use ./gsh.sh to compile and run gsh via go, with the same arguments as running the program normally; eg: ./gsh.sh make host dev0 address=dev0.local

License

This project is licensed under the MIT License, see the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL