-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.tf
54 lines (45 loc) · 1.91 KB
/
main.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
module "cache" {
source = "./submodules/cache"
host_project = var.host_project
region = var.region
cache_max_age = var.cache_max_age
}
module "manager" {
source = "./submodules/manager"
config = local.full_config
host_project = var.host_project
network_self_link = module.network.self_link
ssh_private_key = tls_private_key.access_key.private_key_pem
vm_type = var.manager_vm_type
zone = var.zone
}
module "network" {
source = "./submodules/network"
allow_cloud_console_ssh = var.allow_cloud_console_ssh
host_project = var.host_project
region = var.region
}
module "runner" {
source = "./submodules/runner"
for_each = { for runner in var.runners : runner.id => runner }
concurrency = each.value.concurrency
default_image = each.value.default_image
disk_size_gb = each.value.disk_size_gb
id = each.value.id
idle_count = each.value.idle_count
name = each.value.name
ssh_connection_timeout = "${try(coalesce(tonumber(each.value.ssh_connection_timeout), 10), 10)}m"
token = each.value.token
enable_integrity_monitoring = each.value.enable_integrity_monitoring
enable_ops_agent = each.value.enable_ops_agent
host_metric_interval = each.value.host_metric_interval
vm_type = each.value.vm_type
allow_cloud_console_ssh = var.allow_cloud_console_ssh
bucket_name = module.cache.bucket_name
gitlab_url = var.gitlab_url
host_project = var.host_project
network_name = module.network.name
network_self_link = module.network.self_link
ssh_public_key = tls_private_key.access_key.public_key_openssh
zone = var.zone
}