octopus

module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2018 License: GPL-3.0

README

Octopus

Octopus is a commandline tool for running the same command on multiple remote hosts in parallel.

Build Status

Known Issues

There is a bug in openSUSE Leap 15.0 which likely affects all openSUSE distributions where octopus will randomly fail to be able to execute on remote hosts as non-root users. Executing as the root user seems to work appropriately.
https://bugzilla.opensuse.org/show_bug.cgi?id=1115550

Theory

Octopus is a simple tool inspired by pdsh's ability to execute commands on multiple hosts in parallel. In environments where pdsh cannot be installed, Go's ability to produce static binaries is useful; thus, Octopus is written in Go. As long as one has the ability to scp or rsync files to a host, a static octopus executable can be copied to it. A host may be a cluster admin node, for example.

Octopus can execute arbitrary commands on multiple hosts in parallel, and hosts are grouped together into "host groups" in a file which inspired by pdsh's "genders" file. The host groups file for Octopus is actually a Bash file with groups defined by variable definitions. A file which defines host groups as Bash variables was chosen so that so that the same file may be used easily by both Octopus and by user-made scripts.

Usage

See octopus [--help|-h] for command usage.

An example host groups file can be found in the config directory.

Directories

Path Synopsis
cmd
octopus
Package octopus is a commandline tool for running the same command on multiple remote hosts in parallel.
Package octopus is a commandline tool for running the same command on multiple remote hosts in parallel.
octopus/version
Package version defines the 'octopus version' command behavior.
Package version defines the 'octopus version' command behavior.
internal
logger
Package logger provides a global info logger for Octopus
Package logger provides a global info logger for Octopus
octopus
Package octopus defines an octopus config struct, and a method to run the octopus command defined with the configs provided.
Package octopus defines an octopus config struct, and a method to run the octopus command defined with the configs provided.
ssh
util
Package util provides miscellaneous utility functions.
Package util provides miscellaneous utility functions.

Jump to

Keyboard shortcuts

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