ForgeMT is an enterprise-grade GitHub Actions runner platform for AWS. It provides:
- Secure multi-tenancy using IAM/OIDC and network segmentation
- Ephemeral EC2 and Kubernetes runners for cost-efficient scaling
- Full automation for onboarding, GitHub App management, and lifecycle updates
- Built-in observability and governance
ForgeMT allows organizations running thousands of CI/CD pipelines daily to scale without hitting performance, cost, or security limits.
ForgeMT is ideal for organizations that:
- Run 100+ CI/CD jobs daily across multiple teams
- Need stricter security controls than GitHub hosted runners
- Want to reduce runner costs while maintaining performance
- Require custom environments or access to internal AWS resources
- Secure Multi-Tenant Isolation: Strong boundaries without fragmenting infrastructure. Short-lived IAM roles via OIDC replace static secrets.
- Cost Optimization: Spot instances, scale-to-zero, warm pools, and optimized pod sizing.
- Full Automation: Zero-touch operations for onboarding, updates, and configuration.
- Open Source: Fully transparent, adaptable, and vendor-neutral.
Solution | Cost | Security | Maintenance | Custom Env |
---|---|---|---|---|
GitHub Hosted | High volume cost | Standard | None | Limited |
Basic Self-Hosted | EC2 costs | Manual setup | High | Full |
ForgeMT | Optimized | Enterprise | Low | Full |
ForgeMT separates the control plane from the tenant plane:
-
Control Plane: Manages the deployment, provisioning, scaling, and monitoring of all runners. Built with OpenTofu/Terraform, Helm (ARC), and centralized IAM/OIDC, it ensures automated and secure operations across tenants.
-
Tenant Plane: Runs ephemeral CI/CD jobs. Tenants access their AWS resources via short-lived IAM roles using OIDC trust relationships. All runners are automatically deployed by the control plane, and tenants do not manage them directly.
Supported runner types:
- EC2 runners: Full VM control, custom AMIs, per-tenant sandboxes.
- EKS runners (ARC): Containerized workloads in per-tenant namespaces. Uses Calico CNI to optimize IP allocation for large-scale deployments.
Architecture Diagrams:
High-level view of ForgeMT multi-tenant architecture.
Deployment and lifecycle of EC2 runners.
Deployment and lifecycle of EKS (ARC) runners.
Tenant plane showing ephemeral runner usage and IAM/OIDC access.
Type | Use Case | Isolation | Scaling |
---|---|---|---|
EC2 | Full VM control, custom AMIs | Per-tenant sandbox in shared AWS accounts via IAM/OIDC | EC2 ASG + Spot/On-Demand |
EKS (ARC) | Burst workloads in containers | Per-tenant namespace (optionally node-isolated) | Karpenter + ARC |
- Role: Deploy and maintain ForgeMT infrastructure
- Responsibilities: AWS account setup, tenant provisioning, platform updates
- Tools: Terraform/OpenTofu, AWS CLI, kubectl
- Workflow: Deploy control plane β Onboard tenants β Monitor platform
- Role: Use ForgeMT runners for CI/CD pipelines
- Responsibilities: Configure workflows, manage GitHub Apps, consume runners
- Tools: GitHub Actions YAML, GitHub CLI (optional)
- Workflow: Request access β Configure workflows β Run CI/CD jobs
Deploy and manage the ForgeMT infrastructure:
- Deploy Your First Tenant β Minimal setup to bootstrap ForgeMT.
- All Deployment Scenarios β Includes EKS, Splunk, BYO AMIs, and advanced patterns.
Prerequisites: AWS CLI configured, Terraform 1.5+, kubectl
Use ForgeMT runners in your GitHub Actions workflows:
- Tenant Usage Guide β Onboarding, GitHub App setup, and day-2 operations.
Once onboarded by an admin, tenants use ForgeMT runners like this:
# .github/workflows/ci.yml
name: CI Pipeline
on: [push, pull_request]
jobs:
test:
runs-on: forge-ec2-medium # Your ForgeMT runner
permissions:
id-token: write # Required for OIDC
steps:
- uses: actions/checkout@v4
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ vars.AWS_ROLE_ARN }}
aws-region: us-west-2
- name: Run tests with AWS access
run: |
# Your CI/CD commands here
# Full access to AWS resources via OIDC
aws s3 ls
docker build -t myapp .
Key Benefits for Tenants:
- π Secure AWS access without storing secrets
- β‘ Custom instance types (EC2) or fast container startup (EKS)
- π° Cost-efficient with auto-scaling and spot instances
- π οΈ Zero maintenance - admins handle all infrastructure
Feature | Description |
---|---|
Ephemeral Runners | Auto-scaling EC2/EKS runners with zero idle cost |
Tenant Isolation | Secure IAM + OIDC + VPC per tenant/project |
Zero-Touch Operations | Automatic patching, upgrades, drift remediation |
Observability | Logs, metrics, dashboards per tenant |
Cost Optimization | Spot, scale-to-zero, warm pools |
Flexible Infrastructure | BYO AMIs, VPCs, subnets, instance types |
Multi-Runner Support | Mix EC2 and EKS in one deployment |
GitHub Cloud & GHES | Works with SaaS and on-prem GitHub setups |
Contributions are welcome via issues or pull requests. See CONTRIBUTING.md for details.
Built on top of:
Apache 2.0 β see LICENSE
Track progress or open issues on GitHub: https://github.com/cisco-open/forge/issues