Tiny multi-server automation tool.
Project description
😽 kitten
Tiny multi-server automation tool.
It's designed to be as simple as possible and play nice with Unix tools.
Install
pip install kitten
Prerequisites
Kitten can get IP addresses from AWS resources for you. For that 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
, elb
or opsworks
:
$ kitten ip id i-04703bf3e6fab1926 i-07f234d0f29113ef2
18.135.117.17
24.129.235.48
You can change region using --region
.
By default only private IP addresses are printed. Use --public
if you prefer public IPs.
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.
Download files
kitten ip opsworks a283c671-d4c1-4dfa-a7c2-823b7f7b2c2c | xargs kitten get /tmp/system.log ubuntu
Upload file
kitten ip asg big-prod-asg | 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
Built Distribution
Hashes for kitten-0.2.11-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e3efc4e0c27c6d75ec503cf45769ddcd461f0536d38e7d6f55e162f0a0a0349 |
|
MD5 | da0b068ae0cbbf44bd475cad6c5dad38 |
|
BLAKE2b-256 | 09a0a1d8f8c5426ec7f2240aefab2a45d94738c1457fa96dbdd9415e1fb525ed |