Skip to content
clusterssh for tmux
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
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.

You can’t perform that action at this time.