-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdot-github.tf
78 lines (68 loc) · 2.08 KB
/
dot-github.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
resource "github_repository" "dot-github" {
name = ".github"
description = "Description of the NL Design System organisation on GitHub"
allow_merge_commit = false
allow_rebase_merge = true
allow_squash_merge = true
allow_auto_merge = true
delete_branch_on_merge = true
has_issues = true
has_downloads = false
has_projects = false
has_wiki = false
has_discussions = true
vulnerability_alerts = true
squash_merge_commit_title = "PR_TITLE"
squash_merge_commit_message = "PR_BODY"
}
resource "github_branch_default" "dot-github" {
branch = "main"
repository = github_repository.dot-github.name
}
resource "github_repository_ruleset" "dot-github-main" {
enforcement = "active"
name = "default-branch-protection"
repository = github_repository.dot-github.name
target = "branch"
conditions {
ref_name {
include = ["~DEFAULT_BRANCH"]
exclude = []
}
}
rules {
creation = true
deletion = true
non_fast_forward = true
required_linear_history = true
required_signatures = false
update = false
update_allows_fetch_and_merge = false
pull_request {
dismiss_stale_reviews_on_push = true
require_code_owner_review = true
require_last_push_approval = false
required_approving_review_count = 1
required_review_thread_resolution = true
}
}
}
resource "github_repository_collaborators" "dot-github" {
repository = github_repository.dot-github.name
team {
permission = "admin"
team_id = github_team.kernteam-admin.id
}
team {
permission = "maintain"
team_id = github_team.kernteam-maintainer.id
}
team {
permission = "push"
team_id = github_team.kernteam-committer.id
}
team {
permission = "triage"
team_id = github_team.kernteam-triage.id
}
}