Tiny multi-server automation tool.
Project description
😽 kitten
Tiny multi-server automation tool. Designed to be as simple as possible.
Install
pip install kitten
Prerequisites
You'll need to have your AWS credentials set up. You can do that using awscli
:
pip install awscli
Then:
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 change region using --region
.
Run command on servers
$ kitten run uptime ubuntu 18.105.107.20 34.229.135.48
18.105.107.20 run uptime
34.229.135.48 run 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 --region ap-northeast-2 elb big-prod-elb | xargs kitten put cat.jpg /root/cat.jpg 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.2.2.tar.gz
(5.0 kB
view hashes)
Built Distribution
Close
Hashes for kitten-0.2.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f70393749d1d5c633d6a860292d252c7d6a4af03578c9fd4e08fd1028f324589 |
|
MD5 | ac8539f1ba8a10b97037fae5e32c5862 |
|
BLAKE2b-256 | 2521f9d0c7eba34992e8eca06fb876680742a3424b9addb9034b50a9db335c08 |