First Tenant
July 5, 2026 ยท View on GitHub
Use this as the copy/change/run path for the first Forge tenant.
Copy The Template
Copy:
examples/templates/platform/tenant
Into the platform deployment tree:
examples/deployments/platform/terragrunt/environments/prod/regions/eu-west-1/vpcs/main/tenants/<tenant>
Change These Values
| File | Change |
|---|---|
config.yml | GitHub org/app values, tenant IAM roles, ECR registries, EC2 specs, ARC specs, AMI owner/name, and cluster name. |
runner_settings.hcl | Label generation, runner group naming, module inputs, and include paths when your folder depth differs. |
terragrunt.hcl | Include paths only if your folder depth differs from the example. |
First Plan
cd examples/deployments/platform/terragrunt/environments/prod/regions/eu-west-1/vpcs/main/tenants/<tenant>
terragrunt init
terragrunt plan
First Workflow
Give the tenant a minimal workflow after apply:
---
name: Forge smoke test
on:
workflow_dispatch:
permissions:
contents: read
jobs:
smoke:
runs-on:
- self-hosted
- type:small
- x64
- ec2
- tnt:<tenant>
steps:
- run: echo "Forge runner is online"
If the job stays queued, check GitHub App installation, runner group access, tenant labels, and whether the runner module created the expected scale set or EC2 runner group.
For the full operator workflow, including GitHub App permissions, SSM key setup, ARC notes, and common failures, use Tenant Onboarding.