Manages GitHub repositories and their team grants, the default all-members read grant, repository and environment Actions variables and secrets, and repository environments (reviewers, wait timers, deployment branch policies).
Consumes a name → { id, slug } team map (e.g. from the teams module, a
github_team data source, or literal ids) so it can be used standalone.
| Name | Version |
|---|---|
| terraform | >= 1.9 |
| github | ~> 6.0 |
| Name | Version |
|---|---|
| github | ~> 6.0 |
No modules.
| Name | Type |
|---|---|
| github_actions_environment_secret.internal | resource |
| github_actions_environment_variable.internal | resource |
| github_actions_secret.repo | resource |
| github_actions_variable.repo | resource |
| github_branch_default.internal | resource |
| github_repository.internal | resource |
| github_repository_environment.internal | resource |
| github_repository_environment_deployment_policy.internal | resource |
| github_repository_ruleset.internal | resource |
| github_repository_vulnerability_alerts.internal | resource |
| github_team_repository.everyone | resource |
| github_team_repository.internal | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| all_members_team_id | ID of the all-members team that receives default read access on non-restricted repositories. null disables the default read grant. | string |
null |
no |
| repositories | Repositories to manage and which teams may access them. readers, writersand admins reference team names from var.teams. A team listed at more thanone level gets the highest permission (admin > write > read). Set restricted = true to withhold the default all-members read grant. |
list(object({ |
[] |
no |
| repository_secrets | Per-repository Actions and environment secret values (plaintext), keyed by repository name. Supplied already-decrypted by the caller; this module never performs decryption. |
map(object({ |
{} |
no |
| teams | Map of team name => { id, slug } for teams that may be granted repository access or set as environment reviewers. Supplied by the teams module. | map(object({ |
{} |
no |
| Name | Description |
|---|---|
| repositories | Map of repository name => full github_repository resource attributes. |
| repository_ids | Map of repository name => numeric repo_id. Consumed at the root to scope org-level secrets/variables with 'selected' visibility. |