Skip to main content

Improved ClusterSSH for modern terminals like Terminator and Tilix

Project description

# CSSHY - Alpha Version

Imporved ClusterSSH for modern terminals like terminator and tilix, to manage a cluster of nodes through ssh connections
launches multiple splits with ssh connections to each node

## TODO to go beta

This project was created in a single Hackathon, so still have a long run to be beta quality. Any help is appreciated:

* Add command line arguments to create/remove/modify cluster so there is no need to edit json files
* Improve `guess` terminal detection for other DE (KDE and XFCE at least)
* Add more backends
* Make it compatible with other platforms (at least OS X)
* Improve terminator code to use tempfile instead of creating a profile inside terminator
* Write automated unit tests
* Improve overall code quality

## Migrate from csshnator
If you are a previous csshnator user, you can migrate your old configuration with `migrate_settings_from_csshnator.py` script, just run it to get your cluster settings migrated

## Install
To install you need to have `Python 3` (tested with `3.6` but might work with older versions) and `pip`. Then you just need to:
```bash
pip install csshy
```

## Usage
To use it, just pass all hostnames as arguments on command line, like that:
```bash
csshy -l user host1 host2 host3
```

You can also create a config file with all the clusters listed in a json format, and also adjust your default terminal:
$HOME/.csshy.conf

```json
{
"terminal": "guess",
"cluster_nodes": {
"cluster1": [
"10.10.100.209",
"10.10.100.210",
"10.10.100.211"
],
"cluster2": [
"10.10.100.212",
"10.10.100.213",
"10.10.100.214"
]
}
}

```
In `terminal` you can choose between `guess`, `terminator`, `tilix` and `cssh`. When you choose `guess` csshy will try it best to guess wich terminal to use.

To use the cluster you created just pass the `-c` argument

```bash
csshy -l <user> -c <clustername>
```

example:
```bash
csshy -l thor27 -c cluster1
```

For more usage information you can consult the help:

```
./csshy --help

usage: csshy.py [-h] [-l LOGIN] [-s] [-c CLUSTER_NAME] [-t TERMINAL]
[cluster_nodes [cluster_nodes ...]]

Open ClusterSSH-like session on Terminator or Tilix

positional arguments:
cluster_nodes Hostnames or user@hostname to connect to, separated by
space

optional arguments:
-h, --help show this help message and exit
-l LOGIN, --login LOGIN
Login username to pass to all hosts used.
-s, --show Show all clusters available.
-c CLUSTER_NAME, --cluster-name CLUSTER_NAME
Cluster name is a collection of hosts available on
~/.csshy.conf file
-t TERMINAL, --terminal TERMINAL
Choose terminal to use (tilix, terminator, cssh)
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
csshy-0.2.tar.gz (6.8 kB) Copy SHA256 hash SHA256 Source None Aug 10, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page