summaryrefslogtreecommitdiffstats
path: root/tests/syntax-tests/source/Terraform/main.tf
blob: 2ff02b2cf39e4ef6873ab765df81e4025e549ff2 (plain)
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
provider "github" {
  organization = var.github_organization
}

resource "tls_private_key" "deploy_key" {
  algorithm = "RSA"
  rsa_bits  = "4096"
}

resource "null_resource" "private_key_file" {
  triggers = {
    deploy_key = tls_private_key.deploy_key.private_key_pem
  }

  provisioner "file" {
    content     = tls_private_key.deploy_key.private_key_pem
    destination = "~/${var.repo_name}_deploy_key.pem"

    connection {
      type        = "ssh"
      user        = "centos"
      private_key = var.terraform_ssh_key
      host        = var.server_ip
    }
  }

  provisioner "remote-exec" {
    inline = [
      "sudo mv ~/${var.repo_name}_deploy_key.pem /app/ssh_keys/",
      "sudo chmod 0400 /app/ssh_keys/${var.repo_name}_deploy_key.pem",
      "sudo chown app:app /app/ssh_keys/${var.repo_name}_deploy_key.pem",
    ]

    connection {
      type        = "ssh"
      user        = "centos"
      private_key = var.terraform_ssh_key
      host        = var.server_ip
    }
  }
}

resource "github_repository_deploy_key" "repo_deploy_key" {
  title      = "${var.env_name} Deploy Key"
  repository = var.repo_name
  key        = tls_private_key.deploy_key.public_key_openssh
  read_only  = var.read_only
}