Skip to content

Commit

Permalink
feat: backup domain
Browse files Browse the repository at this point in the history
  • Loading branch information
HarryET committed Aug 8, 2023
1 parent df8d370 commit b5d17b6
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 20 deletions.
13 changes: 13 additions & 0 deletions terraform/ecs/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,19 @@ resource "aws_route53_record" "dns_load_balancer" {
}
}


resource "aws_route53_record" "backup_dns_load_balancer" {
zone_id = var.backup_route53_zone_id
name = var.backup_fqdn
type = "A"

alias {
name = aws_lb.application_load_balancer.dns_name
zone_id = aws_lb.application_load_balancer.zone_id
evaluate_target_health = true
}
}

# Security Groups
resource "aws_security_group" "app_ingress" {
name = "${var.app_name}-ingress-to-app"
Expand Down
12 changes: 12 additions & 0 deletions terraform/ecs/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,18 @@ variable "acm_certificate_arn" {
type = string
}

variable "backup_acm_certificate_arn" {
type = string
}

variable "backup_fqdn" {
type = string
}

variable "backup_route53_zone_id" {
type = string
}

variable "public_subnets" {
type = set(string)
}
Expand Down
51 changes: 31 additions & 20 deletions terraform/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ locals {
app_name = "push"
environment = terraform.workspace

fqdn = local.environment == "prod" ? var.public_url : "${local.environment}.${var.public_url}"
fqdn = local.environment == "prod" ? var.public_url : "${local.environment}.${var.public_url}"
backup_fqdn = replace(local.fqdn, ".com", ".org")
latest_release_name = data.github_release.latest_release.name
version = coalesce(var.image_version, substr(local.latest_release_name, 1, length(local.latest_release_name)))
Expand Down Expand Up @@ -66,6 +67,13 @@ module "dns" {
fqdn = local.fqdn
}

module "backup_dns" {
source = "github.com/WalletConnect/terraform-modules.git?ref=52a74ee5bcaf5cacb5664c6f88d9dbce28500581//modules/dns"

hosted_zone_name = replace(var.public_url, ".com", ".org")
fqdn = local.backup_fqdn
}

module "database_cluster" {
source = "terraform-aws-modules/rds-aurora/aws"
version = "7.7.0"
Expand Down Expand Up @@ -143,25 +151,28 @@ module "analytics" {
module "ecs" {
source = "./ecs"

app_name = "${local.environment}-${local.app_name}"
environment = local.environment
prometheus_endpoint = aws_prometheus_workspace.prometheus.prometheus_endpoint
database_url = local.database_url
tenant_database_url = local.tenant_database_url
image = "${data.aws_ecr_repository.repository.repository_url}:${local.version}"
image_version = local.version
acm_certificate_arn = module.dns.certificate_arn
cpu = 512
fqdn = local.fqdn
memory = 1024
private_subnets = module.vpc.private_subnets
public_subnets = module.vpc.public_subnets
region = var.region
route53_zone_id = module.dns.zone_id
vpc_cidr = module.vpc.vpc_cidr_block
vpc_id = module.vpc.vpc_id
telemetry_sample_ratio = local.environment == "prod" ? 0.25 : 1.0
allowed_origins = local.environment == "prod" ? "https://cloud.walletconnect.com" : "*"
app_name = "${local.environment}-${local.app_name}"
environment = local.environment
prometheus_endpoint = aws_prometheus_workspace.prometheus.prometheus_endpoint
database_url = local.database_url
tenant_database_url = local.tenant_database_url
image = "${data.aws_ecr_repository.repository.repository_url}:${local.version}"
image_version = local.version
acm_certificate_arn = module.dns.certificate_arn
cpu = 512
fqdn = local.fqdn
memory = 1024
private_subnets = module.vpc.private_subnets
public_subnets = module.vpc.public_subnets
region = var.region
route53_zone_id = module.dns.zone_id
backup_acm_certificate_arn = module.backup_dns.certificate_arn
backup_fqdn = local.backup_fqdn
backup_route53_zone_id = module.backup_dns.zone_id
vpc_cidr = module.vpc.vpc_cidr_block
vpc_id = module.vpc.vpc_id
telemetry_sample_ratio = local.environment == "prod" ? 0.25 : 1.0
allowed_origins = local.environment == "prod" ? "https://cloud.walletconnect.com" : "*"

aws_otel_collector_ecr_repository_url = data.aws_ecr_repository.aws_otel_collector.repository_url

Expand Down

0 comments on commit b5d17b6

Please sign in to comment.