Philips Terraform GitHub Runner

Provision and manage self-hosted runners using Terraform. Auto-scales using Lambda functions to spawn ephemeral EC2 instances. No compatible images. No support for spot instances.

Terraform
Scalable
Open Source
Pricing:Free
Self-hosted
Real Virtual Machine
Auto-scaling
Cloud:AWS

Overview

The Philips Terraform GitHub Runner is an open-source solution for provisioning and managing self-hosted GitHub Actions runners on AWS using Terraform.

Strengths

  1. Infrastructure as Code: Utilizes Terraform for declarative infrastructure management.
  2. Auto-scaling: Uses Lambda functions to dynamically spawn EC2 instances.
  3. Open Source: Fully open-source, allowing for customization and community contributions.
  4. Real Virtual Machines: Runs on EC2 instances, providing full VM isolation.
  5. AWS Integration: Leverages various AWS services for cost-effective operation.

Weaknesses

  1. No Compatible Images: Lacks pre-configured, compatible runner images.
  2. No Spot Instance Support: Cannot take advantage of cheaper spot instances.
  3. AWS-only: Limited to AWS cloud infrastructure.
  4. Complexity: Requires Terraform knowledge and careful configuration.

Technical Considerations

  • Requires understanding of Terraform and AWS services.
  • Uses Lambda functions for runner lifecycle management.
  • Needs careful IAM role and permission configuration.
  • May require custom AMI creation for specific workflow needs.
  • Monitoring and logging should be set up separately.

This solution is ideal for organizations already using Terraform and AWS, who want fine-grained control over their runner infrastructure and are comfortable with the associated complexity.

Additional Resources