This folder contains a complete multi-tenant Forge deployment using Terragrunt for layered configuration management.
Module | Description |
---|---|
forge_runners |
Provisions ephemeral GitHub Actions runners (EC2 and EKS) with tenant isolation, autoscaling, and full lifecycle automation |
Before deploying Forge:
aws configure
) with the correct profile.Copy these templates and place them at the correct paths:
examples/templates/tenant/_global_settings/_global.yaml
examples/templates/tenant/_environment_wide_settings/_environment.yaml
examples/templates/tenant/_vpc_wide_settings/_vpc.yaml
examples/deployments/forge-tenant/terragrunt/_global_settings/_global.yaml
examples/deployments/forge-tenant/terragrunt/environments/<aws_account>/_environment_wide_settings/_environment.yaml
examples/deployments/forge-tenant/terragrunt/environments/<aws_account>/regions/<aws_region>/vpcs/<vpc_alias>/_vpc_wide_settings/_vpc.yaml
Before editing your tenant’s config.yaml
, review and update these supporting configuration files:
_global.yaml
Set global values such as team name, product name, AWS account prefix, GitHub organization, and contact email.
(Path: _global_settings/_global.yaml
)
_environment.yaml
Define environment-wide settings like environment name, AWS region, and account ID.
(Path: environments/<aws_account>/_environment_wide_settings/_environment.yaml
)
_vpc.yaml
Specify VPC-wide settings including VPC alias, VPC ID, subnet IDs, and cluster name.
(Path: environments/<aws_account>/regions/<aws_region>/vpcs/<vpc_alias>/_vpc_wide_settings/_vpc.yaml
)
These files provide the foundational settings used by your tenant and runner modules.
Be sure to replace all placeholder values (<...>
) with your actual environment details.
To provision a new tenant, follow the step-by-step guide:
👉 Deploy a New Tenant
From the environment root directory, deploy all tenants at once:
cd examples/deployments/forge-tenant/terragrunt/environments/prod/
terragrunt run-all plan
terragrunt run-all apply
Or deploy a single tenant individually by navigating to its folder:
cd examples/deployments/forge-tenant/terragrunt/environments/prod/regions/<region>/vpcs/<vpc_alias>/tenants/<tenant_name>/
terragrunt plan
terragrunt apply
Choose the approach that fits your workflow.
For more advanced scenarios or troubleshooting, see the full documentation.