provider "aws" {
  region = var.aws_region
}

provider "github" {
  owner = "theorchard"
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/github/looker-client-orchard-analytics/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

module "github_repositories" {
  source = "git@github.com:theorchard/terraform-github.git//?ref=2.1.8"

  github_repository_names = {
    looker-client-orchard-analytics = {
      branch_protection_enabled        = true
      branch_protection_enforce_admins = false
      repo_auto_init                   = true
      archived_repository              = false
      github_code_owner_reviews        = false
      visibility                       = "private"
      description                      = "Looker Client Orchard Analytics project repository."
      has_downloads                    = false,
      homepage_url                     = "https://github.com/theorchard/looker-client-orchard-analytics"
    }
  }

  allow_merge_commit = true
  allow_rebase_merge = false
  allow_squash_merge = false

  github_push_teams = [
    "data-analytics-eng",
    "mergers",
  ]
}

resource "github_repository_webhook" "looker" {
  depends_on = [module.github_repositories]

  repository = "looker-client-orchard-analytics"
  active     = true

  configuration {
    url          = "https://theorchardoem.looker.com/webhooks/projects/orchard_analytics/deploy"
    content_type = "form"
    insecure_ssl = false
  }

  events = ["push"]
}

resource "github_repository_deploy_key" "deploy_key" {
  depends_on = [module.github_repositories]

  title      = "looker"
  repository = "looker-client-orchard-analytics"
  key        = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCS8m35xrm5rqES7ZDNKxexfdRzMUhsL3iApYyqoG+vDsqJ1fLqjRSpn995niBbFsKxBHz4bEmfPfdKWCNNJcMUgmGx7flxU8EosZIQH6Dp3cbUl3wSio6rTUNkHoJJFCm/DH6Y3cboaZMzshx/uqzaLJnnUUfjER8agKgV5yfJx8opA8PWf5AKMXkPE11XzXkmUh4u+RrNACsE+ugmH+twZYVMUFLQrrhok7O9UTmeetOhnM9dc9OOBdJEeHdkkL/5yxYvyE0ruUjxhvdoMmbPCfyN4tqxlPd2M/TM4G/9ShUN3f935yeKLxxdp5DMPALhZuOdvRlTN/lWEdiODC1v Looker deploy_keys/orchard_analytics"
  read_only  = "false"
  lifecycle {
    ignore_changes = [key]
  }
}
