Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abhialest/automated-aws

Command-line interface that automates provisioning and management of AWS resources.
https://github.com/abhialest/automated-aws

aws docker ec2 elbv2 go golang open-source

Last synced: 3 days ago
JSON representation

Command-line interface that automates provisioning and management of AWS resources.

Awesome Lists containing this project

README

        

Automated-AWS




License
Issues
Pull Requests
Watchers
Stars


Automated-AWS is an open-source [Go](https://go.dev/) package that automates provisioning/management of AWS resources (ec2, elbv2, and autoscaling). [Cobra](https://pkg.go.dev/github.com/spf13/cobra) is used for the CLI.


Setting Up The Development Environment


To set up the development environment for the project, follow the steps below:

Prerequisites


Make sure you have the following prerequisites installed on your system:

* Go (version 1.16 or later)
* Cobra

```bash
go get -u github.com/spf13/cobra

```
* Docker (optional, if you want to run the application in a container)
* AWS CLI (to interact with AWS services)

Clone the Repository


Clone the project repository from the GitHub repository:

```bash
git clone https://github.com/AbhiAlest/Automated-AWS.git
```

Install Dependencies

Change to the project directory:

```bash
cd Automated-AWS
```

Install the Go dependencies:

```go
go mod download
```

Configure AWS Credentials (if applicable)


If your code interacts with AWS services and you want to run it locally, configure the AWS CLI with your credentials:

```
aws configure
```

Build and Run


To build and run the project, use the following command:

```go
go run main.go
```
If you want to run the application in a Docker container, build the Docker image first:

```bash
docker build -t myapp .
```

Then, run the Docker container:
```bash
docker run -p 8080:8080 myapp
```

Running Tests


To run the tests, use the following command:

```bash
go test ./...
```

Running via Command Line Interface (CLI)


Use the command line for desired actions. Here are a few examples to get started:

```bash
# Create VPC
go run main.go -create-vpc

# Create S3 bucket
go run main.go -create-s3-bucket

# Launch 2 EC2 instances
go run main.go -launch-ec2-instances=2

# Create ALB
go run main.go -create-alb
```

Development Workflow

1. Make the necessary code changes in the project files.
2. Run the application or tests to verify your changes.
3. Commit the changes to your local Git repository.
4. Push the changes to the remote Git repository (if applicable).

Additional Configuration


Additional configuration for this project may apply. If you need to configure any project-specific settings, refer to the config package or the relevant configuration files in the project. Please note that the above instructions are a general guideline and may need to be adjusted based on your specific project requirements.




That's it! You now have your development environment set up for the project. Happy coding!


File Structure



Rough overview of the file structure for this project (changes may have occurred).
```
Automated-AWS
├── .github
│ └── CODEOWNERS
│ └── CONTRIBUTING.md
├── cmd
│ └── main.go
├── config
│ └── aws.go
│ └── config.yaml
├── mocks
| ├── elbv2_mock.go
├── pkg
│ ├── autoscaling
│ │ └── autoscaling.go
│ ├── ec2
│ │ └── ec2.go
│ └── elbv2
│ └── elbv2.go
├── test
│ ├── autoscaling
│ │ └── autoscaling_test.go
│ ├── ec2
│ │ └── ec2_test.go
│ └── elbv2
│ └── elbv2_test.go
├── Dockerfile
├── README.md
└── LICENSE

```