holy-cli


Nameholy-cli JSON
Version 1.0.2 PyPI version JSON
download
home_page
SummaryHoly is a CLI tool that makes it effortless to create, manage and connect to servers in your AWS account
upload_time2023-09-20 14:48:44
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT License Copyright (c) 2023 Jason M Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords aws cloud server cli holy development instance ec2
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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 →](https://github.com/holy-cli/cli/assets/501743/0ef07eb5-f816-47d1-bce1-ac8c41c689dd)

## Installation

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

```bash
pip install holy-cli
holy --help
```
Problems? [Visit the wiki →](https://github.com/holy-cli/cli/wiki)

## Upgrade

```bash
pip install --upgrade holy-cli
```

## Configuration

[Watch our AWS setup guide →](https://youtu.be/5fGvWRDhGTM)

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](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) or as [environment variables](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)).

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

## Usage

Create a server:

```bash
# 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:

```bash
# 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:

```bash
# 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:

```bash
holy server list

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

Specific server actions:

```bash
# 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:

```bash
holy teardown
```

## Support
* Visit the [wiki](https://github.com/holy-cli/cli/wiki) for more details and FAQ's
* Create a [new discussion](https://github.com/holy-cli/cli/discussions) for any questions
* Create an [issue](https://github.com/holy-cli/cli/issues) for bug reports and feature requests

## Development

Clone this repo and pip install:

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

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "holy-cli",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "aws,cloud,server,cli,holy,development,instance,ec2",
    "author": "",
    "author_email": "Holy <holy.cli.email@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4d/77/7f8c8fb4ec1fa6324fa1ab903a61baba3208901f7421cee7a9169b9a9b1f/holy-cli-1.0.2.tar.gz",
    "platform": null,
    "description": "# Holy\n\nHoly is a CLI tool that makes it effortless to create, manage and connect to servers in your AWS account.\n\nIf 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`).\n\n[Demo video \u2192](https://github.com/holy-cli/cli/assets/501743/0ef07eb5-f816-47d1-bce1-ac8c41c689dd)\n\n## Installation\n\nPlease make sure you have Python 3.9 or newer (`python --version`):\n\n```bash\npip install holy-cli\nholy --help\n```\nProblems? [Visit the wiki \u2192](https://github.com/holy-cli/cli/wiki)\n\n## Upgrade\n\n```bash\npip install --upgrade holy-cli\n```\n\n## Configuration\n\n[Watch our AWS setup guide \u2192](https://youtu.be/5fGvWRDhGTM)\n\nTo 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](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) or as [environment variables](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)).\n\nEnsure the IAM user for those credentials has the `AdministratorAccess` permission policy attached.\n\n## Usage\n\nCreate a server:\n\n```bash\n# No options, create with a random name using amazon-linux OS on a micro instance (within the free tier):\n\nholy server create\n\n# Create with a specific name, using ubuntu on a large compute optimized instance with 30GB disk space:\n\nholy server create my_server --os=ubuntu:22 --type=c4.large --disk-size=30\n\n# Create with a specific Amazon machine image:\n\nholy server create my_server --image-id=\"ami-00d5053dee71cee04\"\n\n# Create and open ports 22 and 3000 to the world:\n\nholy server create my_server --ports=\"22,3000\"\n\n# Create and allow the server to list all S3 buckets:\n\nholy server create my_server --actions=\"s3:ListAllMyBuckets\"\n\n# Create and run a script once launched:\n\nholy server create my_server --script=/path/to/install_software.sh\n```\n\nSSH into a server:\n\n```bash\n# SSH straight in:\n\nholy server ssh my_server\n\n# Save SSH config for use later (VS Code, ssh command etc):\n\nholy server ssh my_server --save\n\n# SSH in with a particular username:\n\nholy server ssh my_server --username=root\n```\n\nManage inbound server ports:\n\n```bash\n# Open port 80 to the world:\n\nholy server port my_server --action=open --port=80\n\n# Close port 80 to the world:\n\nholy server port my_server --action=close --port=80\n\n# Open port 80 to a specific IP address:\n\nholy server port my_server --action=open --port=80 --ip=1.2.3.4\n```\n\nList all servers:\n\n```bash\nholy server list\n\n# Filter to just servers running\nholy server list --running\n```\n\nSpecific server actions:\n\n```bash\n# View info about a server\nholy server info my_server\n\n# Start a server\nholy server start my_server\n\n# Stop a server\nholy server stop my_server\n\n# Delete a server\nholy server delete my_server\n```\n\nRemove all infrastructure created by holy:\n\n```bash\nholy teardown\n```\n\n## Support\n* Visit the [wiki](https://github.com/holy-cli/cli/wiki) for more details and FAQ's\n* Create a [new discussion](https://github.com/holy-cli/cli/discussions) for any questions\n* Create an [issue](https://github.com/holy-cli/cli/issues) for bug reports and feature requests\n\n## Development\n\nClone this repo and pip install:\n\n```bash\npip install -e .[tests]\npytest # run unit tests\n```\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 Jason M  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Holy is a CLI tool that makes it effortless to create, manage and connect to servers in your AWS account",
    "version": "1.0.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/holy-cli/cli/issues",
        "Homepage": "https://github.com/holy-cli/cli"
    },
    "split_keywords": [
        "aws",
        "cloud",
        "server",
        "cli",
        "holy",
        "development",
        "instance",
        "ec2"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a2bb372c8346e018411a24e855cc820589721235516ddebf1cd382900d66812f",
                "md5": "e473c69c02f2b92c65d9612cda146f60",
                "sha256": "7f24c9f1f4d88cfe25f4d24d7ede6552184d6a5d6afc9876c6b34adadfcc1dde"
            },
            "downloads": -1,
            "filename": "holy_cli-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e473c69c02f2b92c65d9612cda146f60",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 26967,
            "upload_time": "2023-09-20T14:48:42",
            "upload_time_iso_8601": "2023-09-20T14:48:42.361875Z",
            "url": "https://files.pythonhosted.org/packages/a2/bb/372c8346e018411a24e855cc820589721235516ddebf1cd382900d66812f/holy_cli-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d777f8c8fb4ec1fa6324fa1ab903a61baba3208901f7421cee7a9169b9a9b1f",
                "md5": "d0539f8376ffc9603c3647109e790a14",
                "sha256": "013d5f409e54c7a37bfc81848ece1d549a9912dc048d421d67f6081b0945267d"
            },
            "downloads": -1,
            "filename": "holy-cli-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d0539f8376ffc9603c3647109e790a14",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 21762,
            "upload_time": "2023-09-20T14:48:44",
            "upload_time_iso_8601": "2023-09-20T14:48:44.016910Z",
            "url": "https://files.pythonhosted.org/packages/4d/77/7f8c8fb4ec1fa6324fa1ab903a61baba3208901f7421cee7a9169b9a9b1f/holy-cli-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-20 14:48:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "holy-cli",
    "github_project": "cli",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "holy-cli"
}
        
Elapsed time: 0.13294s