Skip to main content

Tiny multi-server automation tool.

Project description

😽 kitten

Build Status Maintainability PyPI - Python Version

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


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)

Uploaded Source

Built Distribution

kitten-0.2.2-py2.py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page