Skip to content

Commit

Permalink
separate lb with additional backend
Browse files Browse the repository at this point in the history
  • Loading branch information
jamalc committed Jan 30, 2025
1 parent e92c771 commit 98d2ad9
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 31 deletions.
40 changes: 9 additions & 31 deletions terraform/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -104,36 +104,14 @@ module "frontend" {
cloud_run_service_account_email = module.iam.cloud_run_service_account_email
}

module "lb-http" {
source = "terraform-google-modules/lb-http/google//modules/serverless_negs"
version = "~> 12.0"
module "load_balancer" {
source = "./modules/load_balancer"

project = var.project
name = "tf-cr-lb-1"

ssl = true
managed_ssl_certificate_domains = [var.domain]
https_redirect = true

backends = {
default = {
description = "Cloud Run backend"
groups = []
serverless_neg_backends = [{
region : var.region,
type : "cloud-run",
service : {
name : "${var.environment}-webapp",
}
}]
enable_cdn = false

iap_config = {
enable = false
}
log_config = {
enable = false
}
}
}
}
environment = var.environment
region = var.region
domain = var.domain

# webapp_service_name = module.webapp.service_name
# frontend_service_name = module.frontend.service_name
}
74 changes: 74 additions & 0 deletions terraform/modules/load_balancer/main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
variable "project" {
description = "The GCP project ID"
type = string
}

variable "domain" {
description = "The domain for the managed SSL certificate"
type = string
}

variable "region" {
description = "The region where the Cloud Run service is deployed"
type = string
}

variable "environment" {
description = "The environment name (e.g., dev, prod)"
type = string
}

module "lb-http" {
source = "terraform-google-modules/lb-http/google//modules/serverless_negs"
version = "~> 12.0"

project = var.project
name = "tf-cr-lb-1"

ssl = true
managed_ssl_certificate_domains = [var.domain]
https_redirect = true

backends = {
default = {
description = "Cloud Run backend"
groups = []
serverless_neg_backends = [{
region : var.region,
type : "cloud-run",
service : {
name : "${var.environment}-webapp",
}
}, {
region : var.region,
type : "cloud-run",
service : {
name : "${var.environment}-frontend",
}
}]

enable_cdn = false

iap_config = {
enable = false
}
log_config = {
enable = false
}
}
}
}

# resource "google_compute_url_map" "url_map" {
# name = "tf-cr-url-map-1" # Choose a unique name
# default_service = module.lb-http.backend_services[""]

# path_matcher {
# name = "api-matcher"
# default_service = google_cloud_run_v2_service.frontend.status[0].url
# path_rule {
# paths = ["/api/*"]
# service = google_cloud_run_v2_service.webapp.status[0].url
# }
# }
# }

0 comments on commit 98d2ad9

Please sign in to comment.