{"id":15292395,"url":"https://github.com/happypathway/terraform-ecs-github-runner","last_synced_at":"2026-02-11T14:03:25.088Z","repository":{"id":256434233,"uuid":"855294191","full_name":"HappyPathway/terraform-ecs-github-runner","owner":"HappyPathway","description":"Terraform Module","archived":false,"fork":false,"pushed_at":"2024-11-14T20:50:16.000Z","size":126,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-14T21:33:14.633Z","etag":null,"topics":["module","terraform","terraform-managed"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HappyPathway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-10T16:29:51.000Z","updated_at":"2024-11-14T20:50:20.000Z","dependencies_parsed_at":"2024-10-24T01:38:59.600Z","dependency_job_id":"5c449cd8-88d7-427e-b812-6c967464fd0f","html_url":"https://github.com/HappyPathway/terraform-ecs-github-runner","commit_stats":{"total_commits":103,"total_committers":2,"mean_commits":51.5,"dds":0.4271844660194175,"last_synced_commit":"65b56f86c4497a8c6fd96c66b238a7b5d84c8c27"},"previous_names":["happypathway/terraform-ecs-github-runner"],"tags_count":92,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HappyPathway%2Fterraform-ecs-github-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HappyPathway%2Fterraform-ecs-github-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HappyPathway%2Fterraform-ecs-github-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HappyPathway%2Fterraform-ecs-github-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HappyPathway","download_url":"https://codeload.github.com/HappyPathway/terraform-ecs-github-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227617755,"owners_count":17794459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["module","terraform","terraform-managed"],"created_at":"2024-09-30T16:17:41.910Z","updated_at":"2026-02-11T14:03:20.036Z","avatar_url":"https://github.com/HappyPathway.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Terraform Validation](https://github.com/HappyPathway/terraform-ecs-github-runner/actions/workflows/terraform.yaml/badge.svg)](https://github.com/HappyPathway/terraform-ecs-github-runner/actions/workflows/terraform.yaml)\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 5.66.0 |\n| \u003ca name=\"provider_github\"\u003e\u003c/a\u003e [github](#provider\\_github) | 6.2.3 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | 3.6.3 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_ecs_service.github-runner](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_service) | resource |\n| [aws_ecs_task_definition.runner_task_definition](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition) | resource |\n| [aws_iam_policy.certs_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_iam_policy.secretsmanager_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_iam_role.ecs_task_execution_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role.ecs_task_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy_attachment.ecs_task_role_certs_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_iam_role_policy_attachment.ecs_task_role_secret_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_iam_role_policy_attachment.github_runner_permissions](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_secretsmanager_secret.secret](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |\n| [aws_secretsmanager_secret_version.secret](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource |\n| [github_actions_runner_group.runner_group](https://registry.terraform.io/providers/hashicorp/github/latest/docs/resources/actions_runner_group) | resource |\n| [random_pet.pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n| [aws_ecs_cluster.runner_cluster](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecs_cluster) | data source |\n| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n| [aws_s3_bucket.certs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/s3_bucket) | data source |\n| [aws_s3_object.certs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/s3_object) | data source |\n| [github_actions_organization_registration_token.token](https://registry.terraform.io/providers/hashicorp/github/latest/docs/data-sources/actions_organization_registration_token) | data source |\n| [github_actions_registration_token.token](https://registry.terraform.io/providers/hashicorp/github/latest/docs/data-sources/actions_registration_token) | data source |\n| [github_organization.org](https://registry.terraform.io/providers/hashicorp/github/latest/docs/data-sources/organization) | data source |\n| [github_repository.repo](https://registry.terraform.io/providers/hashicorp/github/latest/docs/data-sources/repository) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_certs\"\u003e\u003c/a\u003e [certs](#input\\_certs) | n/a | \u003cpre\u003eobject({\u003cbr\u003e    bucket = string,\u003cbr\u003e    key    = string\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_cpu\"\u003e\u003c/a\u003e [cpu](#input\\_cpu) | The number of CPU units used by the task | `string` | `2048` | no |\n| \u003ca name=\"input_desired_count\"\u003e\u003c/a\u003e [desired\\_count](#input\\_desired\\_count) | The desired number of tasks for the ECS service | `number` | `3` | no |\n| \u003ca name=\"input_ecs_cluster\"\u003e\u003c/a\u003e [ecs\\_cluster](#input\\_ecs\\_cluster) | The ECS cluster name | `string` | n/a | yes |\n| \u003ca name=\"input_extra_environment_vars\"\u003e\u003c/a\u003e [extra\\_environment\\_vars](#input\\_extra\\_environment\\_vars) | Additional environment variables to inject into the container definition | `map(string)` | `{}` | no |\n| \u003ca name=\"input_github_runner_permissions_arn\"\u003e\u003c/a\u003e [github\\_runner\\_permissions\\_arn](#input\\_github\\_runner\\_permissions\\_arn) | The ARN of the IAM role with permissions for the GitHub runner | `string` | `null` | no |\n| \u003ca name=\"input_hostname\"\u003e\u003c/a\u003e [hostname](#input\\_hostname) | The hostname for the runner | `string` | n/a | yes |\n| \u003ca name=\"input_image\"\u003e\u003c/a\u003e [image](#input\\_image) | The image to use for the runner | `string` | `\"public.ecr.aws/h1g9x7n8/github-runner:1.22.31\"` | no |\n| \u003ca name=\"input_log_group\"\u003e\u003c/a\u003e [log\\_group](#input\\_log\\_group) | The name of the CloudWatch log group | `string` | `null` | no |\n| \u003ca name=\"input_memory\"\u003e\u003c/a\u003e [memory](#input\\_memory) | The amount of memory (in MiB) used by the task | `string` | `4096` | no |\n| \u003ca name=\"input_namespace\"\u003e\u003c/a\u003e [namespace](#input\\_namespace) | The namespace for the runner | `string` | n/a | yes |\n| \u003ca name=\"input_network_configuration\"\u003e\u003c/a\u003e [network\\_configuration](#input\\_network\\_configuration) | The list of security groups for the ECS service | \u003cpre\u003eobject({\u003cbr\u003e    security_groups  = optional(list(string), [])\u003cbr\u003e    subnets          = optional(list(string), [])\u003cbr\u003e    assign_public_ip = optional(bool, false)\u003cbr\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_repo_name\"\u003e\u003c/a\u003e [repo\\_name](#input\\_repo\\_name) | The name of the repository | `string` | `null` | no |\n| \u003ca name=\"input_repo_org\"\u003e\u003c/a\u003e [repo\\_org](#input\\_repo\\_org) | The organization of the repository | `string` | `null` | no |\n| \u003ca name=\"input_runner_group\"\u003e\u003c/a\u003e [runner\\_group](#input\\_runner\\_group) | Configuration for the GitHub runner group, including name, visibility, selected workflows, selected repository IDs, and whether public repositories are allowed. | \u003cpre\u003eobject({\u003cbr\u003e    name                       = optional(string)\u003cbr\u003e    visibility                 = optional(string, \"selected\")\u003cbr\u003e    selected_workflows         = optional(list(string), [])\u003cbr\u003e    restricted_to_workflows    = optional(bool, false)\u003cbr\u003e    selected_repository_ids    = optional(list(string), [])\u003cbr\u003e    allows_public_repositories = optional(bool, false)\u003cbr\u003e    create                     = optional(bool, false)\u003cbr\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_runner_labels\"\u003e\u003c/a\u003e [runner\\_labels](#input\\_runner\\_labels) | The labels for the runner | `list(string)` | n/a | yes |\n| \u003ca name=\"input_server_url\"\u003e\u003c/a\u003e [server\\_url](#input\\_server\\_url) | The URL of the GitHub server | `string` | `\"\"` | no |\n| \u003ca name=\"input_tag\"\u003e\u003c/a\u003e [tag](#input\\_tag) | The tag for the runner | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_runner_group\"\u003e\u003c/a\u003e [runner\\_group](#output\\_runner\\_group) | n/a |\n| \u003ca name=\"output_runner_task_definition\"\u003e\u003c/a\u003e [runner\\_task\\_definition](#output\\_runner\\_task\\_definition) | n/a |\n| \u003ca name=\"output_token\"\u003e\u003c/a\u003e [token](#output\\_token) | n/a |\n| \u003ca name=\"output_url\"\u003e\u003c/a\u003e [url](#output\\_url) | n/a |\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhappypathway%2Fterraform-ecs-github-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhappypathway%2Fterraform-ecs-github-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhappypathway%2Fterraform-ecs-github-runner/lists"}