-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdns.tf
95 lines (79 loc) · 3.23 KB
/
dns.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Private DNS zone and records.
locals {
ttl = 3600
}
resource "google_dns_managed_zone" "private-dns" {
name = "serverpod-${var.runmode}-private"
dns_name = "private-${var.runmode}.${var.top_domain}."
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.serverpod.id
}
}
}
resource "google_dns_record_set" "database-private" {
name = "database.private-${var.runmode}.${var.top_domain}."
managed_zone = "serverpod-${var.runmode}-private"
type = "A"
ttl = local.ttl
rrdatas = [google_sql_database_instance.serverpod.private_ip_address]
}
resource "google_dns_record_set" "redis-private" {
count = var.enable_redis ? 1 : 0
name = "redis.private-${var.runmode}.${var.top_domain}."
managed_zone = "serverpod-${var.runmode}-private"
type = "A"
ttl = local.ttl
rrdatas = [google_redis_instance.serverpod[0].host]
}
# Public DNS zone and records.
resource "google_dns_managed_zone" "public-dns" {
count = var.dns_managed_zone == "" ? 1 : 0
name = "serverpod-${var.runmode}-public"
dns_name = "${var.top_domain}."
}
resource "google_dns_record_set" "api" {
name = "${var.subdomain_prefix}api.${var.top_domain}."
managed_zone = var.dns_managed_zone == "" ? "serverpod-${var.runmode}-public" : var.dns_managed_zone
type = "A"
ttl = local.ttl
rrdatas = [google_compute_global_forwarding_rule.api.ip_address]
}
resource "google_dns_record_set" "insights" {
name = "${var.subdomain_prefix}insights.${var.top_domain}."
managed_zone = var.dns_managed_zone == "" ? "serverpod-${var.runmode}-public" : var.dns_managed_zone
type = "A"
ttl = local.ttl
rrdatas = [google_compute_global_forwarding_rule.insights.ip_address]
}
resource "google_dns_record_set" "web" {
name = "${var.subdomain_prefix}${var.subdomain_web}.${var.top_domain}."
managed_zone = var.dns_managed_zone == "" ? "serverpod-${var.runmode}-public" : var.dns_managed_zone
type = "A"
ttl = local.ttl
rrdatas = [google_compute_global_forwarding_rule.web.ip_address]
}
resource "google_dns_record_set" "web-top-domain" {
count = var.use_top_domain_for_web ? 1 : 0
name = "${var.top_domain}."
managed_zone = var.dns_managed_zone == "" ? "serverpod-${var.runmode}-public" : var.dns_managed_zone
type = "A"
ttl = local.ttl
rrdatas = [google_compute_global_forwarding_rule.web.ip_address]
}
resource "google_dns_record_set" "storage" {
count = var.enable_storage ? 1 : 0
name = "${var.subdomain_prefix}storage.${var.top_domain}."
managed_zone = var.dns_managed_zone == "" ? "serverpod-${var.runmode}-public" : var.dns_managed_zone
type = "A"
ttl = local.ttl
rrdatas = [google_compute_global_forwarding_rule.storage[0].ip_address]
}
resource "google_dns_record_set" "database" {
name = "${var.subdomain_prefix}database.${var.top_domain}."
managed_zone = var.dns_managed_zone == "" ? "serverpod-${var.runmode}-public" : var.dns_managed_zone
type = "A"
ttl = local.ttl
rrdatas = [google_sql_database_instance.serverpod.public_ip_address]
}