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)
```
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
csshy-0.2.tar.gz
(6.8 kB
view details)
File details
Details for the file csshy-0.2.tar.gz
.
File metadata
- Download URL: csshy-0.2.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ab31502e9e13feae32d202a66c2c3b62325f50d7b8765926e7193d74101ecf9 |
|
MD5 | 72ba52dc9cbe176a2919639b6a2eaca4 |
|
BLAKE2b-256 | 172e8107d9b35e4af4d39cc2303edd7889094b106276442f3096234ac1c88455 |