This repository contains an AWS CloudFormation template for deploying The Boring Paper Company's infrastructure. The template provisions resources such as serverless functions, a VPC network, and an ECS cluster for your application. Follow the instructions below to deploy this template.
This Cloud Application is inherently misconfigured and vulnerable to attack and privilege escalation.
- Fork this repository.
- Launch Stack using the Launch Stack button below. This will create 5 AWS ECR Image repositories, an OIDC provider for GH, and an IAM Role.
- Wait for the stack to complete before proceeding.
- Once complete, click the outputs tab and copy down the two output values.
Stack Parameters Needed:
- GitHubOrg: Name of GitHub organization/user (case sensitive)
- OIDCAudience: Audience supplied to configure-aws-credentials. Just leave the default.
- OIDCProviderArn: Arn for the GitHub OIDC Provider. Just Ignore, leave it blank.
- RepositoryName: Name of GitHub repository (case sensitive)
- RepositoryNames: Comma-separated list of repository names. Just leave the deafult.
- With this repo forked, click the Settings tab > Secrets and variables > Actions.
- Create the following secrets.
- AWS_GH_ROLE_ARN - Check the Cloudformation OutPuts for the IAM Role ARN for GH to assume.
- V1_API_KEY - How to Generate Vision One API Key
- C1_API_KEY - How to Generate Cloud One API Key
- ECR - Check the Cloudformation OutPuts for the ECR Value. Example "1234567890.dkr.ecr.us-east-1.amazonaws.com"
- IP_ADDRESS - Add your own IP. It needs to be in CIDR format. Example: [1.2.3.4/32].
- LAUNCH_TYPE - ECS Launch Type. Either 'FARGATE' or 'EC2'.
- Click the Actions tab.
- On the left menu, click CI/CD Pipeline.
- On the Right, click Run Workflow > Run Workflow.
How To Run Locally
This is a guide on how to build and run the frontend and backend services of my web application using Docker Compose.
Before you begin, ensure you have met the following requirements:
-
Clone this repository to your local machine:
git clone https://github.com/JustinDPerkins/AirGoatMan.git cd AirGoatMan
-
Return to the project root directory:
cd deployment
-
Run the application using Docker Compose:
docker-compose up --build
This command will start both the frontend and backend services and connect them to a shared network.
-
Access the web application in your web browser:
- Frontend: http://localhost:8080
- Backend: Your backend API is now accessible via its respective endpoints.
To stop the running containers and remove the associated resources, use the following command:
docker-compose down
Felipe Costa ๐ป |
Yan Pinheiro ๐ป |
Jacob Lake ๐ป |
Justin Perkins ๐ป |
This project follows the all-contributors specification. Contributions of any kind welcome!
Thanks also to these wonderful people (emoji key):