fix(terraform): use google_cloud_run_v2_service data source + hardcode service name in mappings

This commit is contained in:
chrischristiansen-glitch 2026-05-31 15:58:41 +02:00
parent 7b95705c07
commit 1fd62f3fc5

View File

@ -2,6 +2,10 @@
# vauco-platform Vauco sin egen plattforminfrastruktur # vauco-platform Vauco sin egen plattforminfrastruktur
# Scope: propane-will-491900-m5 / europe-west1 # Scope: propane-will-491900-m5 / europe-west1
# Håndterer: Cloud Run domain mappings, salgsmodul-subdomener # 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 { locals {
@ -12,15 +16,6 @@ locals {
} }
} }
# ------------------------------------------------------------------------------
# Eksisterende Cloud Run-service (data source ikke opprettet av Terraform)
# ------------------------------------------------------------------------------
data "google_cloud_run_service" "platform" {
name = var.cloud_run_service_name
location = var.region
project = var.project_id
}
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Domain mapping opax.vauco.no (primær) # Domain mapping opax.vauco.no (primær)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
@ -35,13 +30,12 @@ resource "google_cloud_run_domain_mapping" "opax" {
} }
spec { spec {
route_name = data.google_cloud_run_service.platform.name route_name = var.cloud_run_service_name
certificate_mode = "AUTOMATIC" certificate_mode = "AUTOMATIC"
force_override = false force_override = false
} }
lifecycle { lifecycle {
# Ikke slett mappingen ved rename Cloud Run domain mappings er sårbare
prevent_destroy = true prevent_destroy = true
} }
} }
@ -60,16 +54,15 @@ resource "google_cloud_run_domain_mapping" "costguard_oss" {
} }
spec { spec {
route_name = data.google_cloud_run_service.platform.name route_name = var.cloud_run_service_name
certificate_mode = "AUTOMATIC" certificate_mode = "AUTOMATIC"
force_override = false force_override = false
} }
} }
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Domain mapping dynamisk per salgsmodul # Domain mapping dynamisk per salgsmodul (for_each)
# Brukes når nye moduler legges til i var.salesmodule_domains # Legg til i var.salesmodule_domains i platform.tf
# Eks: ["threadstone.oss.vauco.no", "invoicepilot.oss.vauco.no"]
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
resource "google_cloud_run_domain_mapping" "salesmodules" { resource "google_cloud_run_domain_mapping" "salesmodules" {
for_each = toset(var.salesmodule_domains) for_each = toset(var.salesmodule_domains)
@ -84,7 +77,7 @@ resource "google_cloud_run_domain_mapping" "salesmodules" {
} }
spec { spec {
route_name = data.google_cloud_run_service.platform.name route_name = var.cloud_run_service_name
certificate_mode = "AUTOMATIC" certificate_mode = "AUTOMATIC"
force_override = false force_override = false
} }