Skip to content

dhoppeIT/terraform-github-repository

Repository files navigation

terraform-github-repository

Terraform module to manage the following Twingate resources:

  • github_repository

Usage

Copy and paste the following code snippet to your Terraform configuration, specify the required variables and run the command terraform init.

module "github_repository" {
  source  = "gitlab.com/terraform-child-modules-48151/terraform-github-repository/local"
  version = "1.0.0"

  name = "example-repository"
}

Requirements

Name Version
terraform >= 1.0
github ~> 6.6

Providers

Name Version
github ~> 6.6

Modules

No modules.

Resources

Name Type
github_repository.this resource

Inputs

Name Description Type Default Required
allow_auto_merge Set to true to allow auto-merging pull requests on the repository bool false 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 false no
archive_on_destroy Set to true to archive the repository instead of deleting on destroy bool false 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 bool false no
delete_branch_on_merge Automatically delete head branch after a pull request is merged bool false no
description A description of the repository string null no
gitignore_template Use the name of the template without the extension string null no
has_discussions Set to true to enable GitHub Discussions on the repository bool false no
has_issues Set to true to enable the GitHub Issues features on the repository bool true no
has_projects Set to true to enable the GitHub Projects features on the repository bool true no
has_wiki Set to true to enable the GitHub Wiki features on the repository bool true no
homepage_url URL of a page describing the project string null no
ignore_vulnerability_alerts_during_read Set to true to not call the vulnerability alerts endpoint bool false no
is_template Set to true to tell GitHub that this is a template repository bool false no
license_template Use the name of the template without the extension string null no
merge_commit_message Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message string "PR_TITLE" no
merge_commit_title Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title string "MERGE_MESSAGE" no
name The name of the repository string n/a yes
pages The repository's GitHub Pages configuration map(string) {} no
security_and_analysis The repository's security and analysis configuration map(string) {} no
squash_merge_commit_message Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message string "COMMIT_MESSAGES" no
squash_merge_commit_title Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title string "COMMIT_OR_PR_TITLE" no
template Use a template repository to create this resource map(string) {} no
topics The list of topics of the repository list(string) [] no
visibility Can be public or private string "public" no
vulnerability_alerts Set to true to enable security alerts for vulnerable dependencies bool false no
web_commit_signoff_required Require contributors to sign off on web-based commits bool false no

Outputs

Name Description
full_name A string of the form 'orgname/reponame'
git_clone_url URL that can be provided to git clone to clone the repository anonymously via the git protocol
html_url URL to the repository on the web
http_clone_url URL that can be provided to git clone to clone the repository via HTTPS
node_id GraphQL global node id for use with v4 API
pages The block consisting of the repository's GitHub Pages configuration
primary_language The primary language used in the repository
repo_id GitHub ID for the repository
ssh_clone_url URL that can be provided to git clone to clone the repository via SSH
svn_url URL that can be provided to svn checkout to check out the repository via GitHub's Subversion protocol emulation

Authors

Created and maintained by Dennis Hoppe.

License

Apache 2 licensed. See LICENSE for full details.