{"id":13575426,"url":"https://github.com/mineiros-io/terraform-github-team","last_synced_at":"2025-06-12T15:33:05.765Z","repository":{"id":43306771,"uuid":"231949800","full_name":"mineiros-io/terraform-github-team","owner":"mineiros-io","description":"A Terraform module to manage GitHub Teams. https://github.com/","archived":false,"fork":false,"pushed_at":"2024-05-16T11:09:35.000Z","size":220,"stargazers_count":53,"open_issues_count":6,"forks_count":21,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-06T02:15:12.643Z","etag":null,"topics":["github","github-team","iac","mineiros","terraform","terraform-github","terraform-modules"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mineiros-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2020-01-05T17:07:38.000Z","updated_at":"2024-07-29T08:06:45.000Z","dependencies_parsed_at":"2024-11-05T11:38:46.451Z","dependency_job_id":"e03e0e98-51bd-481a-9168-0abaf21e0309","html_url":"https://github.com/mineiros-io/terraform-github-team","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/mineiros-io/terraform-github-team","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mineiros-io%2Fterraform-github-team","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mineiros-io%2Fterraform-github-team/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mineiros-io%2Fterraform-github-team/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mineiros-io%2Fterraform-github-team/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mineiros-io","download_url":"https://codeload.github.com/mineiros-io/terraform-github-team/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mineiros-io%2Fterraform-github-team/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259493577,"owners_count":22866344,"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-team","iac","mineiros","terraform","terraform-github","terraform-modules"],"created_at":"2024-08-01T15:01:00.959Z","updated_at":"2025-06-12T15:33:05.739Z","avatar_url":"https://github.com/mineiros-io.png","language":"HCL","funding_links":[],"categories":["HCL"],"sub_categories":[],"readme":"[\u003cimg src=\"https://raw.githubusercontent.com/mineiros-io/brand/3bffd30e8bdbbde32c143e2650b2faa55f1df3ea/mineiros-primary-logo.svg\" width=\"400\"/\u003e](https://mineiros.io/?ref=terraform-github-team)\n\n[![Build Status](https://github.com/mineiros-io/terraform-github-team/workflows/CI/CD%20Pipeline/badge.svg)](https://github.com/mineiros-io/terraform-github-team/actions)\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/mineiros-io/terraform-github-team.svg?label=latest\u0026sort=semver)](https://github.com/mineiros-io/terraform-github-team/releases)\n[![Terraform Version](https://img.shields.io/badge/terraform-1.x-623CE4.svg?logo=terraform)](https://github.com/hashicorp/terraform/releases)\n[![Github Provider Version](https://img.shields.io/badge/GH-4.x-F8991D.svg?logo=terraform)](https://github.com/terraform-providers/terraform-provider-github/releases)\n[![Join Slack](https://img.shields.io/badge/slack-@mineiros--community-f32752.svg?logo=slack)](https://mineiros.io/slack)\n\n# terraform-github-team\n\nA [Terraform] module that offers a more convenient and tested way to provision and manage [GitHub teams].\n\n**_This module supports Terraform v1.x and is compatible with the Official Terraform GitHub Provider v4.x from `integrations/github`._**\n\n**Attention: This module is incompatible with the Hashicorp GitHub Provider! The latest version of this module supporting `hashicorp/github` provider is `~\u003e 0.6.0`**\n\n\n- [Module Features](#module-features)\n- [Getting Started](#getting-started)\n- [Module Argument Reference](#module-argument-reference)\n  - [Main Resource Configuration](#main-resource-configuration)\n  - [Extended Resource Configuration](#extended-resource-configuration)\n    - [Team membership](#team-membership)\n    - [Team repository access](#team-repository-access)\n  - [Module Configuration](#module-configuration)\n- [Module Outputs](#module-outputs)\n- [External Documentation](#external-documentation)\n  - [GitHub Provider Documentation](#github-provider-documentation)\n- [Module Versioning](#module-versioning)\n  - [Backwards compatibility in `0.0.z` and `0.y.z` version](#backwards-compatibility-in-00z-and-0yz-version)\n- [About Mineiros](#about-mineiros)\n- [GitHub as Code](#github-as-code)\n- [Reporting Issues](#reporting-issues)\n- [Contributing](#contributing)\n- [Makefile Targets](#makefile-targets)\n- [License](#license)\n\n## Module Features\n\nThis module supports the following resources:\n\n- Team\n- Nested Team\n- Memberships\n- Team Repositories\n\n## Getting Started\n\n```hcl\nmodule \"team\" {\n  source  = \"mineiros-io/team/github\"\n  version = \"~\u003e 0.8.0\"\n\n  name        = \"DevOps\"\n  description = \"The DevOps Team\"\n  privacy     = \"secret\"\n\n  members = [\n    \"a-user\",\n    \"b-user\"\n  ]\n\n  maintainers = [\n    \"a-maintainer\"\n  ]\n\n  push_repositories = [\n    github_repository.repository.name,\n  ]\n}\n\nresource \"github_repository\" \"repository\" {\n  name   = \"a-repository\"\n}\n\nprovider \"github\" {}\n\nterraform {\n  required_version = \"~\u003e 1.0\"\n\n  required_providers {\n    github = {\n      source  = \"integrations/github\"\n      version = \"~\u003e 4.0\"\n    }\n  }\n}\n```\n\n## Module Argument Reference\n\nSee [variables.tf] and [examples/] for details and use-cases.\n\n### Main Resource Configuration\n\n- [**`name`**](#var-name): *(**Required** `string`)*\u003ca name=\"var-name\"\u003e\u003c/a\u003e\n\n  The name of the team.\n\n- [**`description`**](#var-description): *(Optional `string`)*\u003ca name=\"var-description\"\u003e\u003c/a\u003e\n\n  A description of the team.\n\n  Default is `\"\"`.\n\n- [**`privacy`**](#var-privacy): *(Optional `string`)*\u003ca name=\"var-privacy\"\u003e\u003c/a\u003e\n\n  The level of privacy for the team. Must be one of `secret` or `closed`.\n\n  Default is `\"secret\"`.\n\n- [**`parent_team_id`**](#var-parent_team_id): *(Optional `number`)*\u003ca name=\"var-parent_team_id\"\u003e\u003c/a\u003e\n\n  The ID of the parent team, if this is a nested team.\n\n  Default is to create a root team without a parent.\n\n- [**`ldap_dn`**](#var-ldap_dn): *(Optional `string`)*\u003ca name=\"var-ldap_dn\"\u003e\u003c/a\u003e\n\n  The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.\n\n- [**`create_default_maintainer`**](#var-create_default_maintainer): *(Optional `bool`)*\u003ca name=\"var-create_default_maintainer\"\u003e\u003c/a\u003e\n\n  Adds the creating user to the team when set to `true`.\"\n\n  Default is `false`.\n\n### Extended Resource Configuration\n\n#### Team membership\n\n- [**`maintainers`**](#var-maintainers): *(Optional `set(string)`)*\u003ca name=\"var-maintainers\"\u003e\u003c/a\u003e\n\n  A list of users that will be added to the current team with maintainer permissions.\n\n  Default is `[]`.\n\n- [**`members`**](#var-members): *(Optional `set(string)`)*\u003ca name=\"var-members\"\u003e\u003c/a\u003e\n\n  A list of users that will be added to the current team with member permissions.\n\n  Default is `[]`.\n\n#### Team repository access\n\n- [**`admin_repositories`**](#var-admin_repositories): *(Optional `set(string)`)*\u003ca name=\"var-admin_repositories\"\u003e\u003c/a\u003e\n\n  A list of repository names the current team should get [admin](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations) permission to.\n\n  Default is `[]`.\n\n- [**`maintain_repositories`**](#var-maintain_repositories): *(Optional `set(string)`)*\u003ca name=\"var-maintain_repositories\"\u003e\u003c/a\u003e\n\n  A list of repository names the current team should get [maintain](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations) permission to.\n\n  Default is `[]`.\n\n- [**`push_repositories`**](#var-push_repositories): *(Optional `set(string)`)*\u003ca name=\"var-push_repositories\"\u003e\u003c/a\u003e\n\n  A list of repository names the current team should get [push (read-write)](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations) permission to.\n\n  Default is `[]`.\n\n- [**`triage_repositories`**](#var-triage_repositories): *(Optional `set(string)`)*\u003ca name=\"var-triage_repositories\"\u003e\u003c/a\u003e\n\n  A list of repository names the current team should get [push (triage)](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations) permission to.\n\n  Default is `[]`.\n\n- [**`pull_repositories`**](#var-pull_repositories): *(Optional `set(string)`)*\u003ca name=\"var-pull_repositories\"\u003e\u003c/a\u003e\n\n  A list of repository names the current team should get [pull (read-only)](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#repository-roles-for-organizations) permission to.\n\n  Default is `[]`.\n\n### Module Configuration\n\n- [**`module_depends_on`**](#var-module_depends_on): *(Optional `list(object)`)*\u003ca name=\"var-module_depends_on\"\u003e\u003c/a\u003e\n\n  A list of dependencies. Any object can be _assigned_ to this list to define a hidden external dependency.\n\n  Default is `[]`.\n\n- [**`module_enabled`**](#var-module_enabled): *(Optional `bool`)*\u003ca name=\"var-module_enabled\"\u003e\u003c/a\u003e\n\n  Specifies whether resources in the module will be created.\n\n  Default is `true`.\n\n## Module Outputs\n\nThe following attributes are exported in the outputs of the module:\n\n- [**`id`**](#output-id): *(`string`)*\u003ca name=\"output-id\"\u003e\u003c/a\u003e\n\n  The ID of the team.\n\n- [**`name`**](#output-name): *(`string`)*\u003ca name=\"output-name\"\u003e\u003c/a\u003e\n\n  The name of the team.\n\n- [**`slug`**](#output-slug): *(`string`)*\u003ca name=\"output-slug\"\u003e\u003c/a\u003e\n\n  The Slug of the team.\n\n- [**`team`**](#output-team): *(`object(team)`)*\u003ca name=\"output-team\"\u003e\u003c/a\u003e\n\n  The full team object.\n\n- [**`team_memberships`**](#output-team_memberships): *(`list(team_membership)`)*\u003ca name=\"output-team_memberships\"\u003e\u003c/a\u003e\n\n  A list of all team memberships.\n\n- [**`team_repositories`**](#output-team_repositories): *(`list(team_repository)`)*\u003ca name=\"output-team_repositories\"\u003e\u003c/a\u003e\n\n  A list of all team repositories.\n\n## External Documentation\n\n### GitHub Provider Documentation\n\n- https://registry.terraform.io/providers/integrations/github/latest/docs\n\n## Module Versioning\n\nThis Module follows the principles of [Semantic Versioning (SemVer)].\n\nGiven a version number `MAJOR.MINOR.PATCH`, we increment the:\n\n1. `MAJOR` version when we make incompatible changes,\n2. `MINOR` version when we add functionality in a backwards compatible manner, and\n3. `PATCH` version when we make backwards compatible bug fixes.\n\n### Backwards compatibility in `0.0.z` and `0.y.z` version\n\n- Backwards compatibility in versions `0.0.z` is **not guaranteed** when `z` is increased. (Initial development)\n- Backwards compatibility in versions `0.y.z` is **not guaranteed** when `y` is increased. (Pre-release)\n\n## About Mineiros\n\n[Mineiros][homepage] is a remote-first company headquartered in Berlin, Germany\nthat solves development, automation and security challenges in cloud infrastructure.\n\nOur vision is to massively reduce time and overhead for teams to manage and\ndeploy production-grade and secure cloud infrastructure.\n\nWe offer commercial support for all of our modules and encourage you to reach out\nif you have any questions or need help. Feel free to email us at [hello@mineiros.io] or join our\n[Community Slack channel][slack].\n\n## GitHub as Code\n\n[GitHub as Code][github-as-code] is a commercial solution built on top of\nour open-source Terraform modules for GitHub. It helps our customers to\nmanage their GitHub organization more efficiently by enabling anyone in\ntheir organization to self-service manage on- and offboarding of users,\nrepositories, and settings such as branch protections, secrets, and more\nthrough code.\n\nFor details please see [https://www.mineiros.io/github-as-code][github-as-code].\n\n## Reporting Issues\n\nWe use GitHub [Issues] to track community reported issues and missing features.\n\n## Contributing\n\nContributions are always encouraged and welcome! For the process of accepting changes, we use\n[Pull Requests]. If you'd like more information, please see our [Contribution Guidelines].\n\n## Makefile Targets\n\nThis repository comes with a handy [Makefile].\nRun `make help` to see details on each available target.\n\n## License\n\n[![license][badge-license]][apache20]\n\nThis module is licensed under the Apache License Version 2.0, January 2004.\nPlease see [LICENSE] for full details.\n\nCopyright \u0026copy; 2020-2022 [Mineiros GmbH][homepage]\n\n\n\u003c!-- References --\u003e\n\n[homepage]: https://mineiros.io/?ref=terraform-github-team\n[github-as-code]: https://mineiros.io/github-as-code?ref=terraform-github-team\n[hello@mineiros.io]: mailto:hello@mineiros.io\n[badge-build]: https://github.com/mineiros-io/terraform-github-team/workflows/CI/CD%20Pipeline/badge.svg\n[badge-semver]: https://img.shields.io/github/v/tag/mineiros-io/terraform-github-team.svg?label=latest\u0026sort=semver\n[badge-license]: https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg\n[badge-terraform]: https://img.shields.io/badge/terraform-1.x-623CE4.svg?logo=terraform\n[badge-slack]: https://img.shields.io/badge/slack-@mineiros--community-f32752.svg?logo=slack\n[build-status]: https://github.com/mineiros-io/terraform-github-team/actions\n[releases-github]: https://github.com/mineiros-io/terraform-github-team/releases\n[releases-terraform]: https://github.com/hashicorp/terraform/releases\n[badge-tf-gh]: https://img.shields.io/badge/GH-4.x-F8991D.svg?logo=terraform\n[releases-github-provider]: https://github.com/terraform-providers/terraform-provider-github/releases\n[apache20]: https://opensource.org/licenses/Apache-2.0\n[slack]: https://join.slack.com/t/mineiros-community/shared_invite/zt-ehidestg-aLGoIENLVs6tvwJ11w9WGg\n[terraform]: https://www.terraform.io\n[aws]: https://aws.amazon.com/\n[semantic versioning (semver)]: https://semver.org/\n[variables.tf]: https://github.com/mineiros-io/terraform-github-team/blob/main/variables.tf\n[examples/]: https://github.com/mineiros-io/terraform-github-team/tree/main/examples\n[issues]: https://github.com/mineiros-io/terraform-github-team/issues\n[license]: https://github.com/mineiros-io/terraform-github-team/blob/main/LICENSE\n[makefile]: https://github.com/mineiros-io/terraform-github-team/blob/main/Makefile\n[pull requests]: https://github.com/mineiros-io/terraform-github-team/pulls\n[contribution guidelines]: https://github.com/mineiros-io/terraform-github-team/blob/main/CONTRIBUTING.md\n[github teams]: https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/organizing-members-into-teams\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmineiros-io%2Fterraform-github-team","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmineiros-io%2Fterraform-github-team","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmineiros-io%2Fterraform-github-team/lists"}