Tiny tool to manage servers simultaneously.
Project description
😽 kitten
Tiny tool to manage servers simultaneously. It aims to be as simple as possible.
Install
pip install kitten
Prerequisites
You'll need to have AWS credentials set up. You can do it using awscli
:
pip install awscli
aws configure
Examples
Get IPs from AWS resources
Use kitten ip
with either id
, asg
or elb
:
$ kitten ip id i-04703bf3e6fab1926 i-07f234d0f29113ef2
18.135.117.17
24.129.235.48
$ kitten ip asg my-asg-name
18.105.107.20
34.229.135.48
You can select the region using --region
.
Run command on servers
$ kitten run uptime ubuntu 18.105.107.20 34.229.135.48
18.105.107.20 uptime
34.229.135.48 uptime
18.105.107.20 17:11:48 up 1 day, 6:02, 0 users, load average: 0.91, 2.99, 3.49
34.229.135.48 17:11:48 up 5 days, 11:19, 0 users, load average: 6.34, 5.94, 5.72
Replace ubuntu
with the user used to log in on the servers.
Commands are always run in parallel. Use --threads
to specify the maximum number of concurrent connections (defaults to 10).
Use --sudo
to run commands via sudo
.
Use -i
to specify a private key.
Get IPs and run command in one step
Just pipe the IPs from kitten ip
to xargs
:
$ kitten ip asg big-prod-asg-name | xargs kitten run 'rm -rf /tmp' root
Download files
$ kitten ip elb big-prod-elb | xargs kitten get -i ~/.ssh/key.pem /tmp/system.log ubuntu
Upload file
$ kitten ip elb big-prod-elb | xargs kitten put nginx.conf /etc/init/nginx.conf root
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
kitten-0.1.17.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for kitten-0.1.17-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3425c2ebe6d42972f448b75fce4a3d2483fa73101e1e2cc4f3deec22e0648b1 |
|
MD5 | f123bc8e4134cd8805cc868fa49a8797 |
|
BLAKE2b-256 | 90d0a352434f08fa0fb0dbd57673d556dca52de40e2c548713a966253fd8a641 |