Skip to content

Commit 8f8dd6b

Browse files
committed
Create DNS records for preview environments
1 parent a3601db commit 8f8dd6b

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

infra/modules/service/dns.tf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
locals {
2-
domain_name = !var.is_temporary && var.domain_name != null ? var.domain_name : null
2+
domain_name = var.domain_name
33
}
44

55
resource "aws_route53_record" "app" {
6-
# Don't create DNS record for temporary environments (e.g. ones spun up by CI/)
76
count = local.domain_name != null && var.hosted_zone_id != null ? 1 : 0
87

98
name = local.domain_name

infra/{{app_name}}/service/domain.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
locals {
22
domain_config = local.environment_config.domain_config
3+
4+
# For preview (temporary) environments, construct a domain name from the
5+
# workspace ID and service name so each preview gets a unique subdomain.
6+
# e.g. "pr-42.my-service.example.com"
7+
service_domain_name = local.is_temporary ? "${terraform.workspace}.${local.service_config.service_name}.${local.domain_config.hosted_zone}" : module.domain.domain_name
38
}
49

510
module "domain" {

infra/{{app_name}}/service/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ module "service" {
6666
network_name = local.environment_config.network_name
6767
project_name = module.project_config.project_name
6868

69-
domain_name = module.domain.domain_name
69+
domain_name = local.service_domain_name
7070
hosted_zone_id = module.domain.hosted_zone_id
7171
certificate_arn = module.domain.certificate_arn
7272

0 commit comments

Comments
 (0)