From ecdcbf66f99d6ba3c91c19c763a8aabec9bf9bf9 Mon Sep 17 00:00:00 2001 From: gquadrati Date: Fri, 17 Jan 2025 17:39:23 +0100 Subject: [PATCH] remove shared plan from state --- .../citizen-auth-app/01_network_itn.tf | 4 +- .../citizen-auth-app/04_shared_plan.tf | 21 +-- .../citizen-auth-app/10_function_public.tf | 159 +----------------- src/domains/citizen-auth-app/removed.tf | 20 +++ 4 files changed, 29 insertions(+), 175 deletions(-) create mode 100644 src/domains/citizen-auth-app/removed.tf diff --git a/src/domains/citizen-auth-app/01_network_itn.tf b/src/domains/citizen-auth-app/01_network_itn.tf index e12f88339..ebd70ba75 100644 --- a/src/domains/citizen-auth-app/01_network_itn.tf +++ b/src/domains/citizen-auth-app/01_network_itn.tf @@ -159,7 +159,7 @@ resource "azurerm_private_endpoint" "staging_function_profile_async_itn_sites" { resource "azurerm_private_endpoint" "function_public_itn_sites" { name = "${local.common_project_itn}-public-func-pep-01" location = local.itn_location - resource_group_name = azurerm_resource_group.shared_rg_itn.name + resource_group_name = format("%s-shared-rg-01", local.project_itn) subnet_id = data.azurerm_subnet.itn_pep.id private_service_connection { @@ -182,7 +182,7 @@ resource "azurerm_private_endpoint" "function_public_itn_sites" { resource "azurerm_private_endpoint" "staging_function_public_itn_sites" { name = "${local.common_project_itn}-fast-login-func-staging-pep-01" location = local.itn_location - resource_group_name = azurerm_resource_group.shared_rg_itn.name + resource_group_name = format("%s-shared-rg-01", local.project_itn) subnet_id = data.azurerm_subnet.itn_pep.id private_service_connection { diff --git a/src/domains/citizen-auth-app/04_shared_plan.tf b/src/domains/citizen-auth-app/04_shared_plan.tf index 03497c640..373114f65 100644 --- a/src/domains/citizen-auth-app/04_shared_plan.tf +++ b/src/domains/citizen-auth-app/04_shared_plan.tf @@ -1,23 +1,6 @@ -resource "azurerm_resource_group" "shared_rg_itn" { - name = format("%s-shared-rg-01", local.project_itn) - location = local.itn_location -} - -resource "azurerm_app_service_plan" "shared_plan_itn" { +data "azurerm_app_service_plan" "shared_plan_itn" { name = format("%s-shared-asp-01", local.project_itn) - location = azurerm_resource_group.shared_rg_itn.location - resource_group_name = azurerm_resource_group.shared_rg_itn.name - - kind = var.plan_shared_1_kind - reserved = true - - sku { - tier = var.plan_shared_1_sku_tier - size = var.plan_shared_1_sku_size - capacity = var.plan_shared_1_sku_capacity - } - - tags = var.tags + resource_group_name = format("%s-shared-rg-01", local.project_itn) } # Subnet to host app function diff --git a/src/domains/citizen-auth-app/10_function_public.tf b/src/domains/citizen-auth-app/10_function_public.tf index 96b6d8c47..8ca8674f0 100644 --- a/src/domains/citizen-auth-app/10_function_public.tf +++ b/src/domains/citizen-auth-app/10_function_public.tf @@ -34,9 +34,9 @@ locals { module "function_public_itn" { source = "git::https://github.com/pagopa/terraform-azurerm-v3.git//function_app?ref=v8.44.0" - depends_on = [azurerm_app_service_plan.shared_plan_itn, module.shared_snet_itn] + depends_on = [module.shared_snet_itn] - resource_group_name = azurerm_resource_group.shared_rg_itn.name + resource_group_name = format("%s-shared-rg-01", local.project_itn) name = format("%s-public-func-01", local.short_project_itn) location = local.itn_location domain = "auth" @@ -45,7 +45,7 @@ module "function_public_itn" { node_version = "20" runtime_version = "~4" - app_service_plan_id = azurerm_app_service_plan.shared_plan_itn.id + app_service_plan_id = data.azurerm_app_service_plan.shared_plan_itn.id always_on = "true" application_insights_instrumentation_key = data.azurerm_application_insights.application_insights.instrumentation_key @@ -83,11 +83,11 @@ module "function_public_itn" { module "function_public_staging_slot_itn" { source = "git::https://github.com/pagopa/terraform-azurerm-v3.git//function_app_slot?ref=v8.44.0" - depends_on = [azurerm_app_service_plan.shared_plan_itn, module.shared_snet_itn] + depends_on = [module.shared_snet_itn] name = "staging" location = local.itn_location - resource_group_name = azurerm_resource_group.shared_rg_itn.name + resource_group_name = format("%s-shared-rg-01", local.project_itn) function_app_id = module.function_public_itn.id app_service_plan_id = module.function_public_itn.app_service_plan_id health_check_path = "/info" @@ -112,152 +112,3 @@ module "function_public_staging_slot_itn" { tags = var.tags } - -resource "azurerm_monitor_autoscale_setting" "function_public_itn" { - name = format("%s-autoscale", module.function_public_itn.name) - resource_group_name = azurerm_resource_group.shared_rg_itn.name - location = local.itn_location - target_resource_id = module.function_public_itn.app_service_plan_id - - profile { - name = "default" - - capacity { - default = var.function_public_autoscale_default - minimum = var.function_public_autoscale_minimum - maximum = var.function_public_autoscale_maximum - } - - rule { - metric_trigger { - metric_name = "Requests" - metric_resource_id = module.function_public_itn.id - metric_namespace = "microsoft.web/sites" - time_grain = "PT1M" - statistic = "Average" - time_window = "PT5M" - time_aggregation = "Average" - operator = "GreaterThan" - threshold = 3000 - divide_by_instance_count = false - } - - scale_action { - direction = "Increase" - type = "ChangeCount" - value = "2" - cooldown = "PT5M" - } - } - - rule { - metric_trigger { - metric_name = "Requests" - metric_resource_id = data.azurerm_linux_function_app.function_web_profile.id - metric_namespace = "microsoft.web/sites" - time_grain = "PT1M" - statistic = "Average" - time_window = "PT5M" - time_aggregation = "Average" - operator = "GreaterThan" - threshold = 3000 - divide_by_instance_count = false - } - - scale_action { - direction = "Increase" - type = "ChangeCount" - value = "2" - cooldown = "PT5M" - } - } - - rule { - metric_trigger { - metric_name = "CpuPercentage" - metric_resource_id = module.function_public_itn.app_service_plan_id - metric_namespace = "microsoft.web/serverfarms" - time_grain = "PT1M" - statistic = "Average" - time_window = "PT5M" - time_aggregation = "Average" - operator = "GreaterThan" - threshold = 45 - divide_by_instance_count = false - } - - scale_action { - direction = "Increase" - type = "ChangeCount" - value = "2" - cooldown = "PT5M" - } - } - - rule { - metric_trigger { - metric_name = "Requests" - metric_resource_id = module.function_public_itn.id - metric_namespace = "microsoft.web/sites" - time_grain = "PT1M" - statistic = "Average" - time_window = "PT5M" - time_aggregation = "Average" - operator = "LessThan" - threshold = 2000 - divide_by_instance_count = false - } - - scale_action { - direction = "Decrease" - type = "ChangeCount" - value = "1" - cooldown = "PT20M" - } - } - - rule { - metric_trigger { - metric_name = "Requests" - metric_resource_id = data.azurerm_linux_function_app.function_web_profile.id - metric_namespace = "microsoft.web/sites" - time_grain = "PT1M" - statistic = "Average" - time_window = "PT5M" - time_aggregation = "Average" - operator = "LessThan" - threshold = 2000 - divide_by_instance_count = false - } - - scale_action { - direction = "Decrease" - type = "ChangeCount" - value = "1" - cooldown = "PT20M" - } - } - - rule { - metric_trigger { - metric_name = "CpuPercentage" - metric_resource_id = module.function_public_itn.app_service_plan_id - metric_namespace = "microsoft.web/serverfarms" - time_grain = "PT1M" - statistic = "Average" - time_window = "PT5M" - time_aggregation = "Average" - operator = "LessThan" - threshold = 30 - divide_by_instance_count = false - } - - scale_action { - direction = "Decrease" - type = "ChangeCount" - value = "1" - cooldown = "PT20M" - } - } - } -} diff --git a/src/domains/citizen-auth-app/removed.tf b/src/domains/citizen-auth-app/removed.tf new file mode 100644 index 000000000..953a8b767 --- /dev/null +++ b/src/domains/citizen-auth-app/removed.tf @@ -0,0 +1,20 @@ +removed { + from = azurerm_resource_group.shared_rg_itn + lifecycle { + destroy = false + } +} + +removed { + from = azurerm_app_service_plan.shared_plan_itn + lifecycle { + destroy = false + } +} + +removed { + from = azurerm_monitor_autoscale_setting.function_public_itn + lifecycle { + destroy = false + } +}