Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/abhialest/automated-aws
- Owner: AbhiAlest
- License: gpl-3.0
- Created: 2023-06-08T02:03:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-28T20:19:57.000Z (about 1 year ago)
- Last Synced: 2024-06-21T17:50:37.473Z (3 months ago)
- Topics: aws, docker, ec2, elbv2, go, golang, open-source
- Language: Go
- Homepage:
- Size: 105 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
Automated-AWS
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```