{"id":22669061,"url":"https://github.com/mblomsterberg/terraform-github-repository-module","last_synced_at":"2025-03-29T10:44:12.152Z","repository":{"id":169748276,"uuid":"645318834","full_name":"mBlomsterberg/terraform-github-repository-module","owner":"mBlomsterberg","description":"This is a Terraform module that creates a GitHub Repository based on your preference.","archived":false,"fork":false,"pushed_at":"2024-07-11T11:52:48.000Z","size":375,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T09:33:28.209Z","etag":null,"topics":["github-repository","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mBlomsterberg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-25T11:47:04.000Z","updated_at":"2024-07-11T11:52:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c42eb41-caa2-4508-bba3-b3f1f08c942c","html_url":"https://github.com/mBlomsterberg/terraform-github-repository-module","commit_stats":null,"previous_names":["mblomsterberg/terraform-github-repository-module"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBlomsterberg%2Fterraform-github-repository-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBlomsterberg%2Fterraform-github-repository-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBlomsterberg%2Fterraform-github-repository-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBlomsterberg%2Fterraform-github-repository-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mBlomsterberg","download_url":"https://codeload.github.com/mBlomsterberg/terraform-github-repository-module/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246174468,"owners_count":20735409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-repository","terraform-module"],"created_at":"2024-12-09T15:18:17.870Z","updated_at":"2025-03-29T10:44:12.130Z","avatar_url":"https://github.com/mBlomsterberg.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr /\u003e\n\u003cdiv id=\"readme-top\" align=\"center\"\u003e\n  \u003ca href=\"https://github.com/mBlomsterberg/\"\u003e\n    \u003cpicture\u003e\n      \u003csource srcset=\"logo_inv.png\" media=\"(prefers-color-scheme: dark)\"\u003e\n      \u003cimg src=\"logo.png\" width=\"200\" height=\"200\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eterraform-github-repository-module\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Terraform Module for GitHub Repository creation.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/mBlomsterberg/terraform-github-repository-module/blob/main/examples/\"\u003eModule Examples\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/mBlomsterberg/terraform-github-repository-module/blob/main/documentation/version.md\"\u003eVersioning\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cbr /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Terraform-7B42BC?style=for-the-badge\u0026logo=terraform\u0026logoColor=white\"\u003e \u003cimg src=\"https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\"\u003e \n\u003c/div\u003e\n\n\u003cbr\u003e\n\n# About\n\n\n# Contact \n**Github** [mBlomsterberg](https://github.com/mBlomsterberg) \n\n**Linkedin** [Mikkel Blomsterberg](https://www.linkedin.com/in/mikkel-blomsterberg-663b785a/)\n\n\n# Setup\n\n## Versioning\n\nWe use [Semantic Versioning](http://semver.org/) for versioning.\n\n# Contribution guidelines\nShould your repository be open to an external or onboarding new members you can create guidelines to communicate how people should contribute to your project. [Example](https://github.com/github/docs/blob/main/CONTRIBUTING.md)\n\n# Code of Conduct\n\nThis project has adopted the XXXXXX Code of Conduct. For more information see the Code of Conduct FAQ or contact [mBlomsterberg](https://github.com/mBlomsterberg) with any additional questions or comments.\n\n# License\n\nLicensed under the MIT license.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.3.0 |\n| \u003ca name=\"requirement_github\"\u003e\u003c/a\u003e [github](#requirement\\_github) | \u003e= 5.25.0, \u003c 6.0.0 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_github\"\u003e\u003c/a\u003e [github](#provider\\_github) | \u003e= 5.25.0, \u003c 6.0.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [github_actions_secret.personal_token](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_secret) | resource |\n| [github_branch.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/branch) | resource |\n| [github_branch_default.default](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/branch_default) | resource |\n| [github_issue.example](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/issue) | resource |\n| [github_repository.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository) | resource |\n| [github_repository_autolink_reference.autolink](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_autolink_reference) | resource |\n| [github_repository_collaborators.collaborators](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_collaborators) | resource |\n| [github_repository_environment.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_environment) | resource |\n| [github_repository_file.files](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_file) | resource |\n| [github_team.team_ids](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/team) | data source |\n| [github_user.current](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/user) | data source |\n| [github_user.user_ids](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/user) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_allow_auto_merge\"\u003e\u003c/a\u003e [allow\\_auto\\_merge](#input\\_allow\\_auto\\_merge) | (Optional) Set to true to allow auto-merging pull requests on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_allow_merge_commit\"\u003e\u003c/a\u003e [allow\\_merge\\_commit](#input\\_allow\\_merge\\_commit) | (Optional) Set to false to disable merge commits on the repository. | `bool` | `true` | no |\n| \u003ca name=\"input_allow_rebase_merge\"\u003e\u003c/a\u003e [allow\\_rebase\\_merge](#input\\_allow\\_rebase\\_merge) | (Optional) Set to false to disable rebase merges on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_allow_squash_merge\"\u003e\u003c/a\u003e [allow\\_squash\\_merge](#input\\_allow\\_squash\\_merge) | (Optional) Set to false to disable squash merges on the repository. | `bool` | `true` | no |\n| \u003ca name=\"input_allow_update_branch\"\u003e\u003c/a\u003e [allow\\_update\\_branch](#input\\_allow\\_update\\_branch) | (Optional) Set to true to always suggest updating pull request branches. | `bool` | `false` | no |\n| \u003ca name=\"input_archive_on_destroy\"\u003e\u003c/a\u003e [archive\\_on\\_destroy](#input\\_archive\\_on\\_destroy) | (Optional) Set to true to archive the repository instead of deleting on destroy. | `bool` | `true` | no |\n| \u003ca name=\"input_auto_init\"\u003e\u003c/a\u003e [auto\\_init](#input\\_auto\\_init) | (Optional) Set to true to produce an initial commit in the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_branch_protection\"\u003e\u003c/a\u003e [branch\\_protection](#input\\_branch\\_protection) | (Optional) The repository's default branch protection configuration. | \u003cpre\u003eobject({\u003cbr\u003e        branch = optional(string, null)\u003cbr\u003e        enforce_admins = optional(bool, true)\u003cbr\u003e        required_status_checks = optional(object({\u003cbr\u003e            strict = optional(bool,false)\u003cbr\u003e            checks = optional(list(string), [])\u003cbr\u003e        }))\u003cbr\u003e        required_pull_request_reviews = optional(object({\u003cbr\u003e            dismiss_stale_reviews = optional(bool,true)\u003cbr\u003e            dismissal_users = optional(list(string),[])\u003cbr\u003e            dismissal_teams = optional(list(string),[])\u003cbr\u003e            require_code_owner_reviews =  optional(bool,false)\u003cbr\u003e            required_approving_review_count = optional(number,0)\u003cbr\u003e            bypass_pull_request_allowances = optional(object({\u003cbr\u003e                users = optional(list(string),[\"\"])\u003cbr\u003e                teams = optional(list(string),[\"\"])\u003cbr\u003e                apps  = optional(list(string),[])\u003cbr\u003e            }), null)\u003cbr\u003e        }), {})\u003cbr\u003e    })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_codeowners\"\u003e\u003c/a\u003e [codeowners](#input\\_codeowners) | (Optional) This is the target team or individual user account that manages the code in the repository. | `list(string)` | `null` | no |\n| \u003ca name=\"input_collaborator_teams\"\u003e\u003c/a\u003e [collaborator\\_teams](#input\\_collaborator\\_teams) | (Optional) The list of team names that is added as collaborators to the repository. | \u003cpre\u003elist(object({\u003cbr\u003e        permission = optional(string, \"read\")\u003cbr\u003e        team_id = optional(string, \"\")\u003cbr\u003e    }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_collaborator_users\"\u003e\u003c/a\u003e [collaborator\\_users](#input\\_collaborator\\_users) | (Optional) The list of user names that is added as collaborators to the repository. | \u003cpre\u003elist(object({\u003cbr\u003e        permission = optional(string, \"read\")\u003cbr\u003e        username = optional(string, \"\")\u003cbr\u003e    }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_default_branch\"\u003e\u003c/a\u003e [default\\_branch](#input\\_default\\_branch) | (Optional) Set to true to produce an initial commit in the repository. | `string` | `null` | no |\n| \u003ca name=\"input_delete_branch_on_merge\"\u003e\u003c/a\u003e [delete\\_branch\\_on\\_merge](#input\\_delete\\_branch\\_on\\_merge) | (Optional) Automatically delete head branch after a pull request is merged. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_description\"\u003e\u003c/a\u003e [description](#input\\_description) | (Optional) A description of the repository. | `string` | `\"Terraform created GitHub Repository\"` | no |\n| \u003ca name=\"input_environments\"\u003e\u003c/a\u003e [environments](#input\\_environments) | (Optional) The repository's environment configurations. | \u003cpre\u003elist(object({\u003cbr\u003e        environment = string\u003cbr\u003e        wait_timer = optional(number,0)\u003cbr\u003e        reviewers = optional(object({\u003cbr\u003e            users = optional(list(string),[])\u003cbr\u003e            teams = optional(list(string),[])\u003cbr\u003e        }), null)\u003cbr\u003e        deployment_branch_policy = optional(object({\u003cbr\u003e            protected_branches = optional(bool, false)\u003cbr\u003e            custom_branch_policies = optional(bool,false)\u003cbr\u003e        }),null)\u003cbr\u003e\u003cbr\u003e    }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_github_repository_autolink_reference\"\u003e\u003c/a\u003e [github\\_repository\\_autolink\\_reference](#input\\_github\\_repository\\_autolink\\_reference) | (Optional) This allows you to create an autolink reference. | \u003cpre\u003eobject({\u003cbr\u003e        key_prefix = string\u003cbr\u003e        target_url_template = string\u003cbr\u003e        is_alphanumeric = optional(bool, false)\u003cbr\u003e    })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_gitignore_template\"\u003e\u003c/a\u003e [gitignore\\_template](#input\\_gitignore\\_template) | (Optional) Use the name of the template without the extension. For example, \"Haskell\". | `string` | `null` | no |\n| \u003ca name=\"input_has_discussions\"\u003e\u003c/a\u003e [has\\_discussions](#input\\_has\\_discussions) | (Optional) Set to true to enable GitHub Discussions on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_has_issues\"\u003e\u003c/a\u003e [has\\_issues](#input\\_has\\_issues) | (Optional) Set to true to enable the GitHub Issues features on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_has_projects\"\u003e\u003c/a\u003e [has\\_projects](#input\\_has\\_projects) | (Optional) Set to true to enable the GitHub Projects features on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_has_wiki\"\u003e\u003c/a\u003e [has\\_wiki](#input\\_has\\_wiki) | (Optional) Set to true to enable the GitHub Wiki features on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_homepage_url\"\u003e\u003c/a\u003e [homepage\\_url](#input\\_homepage\\_url) | (Optional) URL of a page describing the project. | `string` | `\"\"` | no |\n| \u003ca name=\"input_ignore_vulnerability_alerts_during_read\"\u003e\u003c/a\u003e [ignore\\_vulnerability\\_alerts\\_during\\_read](#input\\_ignore\\_vulnerability\\_alerts\\_during\\_read) | (Optional) Set to true to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. | `bool` | `false` | no |\n| \u003ca name=\"input_is_template\"\u003e\u003c/a\u003e [is\\_template](#input\\_is\\_template) | (Optional) Set to true to tell GitHub that this is a template repository. | `bool` | `false` | no |\n| \u003ca name=\"input_license_template\"\u003e\u003c/a\u003e [license\\_template](#input\\_license\\_template) | (Optional) Use the name of the template without the extension. Default is \"mit\". | `string` | `\"mit\"` | no |\n| \u003ca name=\"input_merge_commit_message\"\u003e\u003c/a\u003e [merge\\_commit\\_message](#input\\_merge\\_commit\\_message) | (Optional) Can be PR\\_BODY, PR\\_TITLE, or BLANK for a default merge commit message. | `string` | `\"BLANK\"` | no |\n| \u003ca name=\"input_merge_commit_title\"\u003e\u003c/a\u003e [merge\\_commit\\_title](#input\\_merge\\_commit\\_title) | (Optional) Can be PR\\_TITLE or MERGE\\_MESSAGE for a default merge commit title. | `string` | `\"PR_TITLE\"` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | (Required) The name of the repository. | `string` | n/a | yes |\n| \u003ca name=\"input_owner\"\u003e\u003c/a\u003e [owner](#input\\_owner) | (Optional) This is the target GitHub organization or individual user account to manage. | `string` | `null` | no |\n| \u003ca name=\"input_pages\"\u003e\u003c/a\u003e [pages](#input\\_pages) | (Optional) The repository's GitHub Pages configuration. | \u003cpre\u003eobject({\u003cbr\u003e      branch = string\u003cbr\u003e      path   = optional(string, \"/\")\u003cbr\u003e      cname  = optional(string, \"\")\u003cbr\u003e    })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_repository_branches\"\u003e\u003c/a\u003e [repository\\_branches](#input\\_repository\\_branches) | (Optional) The list of branche names to create in the repository. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_security_and_analysis\"\u003e\u003c/a\u003e [security\\_and\\_analysis](#input\\_security\\_and\\_analysis) | (Optional) The repository's security and analysis configuration. | \u003cpre\u003eobject({\u003cbr\u003e      advanced_security = optional(string, \"disabled\")\u003cbr\u003e      secret_scanning   = optional(string, \"disabled\")\u003cbr\u003e      secret_scanning_push_protection  = optional(string, \"disabled\")\u003cbr\u003e    })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_squash_merge_commit_message\"\u003e\u003c/a\u003e [squash\\_merge\\_commit\\_message](#input\\_squash\\_merge\\_commit\\_message) | (Optional) Can be PR\\_BODY, COMMIT\\_MESSAGES, or BLANK for a default squash merge commit message. | `string` | `\"BLANK\"` | no |\n| \u003ca name=\"input_squash_merge_commit_title\"\u003e\u003c/a\u003e [squash\\_merge\\_commit\\_title](#input\\_squash\\_merge\\_commit\\_title) | (Optional) Can be PR\\_TITLE or COMMIT\\_OR\\_PR\\_TITLE for a default squash merge commit title. | `string` | `\"PR_TITLE\"` | no |\n| \u003ca name=\"input_template\"\u003e\u003c/a\u003e [template](#input\\_template) | (Optional) Use a template repository to create this resource. | \u003cpre\u003eobject({\u003cbr\u003e        owner      = string\u003cbr\u003e        repository = string\u003cbr\u003e        include_all_branches = optional(bool, false)\u003cbr\u003e    })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_token\"\u003e\u003c/a\u003e [token](#input\\_token) | (Optional) A GitHub OAuth / Personal Access Token. | `string` | `null` | no |\n| \u003ca name=\"input_topics\"\u003e\u003c/a\u003e [topics](#input\\_topics) | (Optional) The list of topics of the repository. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_visibility\"\u003e\u003c/a\u003e [visibility](#input\\_visibility) | (Optional) Can be public or private or internal. | `string` | `\"public\"` | no |\n| \u003ca name=\"input_vulnerability_alerts\"\u003e\u003c/a\u003e [vulnerability\\_alerts](#input\\_vulnerability\\_alerts) | (Optional) Set to true to enable security alerts for vulnerable dependencies. | `bool` | `false` | no |\n\n## Outputs\n\nNo outputs.\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblomsterberg%2Fterraform-github-repository-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmblomsterberg%2Fterraform-github-repository-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblomsterberg%2Fterraform-github-repository-module/lists"}