Skip to content

antmelekhin/terraform-github-repository

Repository files navigation

GitHub Module

This module manages GitHub repositories.

Requirements

Name Version
terraform >= 0.13
github >= 6.0

Providers

Name Version
github >= 6.0

Modules

No modules.

Resources

Name Type
github_actions_secret.this resource
github_actions_variable.this resource
github_branch.additional resource
github_branch.default resource
github_branch_default.this resource
github_repository.this resource

Inputs

Name Description Type Default Required
name The name of the repository. string n/a yes
actions_encrypted_secrets Configuring encrypted actions secrets. map(string) {} no
actions_plaintext_secrets Configuring plaintext actions secrets. map(string) {} no
actions_variables Configuring actions variables. map(string) {} no
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 false to disable updating pull request branches. bool true 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
branches The list of a branches of the repository. Branches can only be created on non-empty repositories. list(map(string)) [] no
default_branch The name of the default branch of the repository. Default branch can only be created on non-empty repositories. string null no
default_branch_rename Indicate if it should rename the branch rather than use an existing default branch. 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. For example, 'Haskell'. string null no
has_discussions Set to true to enable the GitHub Discussions features on the repository. bool false no
has_issues Set to false to disable 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 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 null no
ignore_vulnerability_alerts_during_read Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. bool null 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. For example, 'mit' or 'mpl-2.0'. 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
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
topics The list of topics of the repository. set(string) [] no
visibility Visibility of a project. Can be public, private or internal (GHE only). string "public" no
vulnerability_alerts Set to false to disable security alerts for vulnerable dependencies. bool true no
web_commit_signoff_required Require contributors to sign off on web-based commits. bool false no

Outputs

Name Description
default_branch The name of the default branch of the repository.
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.
name The name of 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.