Add OpenTofu module for GitHub repo guard-rails

Manages branch protection ruleset and deployment environments for this
repository. Mirrored to JMR-dev/gh-repo-bootstrap as a reusable module
+ gh CLI extension.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Jason Ross
2026-04-29 18:30:45 -05:00
co-authored by Copilot
parent 4abb613f35
commit 037edd905a
9 changed files with 218 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
data "github_repository" "this" {
name = var.repo_name
}
resource "github_repository_ruleset" "default_branch" {
repository = data.github_repository.this.name
name = var.ruleset_name
target = "branch"
enforcement = "active"
conditions {
ref_name {
include = ["refs/heads/${var.default_branch}"]
exclude = []
}
}
rules {
deletion = true
non_fast_forward = true
required_signatures = var.require_signed_commits
pull_request {
required_approving_review_count = var.required_reviews
dismiss_stale_reviews_on_push = true
require_code_owner_review = false
require_last_push_approval = false
required_review_thread_resolution = true
}
}
}
resource "github_repository_environment" "envs" {
for_each = toset(var.environments)
repository = data.github_repository.this.name
environment = each.value
}