A terraform module to create an organization repository and
configure team access as well as branch protections.
Note: this will only create an organizational repository
Inputs
Name
Description
Type
Default
Required
access_teams
List of maps with the name of the team that can access the repository and its permission (e.g., [{name = test, permission = pull}])
list
<list>
no
description
Description for the repository being created
string
"A Terraform Module"
no
enable_auto_init
Automatically initialize the repository upon creation
bool
"false"
no
enable_issues
Enable the GitHub Issues features on the repository
bool
"false"
no
enable_merge_commits
Whether or not to allow merge commits
bool
"false"
no
enable_projects
Enable the GitHub Projects features on the repository
bool
"false"
no
enable_rebase_merging
Whether or not to allow rebase merging
bool
"false"
no
enable_squash_merging
Whether or not to allow squash merging
bool
"false"
no
enable_strict_checks
Require branches to be up to date before merging.
bool
"false"
no
enforce_admins
Enforces status checks on repository administrators
bool
"false"
no
enforce_code_owner_review
Require an approved review in pull requests including files with a designated code owner
bool
"false"
no
gitignore_template
Gitignore template to include in the repository
string
"null"
no
homepage_url
URL of a page describing the project.
string
"null"
no
license_template
Type of license to include in the repository
string
"apache-2.0"
no
name
The name of the repostory to create
string
"null"
no
protected_branch
The branch to protect
string
"master"
no
required_status_checks
The list of status checks to require in order to merge into this branch.
list(string)
<list>
no
restricted_pr_teams
List of organizational teams who can dismiss a pull request
list(string)
<list>
no
restricted_push_teams
List of organizational teams who can push to the branch
list(string)
<list>
no
topics
List of topics to apply to the repository
list(string)
<list>
no
Outputs
Name
Description
http_git_clone
URL that can be provided to git clone to clone the repository via HTTPS.
repo_name
The repository name in the form of <organization>/<repository>
repo_url
URL to the repository on the web
ssh_git_clone
URL that can be provided to git clone to clone the repository via SSH