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 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.20.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for kitten-0.1.20-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 618174189ff26c66b5cb88d2afd925a26c5e2ed9a1006c5d85c2cd57bf5b368f |
|
MD5 | 0d04ea82339fe656fad34af557f538ae |
|
BLAKE2b-256 | 9f95fb8bb79792f0e2f9637eba34c570deb8de6edbb0086e1560dadccfd89732 |