Skip to main content

Holy is a CLI tool that makes it effortless to create, manage and connect to servers in your AWS account

Project description

Holy

Holy is a CLI tool that makes it effortless to create, manage and connect to servers in your AWS account.

If you need to quickly create EC2 instances for development and testing, this tool is for you. It abstracts away all of the configuration for VPC, IAM, security group, key pair etc into one command (holy server create).

Demo video →

Installation

Please make sure you have Python 3.9 or newer (python --version):

pip install holy-cli
holy --help

Problems? Visit the wiki →

Upgrade

pip install --upgrade holy-cli

Configuration

Watch our AWS setup guide →

To run Holy commands, you will need to have credentials to your AWS account set. Holy will look for credentials the same way as the AWS CLI or SDK does (e.g. inside ~/.aws/credentials file or as environment variables).

Ensure the IAM user for those credentials has the AdministratorAccess permission policy attached.

Usage

Create a server:

# No options, create with a random name using amazon-linux OS on a micro instance (within the free tier):

holy server create

# Create with a specific name, using ubuntu on a large compute optimized instance with 30GB disk space:

holy server create my_server --os=ubuntu:22 --type=c4.large --disk-size=30

# Create with a specific Amazon machine image:

holy server create my_server --image-id="ami-00d5053dee71cee04"

# Create and open ports 22 and 3000 to the world:

holy server create my_server --ports="22,3000"

# Create and allow the server to list all S3 buckets:

holy server create my_server --actions="s3:ListAllMyBuckets"

# Create and run a script once launched:

holy server create my_server --script=/path/to/install_software.sh

SSH into a server:

# SSH straight in:

holy server ssh my_server

# Save SSH config for use later (VS Code, ssh command etc):

holy server ssh my_server --save

# SSH in with a particular username:

holy server ssh my_server --username=root

Manage inbound server ports:

# Open port 80 to the world:

holy server port my_server --action=open --port=80

# Close port 80 to the world:

holy server port my_server --action=close --port=80

# Open port 80 to a specific IP address:

holy server port my_server --action=open --port=80 --ip=1.2.3.4

List all servers:

holy server list

# Filter to just servers running
holy server list --running

Specific server actions:

# View info about a server
holy server info my_server

# Start a server
holy server start my_server

# Stop a server
holy server stop my_server

# Delete a server
holy server delete my_server

Remove all infrastructure created by holy:

holy teardown

Support

  • Visit the wiki for more details and FAQ's
  • Create a new discussion for any questions
  • Create an issue for bug reports and feature requests

Development

Clone this repo and pip install:

pip install -e .[tests]
pytest # run unit tests

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

holy-cli-1.0.2.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

holy_cli-1.0.2-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file holy-cli-1.0.2.tar.gz.

File metadata

  • Download URL: holy-cli-1.0.2.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for holy-cli-1.0.2.tar.gz
Algorithm Hash digest
SHA256 013d5f409e54c7a37bfc81848ece1d549a9912dc048d421d67f6081b0945267d
MD5 d0539f8376ffc9603c3647109e790a14
BLAKE2b-256 4d777f8c8fb4ec1fa6324fa1ab903a61baba3208901f7421cee7a9169b9a9b1f

See more details on using hashes here.

File details

Details for the file holy_cli-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: holy_cli-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for holy_cli-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7f24c9f1f4d88cfe25f4d24d7ede6552184d6a5d6afc9876c6b34adadfcc1dde
MD5 e473c69c02f2b92c65d9612cda146f60
BLAKE2b-256 a2bb372c8346e018411a24e855cc820589721235516ddebf1cd382900d66812f

See more details on using hashes here.

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