Terraform Module for managing GitHub Repositories and associated resources.
This module requires Terraform version 0.13.0 or newer.
This module depends on a correctly configured GitHub Provider in your Terraform codebase.
Add the module to your Terraform resources like so:
module "repository" {
source = "devdynamicio/repository/github"
version = "1.0.0"
}Additional usage examples are available in the examples.
| Name | Version |
|---|---|
| terraform | >= 0.13.0 |
| github | >= 4.23.0 |
| Name | Version |
|---|---|
| github | >= 4.23.0 |
No modules.
| Name | Type |
|---|---|
| github_branch_default.this | resource |
| github_repository.this | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| allow_merge_commit | Toggle to enable Merge Commits for the Repository | bool |
true |
no |
| allow_rebase_merge | Toggle to enable Rebase Merges for the Repository | bool |
true |
no |
| allow_squash_merge | Toggle to enable Squash Merges for the Repository | bool |
true |
no |
| archive_on_destroy | Toggle to archive the Repository on destroy | bool |
false |
no |
| archived | Toggle to archive the Repository (see notes in README.md) |
bool |
false |
no |
| auto_init | Toggle to create an initial commit in the Repository | bool |
false |
no |
| default_branch | Name of the Default Branch of the Repository | string |
"main" |
no |
| delete_branch_on_merge | Toggle to automatically delete merged Branches for the Repository | bool |
false |
no |
| description | Description of the Repository | string |
"" |
no |
| gitignore_template | Template to use for initial .gitignore file for the Repository |
string |
"" |
no |
| has_downloads | Toggle to enable (deprecated) GitHub Downloads for the Repository | bool |
false |
no |
| has_issues | Toggle to enable GitHub Issues for the Repository | bool |
true |
no |
| has_projects | Toggle to enable GitHub Projects for the Repository | bool |
false |
no |
| has_wiki | Toggle to enable GitHub Wiki for the Repository | bool |
true |
no |
| homepage_url | URL of a page describing the Repository | string |
"" |
no |
| is_template | Toggle to enable Template use for the Repository | bool |
false |
no |
| license_template | Identifier to use for initial LICENSE file for the Repository |
string |
"" |
no |
| name | Name of the Repository | string |
"" |
no |
| pages | Configuration block for GitHub Pages | map(any) |
{} |
no |
| template | Template Repository to use when creating the Repository | map(string) |
{} |
no |
| topics | List of Topics of the Repository | list(string) |
[] |
no |
| visibility | Toggle to create a Private Repository | string |
"private" |
no |
| vulnerability_alerts | Toggle to enable Vulnerability Alerts for the Repository | bool |
true |
no |
| Name | Description |
|---|---|
| full_name | A string of the form "orgname/reponame" |
| git_clone_url | URL to clone the repository via the git protocol |
| html_url | URL to the repository on the web |
| http_clone_url | URL to clone the repository via HTTPs |
| name | A string of the form "reponame" |
| node_id | Node ID of the Repository |
| repo_id | ID of the Repository |
| ssh_clone_url | URL to the repository to clone via SSH |
| svn_url | URL to check out the repository via GitHub's Subversion protocol emulation |