This Terraform module provisions an AWS EC2 instance and configures it as a GitLab Runner with Shell executor, allowing it to run CI/CD jobs for your GitLab projects. The module can be used to deploy multiple runners and can be customized to your specific needs.
module "gitlab_shell_runner" {
source = "https://github.com/infraspecdev/terraform-aws-gitlab-shell-runner"
ami_id = "ami-0addfae420fd47aab"
instance_type = "t2.micro"
instance_count = 2
vpc_security_group_ids = ["sg-0b0b0b0b0b0b0b0b0"]
subnet_id = "subnet-0b0e1c4b5b1b1b1b1"
gitlab_url = "https://gitlab.example.com"
runner_registration_token = "runner-registration-token-here"
ssh_public_key = "ssh-public-key-here"
}| Name | Version |
|---|---|
| terraform | ~> 1.3.0 |
| aws | >= 4.49.0 |
| Name | Version |
|---|---|
| aws | 4.51.0 |
No modules.
| Name | Type |
|---|---|
| aws_instance.this | resource |
| aws_key_pair.this | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| additional_tags | Additional tags to apply to the resources | map(string) |
{} |
no |
| ami_id | AMI to use for the instance | string |
"ami-0addfae420fd47aab" |
no |
| gitlab_url | URL of your Gitlab instance | string |
n/a | yes |
| instance_count | Number of instances to provision | number |
n/a | yes |
| instance_type | Type of instance to provision | string |
n/a | yes |
| run_untagged_jobs | Should run untagged jobs or not | bool |
true |
no |
| runner_description | Description for Gitlab Runners | string |
"Shell Runner" |
no |
| runner_locked | Should Lock the runners or not | bool |
false |
no |
| runner_registration_token | Registration token for Gitlab Runners | string |
n/a | yes |
| runner_tags | Tags for Gitlab Runners for filtering | list(string) |
[ |
no |
| ssh_public_key | Existing SSH public key to use for the key pair | string |
null |
no |
| subnet_id | VPC Subnet ID to launch in | string |
n/a | yes |
| vpc_security_group_ids | List of security group IDs to associate | list(string) |
n/a | yes |
No outputs.
Module maintained by Infraspec.