# ============================================================================== # vauco-platform — Vauco sin egen plattforminfrastruktur # Scope: propane-will-491900-m5 / europe-west1 # Håndterer: Cloud Run domain mappings, salgsmodul-subdomener # # MERK: domain mappings bruker Cloud Run v1 API internt (google_cloud_run_domain_mapping # er et v1-ressurs). Vi bruker derfor service-navnet direkte som string istedenfor # data source, for å unngå v1/v2 API-konflikt. # ============================================================================== locals { labels = { managed-by = "terraform" team = "vauco" environment = "prod" } } # ------------------------------------------------------------------------------ # Domain mapping — opax.vauco.no (primær) # ------------------------------------------------------------------------------ resource "google_cloud_run_domain_mapping" "opax" { name = "opax.vauco.no" location = var.region project = var.project_id metadata { namespace = var.project_id labels = local.labels } spec { route_name = var.cloud_run_service_name certificate_mode = "AUTOMATIC" force_override = false } lifecycle { prevent_destroy = true } } # ------------------------------------------------------------------------------ # Domain mapping — costguard.oss.vauco.no (CG3 — salgsmodul) # ------------------------------------------------------------------------------ resource "google_cloud_run_domain_mapping" "costguard_oss" { name = var.costguard_domain location = var.region project = var.project_id metadata { namespace = var.project_id labels = merge(local.labels, { module = "costguard" }) } spec { route_name = var.cloud_run_service_name certificate_mode = "AUTOMATIC" force_override = false } } # ------------------------------------------------------------------------------ # Domain mapping — dynamisk per salgsmodul (for_each) # Legg til i var.salesmodule_domains i platform.tf # ------------------------------------------------------------------------------ resource "google_cloud_run_domain_mapping" "salesmodules" { for_each = toset(var.salesmodule_domains) name = each.value location = var.region project = var.project_id metadata { namespace = var.project_id labels = merge(local.labels, { module = split(".", each.value)[0] }) } spec { route_name = var.cloud_run_service_name certificate_mode = "AUTOMATIC" force_override = false } }