CloudySetup is a CLI tool designed to streamline AWS resource management using AWS Cloud Control API. It leverages Amazon Bedrock
fully managed service with Anthropic - Claude V2
Gen AI model to create, read, update, list, and delete AWS resources by generating configurations compatible with AWS Cloud Control API.
🔴 👀 Please pause a moment here to see the entire execution of the cloudysky-cli.
- Generate
AWS resource configurations
usinggenerative AI
and providesAI generated suggestions
to improve the resource configuration. - Apply generated configurations to
create
,update
, anddelete
resources and intent on each resources is determined through Generative AI. Monitor resource
creation status.- Display suggestions for configuration improvements.
- Store
configurations and state
information locally.
- Python 3.11+
- Virtual Environment (optional but recommended)
Cloudysetup-cli
uses the AWS configured credentials or can use short-lived session credentials through AWS profiles. Ensure that your AWS credentials are set up correctly before using the tool.aws configure
-
Clone the Repository
git clone https://github.com/mostlycloudysky/cloudysetup.git
-
Create a Virtual Environment
python -m venv myenv source myenv/bin/activate # On Windows use `myenv\Scripts\activate`
- Navigate to the
cloudysetup
directorycd cloudysetup
- Install dependancies
pip install -r requirements.txt
- Run the
FastAPI
serveruvicorn main:app --reload
The server will start on http://localhost:8000
.
You could also use the managed FastAPI Service deployed in ECS fronted by Route53.
- Set the
BASE_URL
environment variableexport BASE_URL=https://cloudysetup.cloudysky.link
- Verify the
backend service
is running by accessingcurl $BASE_URL/docs
Also, please find the API Specification for the managed Fast API Service
Alternatively, you could manage your own backend service by deploying the Fast API as per your need. Here is the source for to deploy to ECS Fargate using Terraform.
-
Install dependancies and
cloudysetup-cli
from the root of the projectpip install -e .
-
To generate a resource configuration, use the
generate
commandcloudysetup-cli generate "Create an SNS topic with topic name as cloudysky with an email subscription to [email protected] address"
-
To apply a generated configuration, use the
apply
commandcloudysetup-cli apply /path/to/generated_config.json --monitor
-
cloudysetup-cli
has following commands and can be found using the--help
commandcloudysetup-cli --help
Note: This project is intended for development environment usage only. It should not be used in production environments.
Contributions are welcome! Please open an issue or submit a pull request on GitHub.