clusterssh for tmux
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
hooks
test_data
.travis.yml
CHANGES.rst
README.md
TODO
conf.go
conf_test.go
example_conf.yaml
makefile
parseargs.go
parseargs_test.go
tcluster.go
tmux.go

README.md

tcluster

Build Status Go Report Card

tcluster opens tmux panes with connections to remote hosts, similar to clusterssh. It does not handle sending input to them - tmux supports that by itself, see the section tmux.

Example:

$ cat ~/.tcluster.yaml
hosts:
  - full-partial-host.full.domain
  - full-partial-host-02.full.domain
  - another-host.full.domain
  - hostname-only
$ tcluster partial-host

Opens a new window with two panes, which are opening an ssh connection to full-partial-host.full.domain and full-partial-host-02.full.domain.

Each argument is interpreted as a regular expression by golangs regexp package.

For configuration examples see the test_data directory and the annotated example_conf.yaml.

Planned

  • shell-like expansion of defined hosts in configuration files
  • host-tags
  • ansible inventories

tmux

Tmux supports inputting into multiple panes at once through the window-option synchronize-panes.

Example:

bind S set -w synchronize-panes

Pressing prefix+S now toggles inputting into all panes of the window at once.

paste-buffer currently does not work with synchronized panes, a workaround is passing the input to send-keys:

bind '+' choose-buffer 'run "tmux send-keys $(tmux show-buffer -b %%)"'

However this doesn't preserve whitespace.