Skip to content

kaefferlein/terraform-google-github-actions-runners

 
 

Repository files navigation

terraform-google-github-actions-runners

awesome-runners

Using these Terraform modules you can quickly deploy Self Hosted Github Runners for jobs in your GitHub Actions workflows

The gh-runner-gke module provisions the resources required to deploy Self Hosted Runners on GCP infrastructure using GKE.

This includes

  • Enabling necessary APIs
  • VPC
  • GKE Cluster
  • Kubernetes Secret

Below are some examples:

This example shows how to deploy Self Hosted Runners on GKE that supports Docker Workflows.

This example shows how to deploy a simple GKE Self Hosted Runner.

More examples of Self Hosted Runners on GKE/Anthos.

The gh-runner-mig-vm module provisions the resources required to deploy Self Hosted Runners on GCP infrastructure using Managed Instance Groups.

This includes

  • Enabling necessary APIs
  • VPC
  • NAT & Cloud Router
  • Service Account for MIG
  • MIG Instance Template
  • MIG Instance Manager
  • FW Rules
  • Secret Manager Secret

Deployment of Managed Instance Groups requires a Google VM image with a startup script that downloads and configures the Runner or a pre-baked image with the runner installed.

Below are some examples:

This example shows how to deploy a MIG Self Hosted Runner with startup scripts.

This example shows how to deploy a MIG Self Hosted Runner with an image pre-baked using Packer.

The gh-runner-mig-container-vm module provisions the resources required to deploy Self Hosted Runners on GCP infrastructure using Managed Instance Groups.

This includes

  • Enabling necessary APIs
  • VPC
  • NAT & Cloud Router
  • MIG Container Instance Template
  • MIG Instance Manager
  • FW Rules

Below are some examples:

This example shows how to deploy a Self Hosted Runner that supports Docker Workflows on MIG Container VMs.

This example shows how to deploy a Self Hosted Runner on MIG Container VMs.

Requirements

These sections describe requirements for using this module.

Software

The following dependencies must be available:

Contributing

Refer to the contribution guidelines for information on contributing to this module.

Releases

No releases published

Packages

No packages published

Languages

  • HCL 75.9%
  • Shell 7.6%
  • Ruby 6.9%
  • Makefile 5.0%
  • Go 4.6%