ARC-cli is a powerful command-line tool designed to simplify the process of managing Amazon Web Services (AWS) resources. This project aims to provide an intuitive interface for developers to interact with the cloud, helping them easily create, delete, and edit resources on AWS without the complexity of the web console or the need to remember complex commands.
- Interactive Launch: Step-by-step wizard to launch instances (Ubuntu / Amazon Linux 2023).
- Key Management: Automatically detects local keys or generates new RSA key pairs on the fly.
- Safety Quotas: Prevents accidental costs by limiting users to 2 active instances.
- Lifecycle Management: Start, Stop, and Terminate instances.
- Bulk Actions: Terminate all managed instances with
delete ec2 --all.
- Smart Creation: Checks for global name availability and suggests alternatives if taken.
- Recursive Delete: Force delete non-empty buckets or wipe all ARC buckets with
delete s3 --all. - Upload: Easily upload files to your buckets.
- DNS Management: Create and delete Public Hosted Zones.
- Record Sets: Add A-Records (IPs) to your domains easily.
- Clean Up: Deeply deletes zones (removes records first) to ensure successful deletion.
- Python 3.8+
- AWS Credentials (Access Key & Secret Key) configured via
aws configure.
-
Clone the repository:
git clone [https://github.com/alondudi/ARC-cli.git](https://github.com/alondudi/ARC-cli.git) cd ARC-cli -
Create a Virtual Environment:
python -m venv venv # Windows: venv\Scripts\activate # Mac/Linux: source venv/bin/activate
-
Install Dependencies:
pip install -r requirements.txt
-
Install ARC as a command (Editable Mode):
pip install -e . -
AWS Credentials Setup:
arc setup
To use ARC-cli, you can run the following command:
arc --helpThis will display the available commands and options you can use with ARC-cli.
ARC-cli/
│
├── arc_cli.py # Main CLI Entry Point
├── requirements.txt # Dependencies (boto3, click, rich)
├── README.md # Documentation
│
├── services/ # AWS Boto3 Logic
│ ├── aws_client.py # Main Connection Handler
│ ├── ec2.py # Compute Logic
│ ├── s3.py # Storage Logic
│ └── route53.py # Networking Logic
│
└── keys/ # Generated SSH Keys (Auto-created)
Author Alon