From 4d4c3790702cd168439c684845dd08457df4bbbd Mon Sep 17 00:00:00 2001 From: miguelpuiggarcia Date: Sun, 3 Sep 2023 11:59:48 +0100 Subject: [PATCH] feat: add api gateway --- gcp/cloud-run-v2/main.tf | 10 ++++---- gcp/cloud-run-v2/variables.tf | 46 +++++++++++++++++++++++++++++++++++ test/gcp/cloud-run-v2.tf | 7 ++++++ 3 files changed, 58 insertions(+), 5 deletions(-) diff --git a/gcp/cloud-run-v2/main.tf b/gcp/cloud-run-v2/main.tf index e20b315..299fba5 100644 --- a/gcp/cloud-run-v2/main.tf +++ b/gcp/cloud-run-v2/main.tf @@ -181,9 +181,9 @@ module "cloud_run_alerts" { source = "../cloud-alerts" project_id = var.project_id service_name = var.name - alert_notification_channels = [] - error_rate_threshold = 20.0 - error_rate_duration = "600s" - latency_threshold = 2000.0 - latency_duration = "600s" + alert_notification_channels = var.alert_config.alert_notification_channels + error_rate_threshold = var.alert_config.error_rate_threshold + error_rate_duration = var.alert_config.error_rate_duration + latency_threshold = var.alert_config.latency_threshold + latency_duration = var.alert_config.latency_duration } diff --git a/gcp/cloud-run-v2/variables.tf b/gcp/cloud-run-v2/variables.tf index a280669..3a7ec57 100644 --- a/gcp/cloud-run-v2/variables.tf +++ b/gcp/cloud-run-v2/variables.tf @@ -134,3 +134,49 @@ variable "service_path" { description = "Location for the main code and where the cloudbuild.yaml exists, for example /services/myapi" type = string } + + +variable "trigger_config" { + description = "Configuration for the Cloud Build Trigger" + type = object({ + name = string + repository_name = string + description = string + filename = string + include = list(string) + exclude = list(string) + environment = string + substitutions = map(string) + create_trigger = bool + }) + default = { + name = "default-trigger-name" + repository_name = "default-repo-name" + description = "default-description" + filename = "cloudbuild.yaml" + include = [] + exclude = [] + environment = null + substitutions = {} + create_trigger = true + } +} + + +variable "alert_config" { + description = "Configuration for alerts" + type = object({ + alert_notification_channels = list(string) + error_rate_threshold = number + error_rate_duration = string + latency_threshold = number + latency_duration = string + }) + default = { + alert_notification_channels = [] + error_rate_threshold = 10.0 + error_rate_duration = "300s" + latency_threshold = 1000.0 + latency_duration = "300s" + } +} diff --git a/test/gcp/cloud-run-v2.tf b/test/gcp/cloud-run-v2.tf index e244bd9..0f1c5c6 100644 --- a/test/gcp/cloud-run-v2.tf +++ b/test/gcp/cloud-run-v2.tf @@ -17,4 +17,11 @@ module "cloud-run" { "SECRET_ONE", "SECRET_TWO" ] + alert_config = { + alert_notification_channels = ["your-notification-channel-id"] + error_rate_threshold = 20.0 + error_rate_duration = "600s" + latency_threshold = 2000.0 + latency_duration = "600s" + } }