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 IP addresses 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 IP addresses 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.3.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for kitten-0.2.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01c658b5944e81adbcf0d3dd8bfbe1640d7f99c4856efaba1eac2d3c88104bcf |
|
MD5 | d41974dc04497350d3781f66bf2286fc |
|
BLAKE2b-256 | 33ef94a912374734d5f90e9cf277d4fc4e799bc678d5eb8f3dcfdbb56742b0ba |