This repository contains modules for deploying and managing GitHub repositories.
Name | Version |
---|---|
terraform | >= 0.12.26 |
github | >= 5.12.0 |
Name | Version |
---|---|
github | >= 5.12.0 |
Name | Source | Version |
---|---|---|
admin_teams | team-repository | n/a |
admin_users | repository-collaborator | n/a |
pull_teams | team-repository | n/a |
pull_users | repository-collaborator | n/a |
push_teams | team-repository | n/a |
push_users | repository-collaborator | n/a |
Name | Type |
---|---|
github_branch_default.default | resource |
github_issue_label.labels | resource |
github_repository.repo | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
admin_teams | A set of team IDs allowed to administer this repository. | set(string) |
[] |
no |
admin_users | A set of GitHub users' IDs allowed to admin this repository. | set(string) |
[] |
no |
advanced_security_enabled | Whether or not advanced security features are enabled on the repository. | bool |
true |
no |
allow_merge_commit | Set to false to disable merge commits on the repository. | bool |
true |
no |
allow_rebase_merge | Set to false to disable rebase merges on the repository. |
bool |
true |
no |
allow_squash_merge | Set to false to disable squash merges on the repository. | bool |
true |
no |
allow_update_branch | Set to true to always suggest updating pull request branches. |
bool |
true |
no |
archive_on_destroy | Set to true to archive the repository instead of deleting on destroy. |
bool |
true |
no |
archived | Specifies if the repository should be archived. | bool |
false |
no |
auto_init | Set to true to produce an initial commit in the repository. This is required in order to set the default branch on a new repository, but may be set to false on imported repositories. |
bool |
true |
no |
default_branch | The name of the default branch for the repository. | string |
"main" |
no |
delete_branch_on_merge | Automatically delete head branch after a pull request is merged. | bool |
true |
no |
description | A description of the repository. | string |
n/a | yes |
has_downloads | Set to true to enable the (deprecated) downloads features on the repository. |
bool |
false |
no |
has_issues | Set to true to enable the GitHub Issues features on the repository. |
bool |
false |
no |
has_projects | Set to true to enable the GitHub Projects features on the repository. |
bool |
false |
no |
has_wiki | Set to true to enable the GitHub Wiki features on the repository. |
bool |
false |
no |
homepage_url | URL of a page describing the project. | string |
"" |
no |
ignore_vulnerability_alerts_during_read | Set to true to omit calling the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. |
bool |
true |
no |
is_template | Whether or not this repository is a template repository. | bool |
false |
no |
labels | A set of labels to configure for the repository. | set(object({ |
[] |
no |
merge_commit_message | The default merge commit message. One of PR_BODY , PR_TITLE , or BLANK . |
string |
"PR_TITLE" |
no |
merge_commit_title | The default merge commit title. One of PR_TITLE or MERGE_MESSAGE . |
string |
"PR_TITLE" |
no |
name | The name of the repository. | string |
n/a | yes |
pages_branch | The repository branch used to publish the site's source files. | string |
null |
no |
pages_cname | The custom domain for the repository. This can only be set after the repository has been created. | string |
null |
no |
pages_path | The path from which the site publishes GitHub pages. | string |
null |
no |
pull_users | A set of GitHub users' IDs allowed to read this repository. | set(string) |
[] |
no |
push_users | A set of GitHub users' IDs allowed to write to this repository. | set(string) |
[] |
no |
read_teams | A set of teams allowed to pull this repository. | set(string) |
[] |
no |
secret_scanning_enabled | Whether or not secret scanning is enabled on the repository. | bool |
true |
no |
secret_scanning_push_protection_enabled | Whether or not secret scanning push protection is enabled on the repository. | bool |
true |
no |
squash_merge_commit_message | The default squash merge commit message. One of PR_BODY , COMMIT_MESSAGES , or BLANK . |
string |
"COMMIT_MESSAGES" |
no |
squash_merge_commit_title | The default squash merge commit title. One of PR_TITLE or COMMIT_OR_PR_TITLE . |
string |
"COMMIT_OR_PR_TITLE" |
no |
template_owner | The owner of the template repository. | string |
null |
no |
template_repository | The name of the template repository. | string |
null |
no |
topics | A list of topics for the repository. | set(string) |
[] |
no |
visibility | Determines the visibility of the repository. One of private , public , or internal . Note that internal is only available for GitHub Enterprise tiers. |
string |
"private" |
no |
vulnerability_alerts | Whether or not security alerts for vulnerable dependencies are enabled on the repository. | bool |
true |
no |
write_teams | A set of team IDs allowed to push to this repository. | set(string) |
[] |
no |
Name | Description |
---|---|
full_name | The full name of the repository in the form org-name/repo-name . |
git_clone_url | The URL that can be provided to git clone to clone the repository anonymously via the git protocol. |
http_clone_url | The URL that can be provided to git clone to clone the repository via HTTPS. |
id | The ID of the repository. |
node_id | The Node ID of the repository. |
ssh_clone_url | The URL that can be provided to git clone to clone the repository via SSH. |
svn_url | The URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation. |