about summary refs log tree commit diff
path: root/ops/github/repositories.tf
blob: 2465d4379271857ee11790bb55fa35c5b064589e (plain) (blame)
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
locals {
  repositories = yamldecode(file("repositories.yaml"))
}

resource "github_repository" "repos" {
  for_each = local.repositories

  name                   = try(each.value.name, each.key)
  visibility             = each.value.visibility
  archived               = each.value.archived
  description            = try(each.value.description, null)
  has_downloads          = false
  has_issues             = try(each.value.has_issues, true)
  has_projects           = false
  has_wiki               = false
  allow_merge_commit     = false
  allow_squash_merge     = true
  allow_rebase_merge     = true
  vulnerability_alerts   = try(each.value.vulnerability_alerts, false)
  delete_branch_on_merge = try(each.value.vulnerability_alerts, false)
}

resource "github_branch_default" "main" {
  # no need to set the default branch if the repository is already
  # archived.
  # use the name for the repository if set
  for_each = {
    for k, v in local.repositories : try(v.name, k) => v
    if v.archived == false
  }

  repository = each.key
  branch     = try(each.value.default_branch, "main")
}