https://github.com/garysassano/cdktf-aws-codebuild-github-runners
CDKTF app that deploys a GitHub repository in a personal account, along with a repository webhook that triggers self-hosted runners in AWS CodeBuild when workflow jobs are queued
https://github.com/garysassano/cdktf-aws-codebuild-github-runners
aws aws-codebuild cdk-for-terraform cdktf codebuild github-actions github-runners github-webhooks self-hosted-runners terraform-cdk webhooks
Last synced: 9 months ago
JSON representation
CDKTF app that deploys a GitHub repository in a personal account, along with a repository webhook that triggers self-hosted runners in AWS CodeBuild when workflow jobs are queued
- Host: GitHub
- URL: https://github.com/garysassano/cdktf-aws-codebuild-github-runners
- Owner: garysassano
- License: apache-2.0
- Created: 2024-05-23T12:39:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-01T04:17:18.000Z (10 months ago)
- Last Synced: 2025-03-01T05:20:06.926Z (10 months ago)
- Topics: aws, aws-codebuild, cdk-for-terraform, cdktf, codebuild, github-actions, github-runners, github-webhooks, self-hosted-runners, terraform-cdk, webhooks
- Language: TypeScript
- Homepage:
- Size: 139 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cdktf-aws-codebuild-github-runners
CDKTF app that deploys a GitHub repository in a personal account, along with a repository webhook that triggers [self-hosted runners in AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html) when workflow jobs are queued.
### Related Apps
- [cdktf-aws-codebuild-github-runners-organization](https://github.com/garysassano/cdktf-aws-codebuild-github-runners-organization) - Uses a GitHub organization webhook instead of repository webhook.
- [cdk-aws-codebuild-github-runners](https://github.com/garysassano/cdk-aws-codebuild-github-runners) - Built with AWS CDK instead of CDKTF.
## Prerequisites
- **_AWS:_**
- Must have authenticated with [Default Credentials](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration) in your local environment.
- **_GitHub:_**
- Must have set the `GITHUB_TOKEN` variable in your local environment.
- **_Terraform:_**
- Must be [installed](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-terraform) in your system.
- **_Node.js + npm:_**
- Must be [installed](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) in your system.
## Installation
```sh
npx projen install
```
## Deployment
```sh
npx projen deploy
```
## Usage
1. Navigate to `https://github.com//sample-repo/actions/workflows/hello-world.yml`.
2. Click `Run workflow` ➜ `Run workflow`.
3. Your workflow will be enqueued and run on an ephemeral EC2 instance managed by AWS CodeBuild.
## Cleanup
```sh
npx projen destroy
```
## Architecture Diagram
