{"id":25230481,"url":"https://github.com/notablehealth/terraform-github-teams","last_synced_at":"2025-04-05T15:21:48.784Z","repository":{"id":178152756,"uuid":"661136144","full_name":"notablehealth/terraform-github-teams","owner":"notablehealth","description":"Terraform module to manage GitHub teams","archived":false,"fork":false,"pushed_at":"2024-10-31T00:31:13.000Z","size":28,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-11T11:59:17.937Z","etag":null,"topics":["github","github-teams","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/notablehealth/teams/github","language":"HCL","has_issues":true,"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/notablehealth.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-01T22:46:22.000Z","updated_at":"2024-10-31T00:29:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"b6724fb7-bb23-4cd7-858d-c6b3f6be05bf","html_url":"https://github.com/notablehealth/terraform-github-teams","commit_stats":null,"previous_names":["notablehealth/terraform-github-teams"],"tags_count":3,"template":false,"template_full_name":"notablehealth/terraform-google-module-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notablehealth%2Fterraform-github-teams","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notablehealth%2Fterraform-github-teams/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notablehealth%2Fterraform-github-teams/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notablehealth%2Fterraform-github-teams/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notablehealth","download_url":"https://codeload.github.com/notablehealth/terraform-github-teams/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247354656,"owners_count":20925477,"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":["github","github-teams","terraform","terraform-module"],"created_at":"2025-02-11T11:59:19.906Z","updated_at":"2025-04-05T15:21:48.751Z","avatar_url":"https://github.com/notablehealth.png","language":"HCL","readme":"\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n# terraform-github-teams\n\n[![Releases](https://img.shields.io/github/v/release/notablehealth/terraform-github-teams)](https://github.com/notablehealth/terraform-github-teams/releases)\n\n[Terraform Module Registry](https://registry.terraform.io/modules/notablehealth/teams/github)\n\nTerraform module to manage GitHub teams\n\n## Requirements\n\n- GitHub personal access token with admin rights to an organization\n  - Provide token via environment variable\n  \u003e\u003eexport GITHUB\\_TOKEN='TOKEN'\n\n## Features\n\n- Manage GitHub teams\n  - Manage nested teams (currently 4 levels)\n- Manage team members\n\nTerraform doesn't handle dynamic recursion or resource dependencies. To do\nnested teams, the code would either need to be run multiple times or manage\na fixed maximum number of levels. This module manages up to 4 levels of nesting.\nBut could easily be expanded to more.\n\n## Usage\n\nBasic usage of this module is as follows:\n\n```hcl\nmodule \"example\" {\n    source = \"notablehealth/\u003cmodule-name\u003e/github\"\n    # Recommend pinning every module to a specific version\n    # version = \"x.x.x\"\n\n    # Required variables\n    github_owner =\n}\n```\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.5 |\n| \u003ca name=\"requirement_github\"\u003e\u003c/a\u003e [github](#requirement\\_github) | ~\u003e 6.3 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_github\"\u003e\u003c/a\u003e [github](#provider\\_github) | 5.29.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [github_team.teams_level2](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team) | resource |\n| [github_team.teams_level3](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team) | resource |\n| [github_team.teams_level4](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team) | resource |\n| [github_team.teams_root](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team) | resource |\n| [github_team_members.self](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_members) | resource |\n| [github_team_repository.self](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_repository) | resource |\n| [github_team_settings.self](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_settings) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_github_owner\"\u003e\u003c/a\u003e [github\\_owner](#input\\_github\\_owner) | GitHub organization | `string` | n/a | yes |\n| \u003ca name=\"input_teams\"\u003e\u003c/a\u003e [teams](#input\\_teams) | GitHub Team configuration objects | \u003cpre\u003emap(object({\u003cbr\u003e    name        = string\u003cbr\u003e    description = string\u003cbr\u003e    privacy     = optional(string, \"closed\")\u003cbr\u003e    parent_team = optional(string)\u003cbr\u003e    members = optional(list(object({\u003cbr\u003e      full_name = optional(string)\u003cbr\u003e      username  = string\u003cbr\u003e      role      = optional(string, \"member\")\u003cbr\u003e    })))\u003cbr\u003e    repository = optional(object({\u003cbr\u003e      name       = string\u003cbr\u003e      permission = optional(string, \"pull\")\u003cbr\u003e    }))\u003cbr\u003e    review_request_delegation = optional(object({\u003cbr\u003e      algorithm    = optional(string, \"ROUND_ROBIN\")\u003cbr\u003e      member_count = optional(number)\u003cbr\u003e      notify       = optional(bool)\u003cbr\u003e    }))\u003cbr\u003e  }))\u003c/pre\u003e | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_repositories\"\u003e\u003c/a\u003e [repositories](#output\\_repositories) | Team repository permissions |\n| \u003ca name=\"output_teams_level2\"\u003e\u003c/a\u003e [teams\\_level2](#output\\_teams\\_level2) | GitHub level 2 teams |\n| \u003ca name=\"output_teams_level3\"\u003e\u003c/a\u003e [teams\\_level3](#output\\_teams\\_level3) | GitHub level 3 teams |\n| \u003ca name=\"output_teams_level4\"\u003e\u003c/a\u003e [teams\\_level4](#output\\_teams\\_level4) | GitHub level 4 teams |\n| \u003ca name=\"output_teams_root\"\u003e\u003c/a\u003e [teams\\_root](#output\\_teams\\_root) | GitHub root level teams |\n\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotablehealth%2Fterraform-github-teams","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotablehealth%2Fterraform-github-teams","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotablehealth%2Fterraform-github-teams/lists"}