From 35038f11fb6866abd653a891122a7bb521d26219 Mon Sep 17 00:00:00 2001 From: re_sh_cloud_arch <94049389+re-sh-cloud-arch@users.noreply.github.com> Date: Tue, 17 Dec 2024 13:26:26 +0100 Subject: [PATCH] servicebus to standard --- src/aks-leonardo/README.md | 1 + src/core-itn-secrets/README.md | 4 +-- src/core-itn/README.md | 4 +-- src/core/README.md | 6 ++-- src/domains/apiconfig-app/README.md | 1 - src/domains/apiconfig-common/02_security.tf | 4 +-- src/domains/apiconfig-common/README.md | 18 +----------- src/domains/fdr-app/README.md | 28 +++++++++---------- src/domains/fdr-common/README.md | 22 +++++++-------- src/domains/gps-app/00_data.tf | 2 +- src/domains/gps-app/README.md | 10 +++++++ src/domains/gps-common/03_postgresql_gpd.tf | 16 +++++------ .../gps-common/03_postgresql_gpd_db.tf | 4 +-- src/domains/gps-common/README.md | 11 +++++++- .../gps-common/env/weu-prod/terraform.tfvars | 2 +- .../gps-common/env/weu-uat/terraform.tfvars | 2 +- .../06_service_bus_wisp_converter.tf | 2 +- .../nodo-common/env/weu-uat/terraform.tfvars | 8 +++--- .../observability/03_eventhub_msg_gdp.tf | 6 ++-- src/domains/observability/README.md | 3 ++ src/domains/selfcare-app/README.md | 1 + src/elk-monitoring/README.md | 4 +-- src/grafana-monitoring/README.md | 4 +-- src/packer/README.md | 4 +-- src/synthetic-monitoring/README.md | 4 +-- src/zabbix/README.md | 4 +-- 26 files changed, 91 insertions(+), 84 deletions(-) diff --git a/src/aks-leonardo/README.md b/src/aks-leonardo/README.md index e54260d24d..d888ccc4cc 100644 --- a/src/aks-leonardo/README.md +++ b/src/aks-leonardo/README.md @@ -109,6 +109,7 @@ Re-enable all the resource, commented before to complete the procedure | [aks\_alerts\_enabled](#input\_aks\_alerts\_enabled) | Aks alert enabled? | `bool` | `true` | no | | [aks\_availability\_zones](#input\_aks\_availability\_zones) | A list of Availability Zones across which the Node Pool should be spread. | `list(number)` | `[]` | no | | [aks\_enable\_auto\_scaling](#input\_aks\_enable\_auto\_scaling) | Should the Kubernetes Auto Scaler be enabled for this Node Pool? | `bool` | `false` | no | +| [aks\_enable\_workload\_identity](#input\_aks\_enable\_workload\_identity) | n/a | `bool` | `false` | no | | [aks\_enabled](#input\_aks\_enabled) | Must be the aks cluster created? | `bool` | `true` | no | | [aks\_kubernetes\_version](#input\_aks\_kubernetes\_version) | Kubernetes version of cluster aks | `string` | n/a | yes | | [aks\_max\_pods](#input\_aks\_max\_pods) | The maximum number of pods | `number` | `100` | no | diff --git a/src/core-itn-secrets/README.md b/src/core-itn-secrets/README.md index c6e09c3d1b..e788e3cc15 100644 --- a/src/core-itn-secrets/README.md +++ b/src/core-itn-secrets/README.md @@ -4,7 +4,7 @@ 2. run `terraform apply` - + ## Requirements | Name | Version | @@ -51,4 +51,4 @@ No modules. ## Outputs No outputs. - + diff --git a/src/core-itn/README.md b/src/core-itn/README.md index df44761007..b562b93bf9 100644 --- a/src/core-itn/README.md +++ b/src/core-itn/README.md @@ -89,7 +89,7 @@ ## Outputs No outputs. - + ## Requirements | Name | Version | @@ -216,4 +216,4 @@ No outputs. ## Outputs No outputs. - + diff --git a/src/core/README.md b/src/core/README.md index a147efe0ad..5831b369a3 100644 --- a/src/core/README.md +++ b/src/core/README.md @@ -1,7 +1,6 @@ - -| [vnet\_name](#output\_vnet\_name) | n/a | + ## Requirements | Name | Version | @@ -270,6 +269,7 @@ | [terraform_data.sha256_send_payment_result_api_v2_wisp_policy](https://registry.terraform.io/providers/hashicorp/terraform/latest/docs/resources/data) | resource | | [azurerm_api_management.apim_migrated](https://registry.terraform.io/providers/hashicorp/azurerm/2.99.0/docs/data-sources/api_management) | data source | | [azurerm_api_management_api.apim_aca_api_v1_](https://registry.terraform.io/providers/hashicorp/azurerm/2.99.0/docs/data-sources/api_management_api) | data source | +| [azurerm_api_management_product.technical_support_api_product](https://registry.terraform.io/providers/hashicorp/azurerm/2.99.0/docs/data-sources/api_management_product) | data source | | [azurerm_app_service.node_forwarder](https://registry.terraform.io/providers/hashicorp/azurerm/2.99.0/docs/data-sources/app_service) | data source | | [azurerm_app_service.node_forwarder_ha](https://registry.terraform.io/providers/hashicorp/azurerm/2.99.0/docs/data-sources/app_service) | data source | | [azurerm_application_gateway.app_gw](https://registry.terraform.io/providers/hashicorp/azurerm/2.99.0/docs/data-sources/application_gateway) | data source | @@ -377,4 +377,4 @@ | [vnet\_integration\_address\_space](#output\_vnet\_integration\_address\_space) | n/a | | [vnet\_integration\_name](#output\_vnet\_integration\_name) | n/a | | [vnet\_name](#output\_vnet\_name) | n/a | - + diff --git a/src/domains/apiconfig-app/README.md b/src/domains/apiconfig-app/README.md index b40811eb06..357bdaa038 100644 --- a/src/domains/apiconfig-app/README.md +++ b/src/domains/apiconfig-app/README.md @@ -54,7 +54,6 @@ | [azurerm_api_management_product_group.access_control_developers_for_cache_export](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_product_group) | resource | | [azurerm_api_management_product_group.access_control_developers_for_selfcare_integration](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_product_group) | resource | | [azurerm_key_vault_secret.aks_apiserver_url](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.apiconfig_client_secret](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.azure_devops_sa_cacrt](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.azure_devops_sa_token](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.db_nodo_pwd](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | diff --git a/src/domains/apiconfig-common/02_security.tf b/src/domains/apiconfig-common/02_security.tf index e952fc5525..3d372377ba 100644 --- a/src/domains/apiconfig-common/02_security.tf +++ b/src/domains/apiconfig-common/02_security.tf @@ -25,7 +25,7 @@ resource "azurerm_key_vault_access_policy" "adgroup_developers_policy" { tenant_id = data.azurerm_client_config.current.tenant_id object_id = data.azuread_group.adgroup_developers.object_id - key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Encrypt", "Decrypt", "GetRotationPolicy" ] + key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Encrypt", "Decrypt", "GetRotationPolicy"] secret_permissions = ["Get", "List", "Set", "Delete", ] storage_permissions = [] certificate_permissions = [ @@ -42,7 +42,7 @@ resource "azurerm_key_vault_access_policy" "adgroup_externals_policy" { tenant_id = data.azurerm_client_config.current.tenant_id object_id = data.azuread_group.adgroup_externals.object_id - key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Encrypt", "Decrypt" ] + key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Encrypt", "Decrypt"] secret_permissions = ["Get", "List", "Set", "Delete", ] storage_permissions = [] certificate_permissions = [ diff --git a/src/domains/apiconfig-common/README.md b/src/domains/apiconfig-common/README.md index 7a812b61a8..07622ed422 100644 --- a/src/domains/apiconfig-common/README.md +++ b/src/domains/apiconfig-common/README.md @@ -16,7 +16,6 @@ |------|--------|---------| | [api\_config\_ica\_sa](#module\_api\_config\_ica\_sa) | git::https://github.com/pagopa/terraform-azurerm-v3.git//storage_account | v7.18.0 | | [identity\_cd\_01](#module\_identity\_cd\_01) | github.com/pagopa/terraform-azurerm-v3//github_federated_identity | v7.45.0 | -| [key\_vault](#module\_key\_vault) | git::https://github.com/pagopa/terraform-azurerm-v3.git//key_vault | v4.1.17 | | [letsencrypt\_apiconfig](#module\_letsencrypt\_apiconfig) | git::https://github.com/pagopa/terraform-azurerm-v3.git//letsencrypt_credential | v8.11.0 | ## Resources @@ -29,28 +28,12 @@ | [azurerm_key_vault_access_policy.azdevops_iac_legacy_policies](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_access_policy) | resource | | [azurerm_key_vault_access_policy.azdevops_iac_managed_identities](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_access_policy) | resource | | [azurerm_key_vault_access_policy.azdevops_iac_policy](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_access_policy) | resource | -| [azurerm_key_vault_secret.afm_cosmos_key](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.afm_marketplace_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.afm_utils_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.ai_connection_string](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.apicfg_cache_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.apicfg_cache_tx_connection_string](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.apiconfig_selfcare_integration_api_subscription-key](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.cfg_for_node_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.db_postgres_nexi_cfg_password](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.db_postgres_nexi_cfg_password_prf](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.encrypted_github_token_read_packages_bot](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.github_token_read_packages](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.nodo5_slack_webhook_url](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.oracle_db_cfg_dev_nexi_password](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.oracle_db_cfg_password](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.oracle_db_cfg_prf_nexi_password](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | -| [azurerm_key_vault_secret.postgresql_db_cfg_password](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.redis_hostname](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.redis_password](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.storage_connection_string](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/key_vault_secret) | resource | | [azurerm_private_dns_a_record.ingress](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/private_dns_a_record) | resource | -| [azurerm_resource_group.sec_rg](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/resource_group) | resource | | [azurerm_storage_table.ica_table](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/resources/storage_table) | resource | | [null_resource.github_runner_app_permissions_to_namespace_cd_01](https://registry.terraform.io/providers/hashicorp/null/3.1.1/docs/resources/resource) | resource | | [azuread_group.adgroup_admin](https://registry.terraform.io/providers/hashicorp/azuread/2.21.0/docs/data-sources/group) | data source | @@ -63,6 +46,7 @@ | [azurerm_application_insights.application_insights](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/application_insights) | data source | | [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/client_config) | data source | | [azurerm_eventhub_authorization_rule.nodo_dei_pagamenti_cache_tx](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/eventhub_authorization_rule) | data source | +| [azurerm_key_vault.key_vault](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/key_vault) | data source | | [azurerm_kubernetes_cluster.aks](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/kubernetes_cluster) | data source | | [azurerm_log_analytics_workspace.log_analytics](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/log_analytics_workspace) | data source | | [azurerm_monitor_action_group.email](https://registry.terraform.io/providers/hashicorp/azurerm/3.40.0/docs/data-sources/monitor_action_group) | data source | diff --git a/src/domains/fdr-app/README.md b/src/domains/fdr-app/README.md index dce744b697..a300ac146a 100644 --- a/src/domains/fdr-app/README.md +++ b/src/domains/fdr-app/README.md @@ -152,38 +152,38 @@ |------|-------------|------|---------|:--------:| | [apim\_dns\_zone\_prefix](#input\_apim\_dns\_zone\_prefix) | The dns subdomain for apim. | `string` | `null` | no | | [apim\_fdr\_nodo\_pagopa\_enable](#input\_apim\_fdr\_nodo\_pagopa\_enable) | Enable Fdr Service Nodo pagoPA side | `bool` | `false` | no | -| [app\_service\_plan\_info](#input\_app\_service\_plan\_info) | Allows to configurate the internal service plan |
object({
kind = string # The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption) and FunctionApp (for a Consumption Plan).
sku_size = string # Specifies the plan's instance size.
maximum_elastic_worker_count = number # The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.
worker_count = number # The number of Workers (instances) to be allocated.
zone_balancing_enabled = bool # Should the Service Plan balance across Availability Zones in the region. Changing this forces a new resource to be created.
})
|
{
"kind": "Linux",
"maximum_elastic_worker_count": 0,
"sku_size": "P1v3",
"worker_count": 0,
"zone_balancing_enabled": false
}
| no | +| [app\_service\_plan\_info](#input\_app\_service\_plan\_info) | Allows to configurate the internal service plan |
object({
kind = string # The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption) and FunctionApp (for a Consumption Plan).
sku_size = string # Specifies the plan's instance size.
maximum_elastic_worker_count = number # The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.
worker_count = number # The number of Workers (instances) to be allocated.
zone_balancing_enabled = bool # Should the Service Plan balance across Availability Zones in the region. Changing this forces a new resource to be created.
})
|
{
"kind": "Linux",
"maximum_elastic_worker_count": 0,
"sku_size": "P1v3",
"worker_count": 0,
"zone_balancing_enabled": false
}
| no | | [cidr\_subnet\_reporting\_fdr](#input\_cidr\_subnet\_reporting\_fdr) | Address prefixes subnet reporting\_fdr function | `list(string)` | `null` | no | | [cname\_record\_name](#input\_cname\_record\_name) | n/a | `string` | `"config"` | no | | [dns\_zone\_internal\_prefix](#input\_dns\_zone\_internal\_prefix) | The dns subdomain. | `string` | `null` | no | | [domain](#input\_domain) | n/a | `string` | n/a | yes | | [enable\_fdr3\_features](#input\_enable\_fdr3\_features) | Feature flag that enabled FdR-Fase3 APIs | `bool` | `false` | no | -| [enabled\_features](#input\_enabled\_features) | Features enabled in this domain |
object({
})
| `{}` | no | +| [enabled\_features](#input\_enabled\_features) | Features enabled in this domain |
object({
})
| `{}` | no | | [env](#input\_env) | n/a | `string` | n/a | yes | | [env\_short](#input\_env\_short) | n/a | `string` | n/a | yes | | [event\_name](#input\_event\_name) | Event name related to an EventHub | `string` | `null` | no | | [eventhub\_name](#input\_eventhub\_name) | EventHub name | `string` | `null` | no | | [external\_domain](#input\_external\_domain) | Domain for delegation | `string` | `null` | no | -| [fdr\_json\_to\_xml\_function](#input\_fdr\_json\_to\_xml\_function) | FdR JSON to XML function |
object({
always_on = bool
kind = string
sku_size = string
sku_tier = string
maximum_elastic_worker_count = number
})
|
{
"always_on": true,
"kind": "Linux",
"maximum_elastic_worker_count": 1,
"sku_size": "B1",
"sku_tier": "Basic"
}
| no | +| [fdr\_json\_to\_xml\_function](#input\_fdr\_json\_to\_xml\_function) | FdR JSON to XML function |
object({
always_on = bool
kind = string
sku_size = string
sku_tier = string
maximum_elastic_worker_count = number
})
|
{
"always_on": true,
"kind": "Linux",
"maximum_elastic_worker_count": 1,
"sku_size": "B1",
"sku_tier": "Basic"
}
| no | | [fdr\_json\_to\_xml\_function\_app\_image\_tag](#input\_fdr\_json\_to\_xml\_function\_app\_image\_tag) | FdR JSON to XML function app docker image tag. Defaults to 'latest' | `string` | `"latest"` | no | -| [fdr\_json\_to\_xml\_function\_autoscale](#input\_fdr\_json\_to\_xml\_function\_autoscale) | FdR JSON to XML function autoscaling parameters |
object({
default = number
minimum = number
maximum = number
})
| n/a | yes | +| [fdr\_json\_to\_xml\_function\_autoscale](#input\_fdr\_json\_to\_xml\_function\_autoscale) | FdR JSON to XML function autoscaling parameters |
object({
default = number
minimum = number
maximum = number
})
| n/a | yes | | [fdr\_json\_to\_xml\_function\_network\_policies\_enabled](#input\_fdr\_json\_to\_xml\_function\_network\_policies\_enabled) | Network policies enabled | `bool` | `false` | no | | [fdr\_json\_to\_xml\_function\_subnet](#input\_fdr\_json\_to\_xml\_function\_subnet) | Address prefixes subnet | `list(string)` | `null` | no | -| [fdr\_re\_function](#input\_fdr\_re\_function) | FdR RE function |
object({
always_on = bool
kind = string
sku_size = string
# sku_tier = string
maximum_elastic_worker_count = number
})
|
{
"always_on": true,
"kind": "Linux",
"maximum_elastic_worker_count": 1,
"sku_size": "B1"
}
| no | +| [fdr\_re\_function](#input\_fdr\_re\_function) | FdR RE function |
object({
always_on = bool
kind = string
sku_size = string
# sku_tier = string
maximum_elastic_worker_count = number
})
|
{
"always_on": true,
"kind": "Linux",
"maximum_elastic_worker_count": 1,
"sku_size": "B1"
}
| no | | [fdr\_re\_function\_app\_image\_tag](#input\_fdr\_re\_function\_app\_image\_tag) | FdR RE to Datastore function app docker image tag. Defaults to 'latest' | `string` | `"latest"` | no | -| [fdr\_re\_function\_autoscale](#input\_fdr\_re\_function\_autoscale) | FdR function autoscaling parameters |
object({
default = number
minimum = number
maximum = number
})
| n/a | yes | +| [fdr\_re\_function\_autoscale](#input\_fdr\_re\_function\_autoscale) | FdR function autoscaling parameters |
object({
default = number
minimum = number
maximum = number
})
| n/a | yes | | [fdr\_re\_function\_network\_policies\_enabled](#input\_fdr\_re\_function\_network\_policies\_enabled) | Network policies enabled | `bool` | `false` | no | | [fdr\_re\_function\_subnet](#input\_fdr\_re\_function\_subnet) | Address prefixes subnet | `list(string)` | `null` | no | -| [fdr\_xml\_to\_json\_function](#input\_fdr\_xml\_to\_json\_function) | FdR XML to JSON function |
object({
always_on = bool
kind = string
sku_size = string
sku_tier = string
maximum_elastic_worker_count = number
})
|
{
"always_on": true,
"kind": "Linux",
"maximum_elastic_worker_count": 1,
"sku_size": "B1",
"sku_tier": "Basic"
}
| no | +| [fdr\_xml\_to\_json\_function](#input\_fdr\_xml\_to\_json\_function) | FdR XML to JSON function |
object({
always_on = bool
kind = string
sku_size = string
sku_tier = string
maximum_elastic_worker_count = number
})
|
{
"always_on": true,
"kind": "Linux",
"maximum_elastic_worker_count": 1,
"sku_size": "B1",
"sku_tier": "Basic"
}
| no | | [fdr\_xml\_to\_json\_function\_app\_image\_tag](#input\_fdr\_xml\_to\_json\_function\_app\_image\_tag) | FdR XML to JSON function app docker image tag. Defaults to 'latest' | `string` | `"latest"` | no | -| [fdr\_xml\_to\_json\_function\_autoscale](#input\_fdr\_xml\_to\_json\_function\_autoscale) | FdR function autoscaling parameters |
object({
default = number
minimum = number
maximum = number
})
| n/a | yes | +| [fdr\_xml\_to\_json\_function\_autoscale](#input\_fdr\_xml\_to\_json\_function\_autoscale) | FdR function autoscaling parameters |
object({
default = number
minimum = number
maximum = number
})
| n/a | yes | | [fdr\_xml\_to\_json\_function\_network\_policies\_enabled](#input\_fdr\_xml\_to\_json\_function\_network\_policies\_enabled) | Network policies enabled | `bool` | `false` | no | | [fdr\_xml\_to\_json\_function\_subnet](#input\_fdr\_xml\_to\_json\_function\_subnet) | Address prefixes subnet | `list(string)` | `null` | no | | [fn\_app\_runtime\_version](#input\_fn\_app\_runtime\_version) | Function app runtime version. | `string` | `"~4"` | no | | [ftp\_organization](#input\_ftp\_organization) | Organization configured with FTP | `string` | `null` | no | | [function\_app\_storage\_account\_replication\_type](#input\_function\_app\_storage\_account\_replication\_type) | (Optional) Storage account replication type used for function apps | `string` | `"ZRS"` | no | | [gh\_runner\_job\_location](#input\_gh\_runner\_job\_location) | (Optional) The GH runner container app job location. Consistent with the container app environment location | `string` | `"westeurope"` | no | -| [github](#input\_github) | n/a |
object({
org = string
})
|
{
"org": "pagopa"
}
| no | +| [github](#input\_github) | n/a |
object({
org = string
})
|
{
"org": "pagopa"
}
| no | | [image\_name](#input\_image\_name) | The image name to use with a function app | `string` | `null` | no | | [image\_tag](#input\_image\_tag) | The image tag to use with a function app | `string` | `null` | no | | [instance](#input\_instance) | One of beta, prod01, prod02 | `string` | n/a | yes | @@ -195,7 +195,7 @@ | [log\_analytics\_workspace\_resource\_group\_name](#input\_log\_analytics\_workspace\_resource\_group\_name) | The name of the resource group in which the Log Analytics workspace is located in. | `string` | n/a | yes | | [monitor\_resource\_group\_name](#input\_monitor\_resource\_group\_name) | Monitor resource group name | `string` | n/a | yes | | [nodo\_pagamenti\_subkey\_required](#input\_nodo\_pagamenti\_subkey\_required) | Enabled subkeys for nodo dei pagamenti api | `bool` | `false` | no | -| [pod\_disruption\_budgets](#input\_pod\_disruption\_budgets) | Pod disruption budget for domain namespace |
map(object({
name = optional(string, null)
minAvailable = optional(number, null)
matchLabels = optional(map(any), {})
}))
| `{}` | no | +| [pod\_disruption\_budgets](#input\_pod\_disruption\_budgets) | Pod disruption budget for domain namespace |
map(object({
name = optional(string, null)
minAvailable = optional(number, null)
matchLabels = optional(map(any), {})
}))
| `{}` | no | | [prefix](#input\_prefix) | n/a | `string` | n/a | yes | | [private\_endpoint\_network\_policies\_enabled](#input\_private\_endpoint\_network\_policies\_enabled) | Enables or network policies for private endpoints in Azure. | `bool` | n/a | yes | | [reporting\_fdr\_function\_always\_on](#input\_reporting\_fdr\_function\_always\_on) | Always on property | `bool` | `false` | no | @@ -205,10 +205,10 @@ | [reporting\_fdr\_function\_kind](#input\_reporting\_fdr\_function\_kind) | App service plan kind | `string` | `null` | no | | [reporting\_fdr\_function\_sku\_size](#input\_reporting\_fdr\_function\_sku\_size) | App service plan sku size | `string` | `null` | no | | [reporting\_fdr\_function\_sku\_tier](#input\_reporting\_fdr\_function\_sku\_tier) | App service plan sku tier | `string` | `null` | no | -| [reporting\_fdr\_storage\_account\_info](#input\_reporting\_fdr\_storage\_account\_info) | Storage account |
object({
account_kind = string
account_tier = string
account_replication_type = string
access_tier = string
advanced_threat_protection_enable = bool
use_legacy_defender_version = bool
public_network_access_enabled = bool
})
|
{
"access_tier": "Hot",
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection_enable": true,
"public_network_access_enabled": false,
"use_legacy_defender_version": false
}
| no | -| [storage\_account\_info](#input\_storage\_account\_info) | Storage account |
object({
account_kind = string
account_tier = string
account_replication_type = string
access_tier = string
advanced_threat_protection_enable = bool
use_legacy_defender_version = bool
public_network_access_enabled = bool
})
|
{
"access_tier": "Hot",
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection_enable": true,
"public_network_access_enabled": false,
"use_legacy_defender_version": false
}
| no | -| [tags](#input\_tags) | n/a | `map(any)` |
{
"CreatedBy": "Terraform"
}
| no | -| [tls\_cert\_check\_helm](#input\_tls\_cert\_check\_helm) | tls cert helm chart configuration |
object({
chart_version = string,
image_name = string,
image_tag = string
})
| n/a | yes | +| [reporting\_fdr\_storage\_account\_info](#input\_reporting\_fdr\_storage\_account\_info) | Storage account |
object({
account_kind = string
account_tier = string
account_replication_type = string
access_tier = string
advanced_threat_protection_enable = bool
use_legacy_defender_version = bool
public_network_access_enabled = bool
})
|
{
"access_tier": "Hot",
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection_enable": true,
"public_network_access_enabled": false,
"use_legacy_defender_version": false
}
| no | +| [storage\_account\_info](#input\_storage\_account\_info) | Storage account |
object({
account_kind = string
account_tier = string
account_replication_type = string
access_tier = string
advanced_threat_protection_enable = bool
use_legacy_defender_version = bool
public_network_access_enabled = bool
})
|
{
"access_tier": "Hot",
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection_enable": true,
"public_network_access_enabled": false,
"use_legacy_defender_version": false
}
| no | +| [tags](#input\_tags) | n/a | `map(any)` |
{
"CreatedBy": "Terraform"
}
| no | +| [tls\_cert\_check\_helm](#input\_tls\_cert\_check\_helm) | tls cert helm chart configuration |
object({
chart_version = string,
image_name = string,
image_tag = string
})
| n/a | yes | ## Outputs diff --git a/src/domains/fdr-common/README.md b/src/domains/fdr-common/README.md index a802c6a9aa..83fe9941a2 100644 --- a/src/domains/fdr-common/README.md +++ b/src/domains/fdr-common/README.md @@ -15,7 +15,7 @@ | Name | Source | Version | |------|--------|---------| -| [\_\_v3\_\_](#module\_\_\_v3\_\_) | git::https://github.com/pagopa/terraform-azurerm-v3 | 91622428555c2fe3342fe174bf16388be1698df4 | +| [\_\_v3\_\_](#module\_\_\_v3\_\_) | git::https://github.com/pagopa/terraform-azurerm-v3 | ce3200bf6673671bd6e641722e6c9d7500043fda | | [cosmosdb\_account\_mongodb](#module\_cosmosdb\_account\_mongodb) | ./.terraform/modules/__v3__/cosmosdb_account | n/a | | [cosmosdb\_account\_mongodb\_fdr\_re](#module\_cosmosdb\_account\_mongodb\_fdr\_re) | ./.terraform/modules/__v3__/cosmosdb_account | n/a | | [cosmosdb\_fdr\_collections](#module\_cosmosdb\_fdr\_collections) | ./.terraform/modules/__v3__/cosmosdb_mongodb_collection | n/a | @@ -143,9 +143,9 @@ | [cidr\_subnet\_cosmosdb\_fdr](#input\_cidr\_subnet\_cosmosdb\_fdr) | Cosmos DB address space for fdr. | `list(string)` | n/a | yes | | [cidr\_subnet\_flex\_dbms](#input\_cidr\_subnet\_flex\_dbms) | Postgresql network address space. | `list(string)` | n/a | yes | | [cidr\_subnet\_storage\_account](#input\_cidr\_subnet\_storage\_account) | Storage account network address space. | `list(string)` | n/a | yes | -| [cosmos\_mongo\_db\_fdr\_params](#input\_cosmos\_mongo\_db\_fdr\_params) | n/a |
object({
enabled = bool
capabilities = list(string)
offer_type = string
server_version = string
kind = string
consistency_policy = object({
consistency_level = string
max_interval_in_seconds = number
max_staleness_prefix = number
})
main_geo_location_zone_redundant = bool
enable_free_tier = bool
additional_geo_locations = list(object({
location = string
failover_priority = number
zone_redundant = bool
}))
private_endpoint_enabled = bool
public_network_access_enabled = bool
is_virtual_network_filter_enabled = bool
backup_continuous_enabled = bool
enable_serverless = bool
enable_autoscaling = bool
throughput = number
max_throughput = number
container_default_ttl = number
})
| n/a | yes | -| [cosmos\_mongo\_db\_fdr\_re\_params](#input\_cosmos\_mongo\_db\_fdr\_re\_params) | n/a |
object({
capabilities = list(string)
offer_type = string
server_version = string
kind = string
consistency_policy = object({
consistency_level = string
max_interval_in_seconds = number
max_staleness_prefix = number
})
main_geo_location_zone_redundant = bool
enable_free_tier = bool
additional_geo_locations = list(object({
location = string
failover_priority = number
zone_redundant = bool
}))
private_endpoint_enabled = bool
public_network_access_enabled = bool
is_virtual_network_filter_enabled = bool
backup_continuous_enabled = bool
enable_serverless = bool
enable_autoscaling = bool
throughput = number
max_throughput = number
container_default_ttl = number
})
| n/a | yes | -| [custom\_metric\_alerts](#input\_custom\_metric\_alerts) | Map of name = criteria objects |
map(object({
# criteria.*.aggregation to be one of [Average Count Minimum Maximum Total]
aggregation = string
metric_name = string
# "Insights.Container/pods" "Insights.Container/nodes"
metric_namespace = string
# criteria.0.operator to be one of [Equals NotEquals GreaterThan GreaterThanOrEqual LessThan LessThanOrEqual]
operator = string
threshold = number
# Possible values are PT1M, PT5M, PT15M, PT30M and PT1H
frequency = string
# Possible values are PT1M, PT5M, PT15M, PT30M, PT1H, PT6H, PT12H and P1D.
window_size = string
# severity: The severity of this Metric Alert. Possible values are 0, 1, 2, 3 and 4. Defaults to 3.
severity = number
}))
|
{
"active_connections": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "active_connections",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
},
"connections_failed": {
"aggregation": "Total",
"frequency": "PT5M",
"metric_name": "connections_failed",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
},
"cpu_percent": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "cpu_percent",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 4500,
"window_size": "PT30M"
},
"memory_percent": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "memory_percent",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
},
"storage_percent": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "storage_percent",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
}
}
| no | +| [cosmos\_mongo\_db\_fdr\_params](#input\_cosmos\_mongo\_db\_fdr\_params) | n/a |
object({
enabled = bool
capabilities = list(string)
offer_type = string
server_version = string
kind = string
consistency_policy = object({
consistency_level = string
max_interval_in_seconds = number
max_staleness_prefix = number
})
main_geo_location_zone_redundant = bool
enable_free_tier = bool
additional_geo_locations = list(object({
location = string
failover_priority = number
zone_redundant = bool
}))
private_endpoint_enabled = bool
public_network_access_enabled = bool
is_virtual_network_filter_enabled = bool
backup_continuous_enabled = bool
enable_serverless = bool
enable_autoscaling = bool
throughput = number
max_throughput = number
container_default_ttl = number
})
| n/a | yes | +| [cosmos\_mongo\_db\_fdr\_re\_params](#input\_cosmos\_mongo\_db\_fdr\_re\_params) | n/a |
object({
capabilities = list(string)
offer_type = string
server_version = string
kind = string
consistency_policy = object({
consistency_level = string
max_interval_in_seconds = number
max_staleness_prefix = number
})
main_geo_location_zone_redundant = bool
enable_free_tier = bool
additional_geo_locations = list(object({
location = string
failover_priority = number
zone_redundant = bool
}))
private_endpoint_enabled = bool
public_network_access_enabled = bool
is_virtual_network_filter_enabled = bool
backup_continuous_enabled = bool
enable_serverless = bool
enable_autoscaling = bool
throughput = number
max_throughput = number
container_default_ttl = number
})
| n/a | yes | +| [custom\_metric\_alerts](#input\_custom\_metric\_alerts) | Map of name = criteria objects |
map(object({
# criteria.*.aggregation to be one of [Average Count Minimum Maximum Total]
aggregation = string
metric_name = string
# "Insights.Container/pods" "Insights.Container/nodes"
metric_namespace = string
# criteria.0.operator to be one of [Equals NotEquals GreaterThan GreaterThanOrEqual LessThan LessThanOrEqual]
operator = string
threshold = number
# Possible values are PT1M, PT5M, PT15M, PT30M and PT1H
frequency = string
# Possible values are PT1M, PT5M, PT15M, PT30M, PT1H, PT6H, PT12H and P1D.
window_size = string
# severity: The severity of this Metric Alert. Possible values are 0, 1, 2, 3 and 4. Defaults to 3.
severity = number
}))
|
{
"active_connections": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "active_connections",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
},
"connections_failed": {
"aggregation": "Total",
"frequency": "PT5M",
"metric_name": "connections_failed",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
},
"cpu_percent": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "cpu_percent",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 4500,
"window_size": "PT30M"
},
"memory_percent": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "memory_percent",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
},
"storage_percent": {
"aggregation": "Average",
"frequency": "PT5M",
"metric_name": "storage_percent",
"metric_namespace": "Microsoft.DBforPostgreSQL/flexibleServers",
"operator": "GreaterThan",
"severity": 2,
"threshold": 80,
"window_size": "PT30M"
}
}
| no | | [dns\_zone\_internal\_prefix](#input\_dns\_zone\_internal\_prefix) | The dns subdomain. | `string` | `null` | no | | [domain](#input\_domain) | n/a | `string` | n/a | yes | | [enable\_iac\_pipeline](#input\_enable\_iac\_pipeline) | If true create the key vault policy to allow used by azure devops iac pipelines. | `bool` | `false` | no | @@ -153,15 +153,15 @@ | [env\_short](#input\_env\_short) | n/a | `string` | n/a | yes | | [external\_domain](#input\_external\_domain) | Domain for delegation | `string` | `null` | no | | [fdr\_convertion\_delete\_retention\_days](#input\_fdr\_convertion\_delete\_retention\_days) | Number of days to retain deleted. | `number` | `30` | no | -| [fdr\_history\_storage\_account](#input\_fdr\_history\_storage\_account) | n/a |
object({
account_kind = string
account_tier = string
account_replication_type = string
advanced_threat_protection = bool
advanced_threat_protection_enabled = bool
blob_versioning_enabled = bool
public_network_access_enabled = bool
blob_delete_retention_days = number
enable_low_availability_alert = bool
backup_enabled = optional(bool, false)
backup_retention = optional(number, 0)
})
|
{
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection": true,
"advanced_threat_protection_enabled": true,
"backup_enabled": false,
"backup_retention": 0,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false,
"enable_low_availability_alert": false,
"public_network_access_enabled": false
}
| no | +| [fdr\_history\_storage\_account](#input\_fdr\_history\_storage\_account) | n/a |
object({
account_kind = string
account_tier = string
account_replication_type = string
advanced_threat_protection = bool
advanced_threat_protection_enabled = bool
blob_versioning_enabled = bool
public_network_access_enabled = bool
blob_delete_retention_days = number
enable_low_availability_alert = bool
backup_enabled = optional(bool, false)
backup_retention = optional(number, 0)
})
|
{
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection": true,
"advanced_threat_protection_enabled": true,
"backup_enabled": false,
"backup_retention": 0,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false,
"enable_low_availability_alert": false,
"public_network_access_enabled": false
}
| no | | [fdr\_re\_advanced\_threat\_protection](#input\_fdr\_re\_advanced\_threat\_protection) | Enable contract threat advanced protection | `bool` | `false` | no | | [fdr\_re\_delete\_retention\_days](#input\_fdr\_re\_delete\_retention\_days) | Number of days to retain deleted. | `number` | `30` | no | -| [fdr\_re\_storage\_account](#input\_fdr\_re\_storage\_account) | n/a |
object({
account_kind = string
account_tier = string
account_replication_type = string
advanced_threat_protection = bool
advanced_threat_protection_enabled = bool
blob_versioning_enabled = bool
public_network_access_enabled = bool
blob_delete_retention_days = number
enable_low_availability_alert = bool
backup_enabled = optional(bool, false)
backup_retention = optional(number, 0)
})
|
{
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection": true,
"advanced_threat_protection_enabled": true,
"backup_enabled": false,
"backup_retention": 0,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false,
"enable_low_availability_alert": false,
"public_network_access_enabled": false
}
| no | +| [fdr\_re\_storage\_account](#input\_fdr\_re\_storage\_account) | n/a |
object({
account_kind = string
account_tier = string
account_replication_type = string
advanced_threat_protection = bool
advanced_threat_protection_enabled = bool
blob_versioning_enabled = bool
public_network_access_enabled = bool
blob_delete_retention_days = number
enable_low_availability_alert = bool
backup_enabled = optional(bool, false)
backup_retention = optional(number, 0)
})
|
{
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection": true,
"advanced_threat_protection_enabled": true,
"backup_enabled": false,
"backup_retention": 0,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false,
"enable_low_availability_alert": false,
"public_network_access_enabled": false
}
| no | | [fdr\_re\_versioning](#input\_fdr\_re\_versioning) | Enable sa versioning | `bool` | `false` | no | -| [fdr\_storage\_account](#input\_fdr\_storage\_account) | n/a |
object({
account_kind = string
account_tier = string
account_replication_type = string
advanced_threat_protection = bool
blob_versioning_enabled = bool
public_network_access_enabled = bool
blob_delete_retention_days = number
enable_low_availability_alert = bool
backup_enabled = optional(bool, false)
backup_retention = optional(number, 0)
})
|
{
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection": true,
"backup_enabled": false,
"backup_retention": 0,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false,
"enable_low_availability_alert": false,
"public_network_access_enabled": false
}
| no | +| [fdr\_storage\_account](#input\_fdr\_storage\_account) | n/a |
object({
account_kind = string
account_tier = string
account_replication_type = string
advanced_threat_protection = bool
blob_versioning_enabled = bool
public_network_access_enabled = bool
blob_delete_retention_days = number
enable_low_availability_alert = bool
backup_enabled = optional(bool, false)
backup_retention = optional(number, 0)
})
|
{
"account_kind": "StorageV2",
"account_replication_type": "LRS",
"account_tier": "Standard",
"advanced_threat_protection": true,
"backup_enabled": false,
"backup_retention": 0,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false,
"enable_low_availability_alert": false,
"public_network_access_enabled": false
}
| no | | [geo\_replica\_cidr\_subnet\_postgresql](#input\_geo\_replica\_cidr\_subnet\_postgresql) | Address prefixes replica subnet postgresql | `list(string)` | `null` | no | | [geo\_replica\_enabled](#input\_geo\_replica\_enabled) | (Optional) True if geo replica should be active for key data components i.e. PostgreSQL Flexible servers | `bool` | `false` | no | -| [github](#input\_github) | n/a |
object({
org = string
})
|
{
"org": "pagopa"
}
| no | +| [github](#input\_github) | n/a |
object({
org = string
})
|
{
"org": "pagopa"
}
| no | | [ingress\_load\_balancer\_ip](#input\_ingress\_load\_balancer\_ip) | n/a | `string` | n/a | yes | | [instance](#input\_instance) | One of beta, prod01, prod02 | `string` | n/a | yes | | [k8s\_kube\_config\_path\_prefix](#input\_k8s\_kube\_config\_path\_prefix) | n/a | `string` | `"~/.kube"` | no | @@ -173,13 +173,13 @@ | [log\_analytics\_workspace\_resource\_group\_name](#input\_log\_analytics\_workspace\_resource\_group\_name) | The name of the resource group in which the Log Analytics workspace is located in. | `string` | n/a | yes | | [monitor\_resource\_group\_name](#input\_monitor\_resource\_group\_name) | Monitor resource group name | `string` | n/a | yes | | [pgres\_flex\_fdr\_db\_name](#input\_pgres\_flex\_fdr\_db\_name) | FdR DB name | `string` | `"fdr"` | no | -| [pgres\_flex\_params](#input\_pgres\_flex\_params) | Postgres Flexible |
object({
sku_name = string
db_version = string
storage_mb = string
zone = number
standby_zone = optional(number, 1)
backup_retention_days = number
geo_redundant_backup_enabled = bool
create_mode = string
pgres_flex_private_endpoint_enabled = bool
pgres_flex_ha_enabled = bool
pgres_flex_pgbouncer_enabled = bool
pgres_flex_diagnostic_settings_enabled = bool
alerts_enabled = bool
max_connections = number
pgbouncer_min_pool_size = number
max_worker_process = number
wal_level = string
shared_preoload_libraries = string
public_network_access_enabled = bool
})
| n/a | yes | +| [pgres\_flex\_params](#input\_pgres\_flex\_params) | Postgres Flexible |
object({
sku_name = string
db_version = string
storage_mb = string
zone = number
standby_zone = optional(number, 1)
backup_retention_days = number
geo_redundant_backup_enabled = bool
create_mode = string
pgres_flex_private_endpoint_enabled = bool
pgres_flex_ha_enabled = bool
pgres_flex_pgbouncer_enabled = bool
pgres_flex_diagnostic_settings_enabled = bool
alerts_enabled = bool
max_connections = number
pgbouncer_min_pool_size = number
max_worker_process = number
wal_level = string
shared_preoload_libraries = string
public_network_access_enabled = bool
})
| n/a | yes | | [postgres\_dns\_registration\_enabled](#input\_postgres\_dns\_registration\_enabled) | (Optional) If true, adds a CNAME record for the database FQDN in the db private dns | `bool` | `false` | no | | [postgres\_dns\_registration\_virtual\_endpoint\_enabled](#input\_postgres\_dns\_registration\_virtual\_endpoint\_enabled) | (Optional) If true, adds a CNAME record for the database VE in the db private dns | `bool` | `false` | no | | [prefix](#input\_prefix) | n/a | `string` | n/a | yes | | [reporting\_fdr\_blobs\_retention\_days](#input\_reporting\_fdr\_blobs\_retention\_days) | The number of day for storage\_management\_policy | `number` | `30` | no | -| [reporting\_fdr\_storage\_account](#input\_reporting\_fdr\_storage\_account) | n/a |
object({
advanced_threat_protection = bool
advanced_threat_protection_enabled = bool
blob_versioning_enabled = bool
blob_delete_retention_days = number
account_replication_type = string
})
|
{
"account_replication_type": "LRS",
"advanced_threat_protection": false,
"advanced_threat_protection_enabled": false,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false
}
| no | -| [tags](#input\_tags) | n/a | `map(any)` |
{
"CreatedBy": "Terraform"
}
| no | +| [reporting\_fdr\_storage\_account](#input\_reporting\_fdr\_storage\_account) | n/a |
object({
advanced_threat_protection = bool
advanced_threat_protection_enabled = bool
blob_versioning_enabled = bool
blob_delete_retention_days = number
account_replication_type = string
})
|
{
"account_replication_type": "LRS",
"advanced_threat_protection": false,
"advanced_threat_protection_enabled": false,
"blob_delete_retention_days": 30,
"blob_versioning_enabled": false
}
| no | +| [tags](#input\_tags) | n/a | `map(any)` |
{
"CreatedBy": "Terraform"
}
| no | ## Outputs diff --git a/src/domains/gps-app/00_data.tf b/src/domains/gps-app/00_data.tf index b4920d5c96..6888c26d68 100644 --- a/src/domains/gps-app/00_data.tf +++ b/src/domains/gps-app/00_data.tf @@ -29,7 +29,7 @@ data "azurerm_key_vault_secret" "gpd_db_pwd" { # } data "azurerm_postgresql_flexible_server" "postgres_flexible_server_private" { - count = var.env_short == "p" ? 1 : 0 # NEWGPD-DB : DEPRECATED to remove after switch to new WEU gpd + count = var.env_short == "p" ? 1 : 0 # NEWGPD-DB : DEPRECATED to remove after switch to new WEU gpd name = format("%s-gpd-pgflex", local.product) resource_group_name = format("%s-pgres-flex-rg", local.product) } diff --git a/src/domains/gps-app/README.md b/src/domains/gps-app/README.md index 2a769e13c1..cc58475b69 100644 --- a/src/domains/gps-app/README.md +++ b/src/domains/gps-app/README.md @@ -44,6 +44,7 @@ | [apim\_gps\_donation\_product](#module\_apim\_gps\_donation\_product) | ./.terraform/modules/__v3__/api_management_product | n/a | | [apim\_gps\_enrollments\_product](#module\_apim\_gps\_enrollments\_product) | ./.terraform/modules/__v3__/api_management_product | n/a | | [apim\_gps\_product](#module\_apim\_gps\_product) | ./.terraform/modules/__v3__/api_management_product | n/a | +| [apim\_gps\_spontaneous\_payments\_services\_product](#module\_apim\_gps\_spontaneous\_payments\_services\_product) | ./.terraform/modules/__v3__/api_management_product | n/a | | [apim\_pn\_integration\_product](#module\_apim\_pn\_integration\_product) | ./.terraform/modules/__v3__/api_management_product | n/a | | [gh\_runner\_job](#module\_gh\_runner\_job) | ./.terraform/modules/__v3__/gh_runner_container_app_job_domain_setup | n/a | | [pod\_identity](#module\_pod\_identity) | ./.terraform/modules/__v3__/kubernetes_pod_identity | n/a | @@ -82,12 +83,16 @@ | [azurerm_api_management_product_api.apim_api_gpd_payments_soap_product_api_v1](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_product_api) | resource | | [azurerm_api_management_product_api.apim_api_gpd_payments_soap_product_nodo_api_v1](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_product_api) | resource | | [azurerm_api_management_subscription.afm_pn_subkey_test](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_subscription) | resource | +| [azurerm_api_management_subscription.gps_spontaneous_payments_services_subkey](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_subscription) | resource | +| [azurerm_api_management_subscription.iuv_generator_subkey](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_subscription) | resource | | [azurerm_api_management_subscription.test_gpd_payments_pull_and_debt_positions_subkey](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_subscription) | resource | | [azurerm_app_service_plan.gpd_reporting_service_plan](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/app_service_plan) | resource | | [azurerm_key_vault_secret.aks_apiserver_url](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.azure_devops_sa_cacrt](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.azure_devops_sa_token](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.gpd_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | +| [azurerm_key_vault_secret.gps_mbd_service_integration_test_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | +| [azurerm_key_vault_secret.iuv_generator_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.test_gpd_payments_pull_and_debt_positions_subkey_kv](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource | | [azurerm_monitor_autoscale_setting.reporting_function](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_autoscale_setting) | resource | | [azurerm_monitor_scheduled_query_rules_alert.gpd-ingestion-manager-availability](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/monitor_scheduled_query_rules_alert) | resource | @@ -140,6 +145,8 @@ | [azuread_group.adgroup_externals](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/group) | data source | | [azuread_group.adgroup_security](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/data-sources/group) | data source | | [azurerm_api_management.apim](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/api_management) | data source | +| [azurerm_api_management_product.apim_gps_spontaneous_payments_services_product](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/api_management_product) | data source | +| [azurerm_api_management_product.apim_iuv_generator_product](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/api_management_product) | data source | | [azurerm_application_insights.application_insights](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/application_insights) | data source | | [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config) | data source | | [azurerm_container_registry.acr](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/container_registry) | data source | @@ -153,6 +160,7 @@ | [azurerm_key_vault_secret.gpd_paa_pwd](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | | [azurerm_key_vault_secret.monitor_notification_email](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | | [azurerm_key_vault_secret.monitor_notification_slack_email](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | +| [azurerm_key_vault_secret.otel_headers](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | | [azurerm_key_vault_secret.pgres_gpd_cdc_login](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | | [azurerm_key_vault_secret.pgres_gpd_cdc_pwd](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/key_vault_secret) | data source | | [azurerm_kubernetes_cluster.aks](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/kubernetes_cluster) | data source | @@ -196,6 +204,7 @@ | [gpd\_autoscale\_maximum](#input\_gpd\_autoscale\_maximum) | The maximum number of instances for this resource. | `number` | `3` | no | | [gpd\_autoscale\_minimum](#input\_gpd\_autoscale\_minimum) | The minimum number of instances for this resource. | `number` | `1` | no | | [gpd\_cache\_path](#input\_gpd\_cache\_path) | Api-Config cache path | `string` | `"/cache?keys=creditorInstitutionStations,stations"` | no | +| [gpd\_cdc\_enabled](#input\_gpd\_cdc\_enabled) | Enable CDC for GDP | `bool` | `false` | no | | [gpd\_cron\_job\_enable](#input\_gpd\_cron\_job\_enable) | GPD cron job enable | `bool` | `false` | no | | [gpd\_cron\_schedule\_expired\_to](#input\_gpd\_cron\_schedule\_expired\_to) | GDP cron scheduling (NCRON example '*/55 * * * * *') | `string` | `null` | no | | [gpd\_cron\_schedule\_valid\_to](#input\_gpd\_cron\_schedule\_valid\_to) | GPD cron scheduling (NCRON example '*/35 * * * * *') | `string` | `null` | no | @@ -222,6 +231,7 @@ | [log\_analytics\_workspace\_resource\_group\_name](#input\_log\_analytics\_workspace\_resource\_group\_name) | The name of the resource group in which the Log Analytics workspace is located in. | `string` | n/a | yes | | [max\_elapsed\_time\_millis](#input\_max\_elapsed\_time\_millis) | The maximum elapsed time in milliseconds | `number` | `1000` | no | | [max\_interval\_millis](#input\_max\_interval\_millis) | The maximum interval in milliseconds | `number` | `1000` | no | +| [max\_threads](#input\_max\_threads) | Number of max\_threads | `number` | `1` | no | | [monitor\_resource\_group\_name](#input\_monitor\_resource\_group\_name) | Monitor resource group name | `string` | `"pagopa-p-monitor-rg"` | no | | [multiplier](#input\_multiplier) | Multiplier for the client backoff procedure | `number` | `1.5` | no | | [pgbouncer\_enabled](#input\_pgbouncer\_enabled) | Built-in connection pooling solution | `bool` | `false` | no | diff --git a/src/domains/gps-common/03_postgresql_gpd.tf b/src/domains/gps-common/03_postgresql_gpd.tf index b526330bff..1c30e1ceb1 100644 --- a/src/domains/gps-common/03_postgresql_gpd.tf +++ b/src/domains/gps-common/03_postgresql_gpd.tf @@ -31,7 +31,7 @@ module "postgres_flexible_server_private" { # private only into UAT and PROD env administrator_password = data.azurerm_key_vault_secret.pgres_admin_pwd.value sku_name = "GP_Standard_D16ds_v4" # var.pgres_flex_params.sku_name # NEWGPD-DB - db_version = "13" # var.pgres_flex_params.db_version # NEWGPD-DB + db_version = "13" # var.pgres_flex_params.db_version # NEWGPD-DB storage_mb = var.pgres_flex_params.storage_mb zone = var.pgres_flex_params.zone backup_retention_days = var.pgres_flex_params.backup_retention_days @@ -72,7 +72,7 @@ module "postgres_flexible_server_private" { # private only into UAT and PROD env } resource "azurerm_postgresql_flexible_server_database" "apd_db_flex" { - count = var.env_short == "p" ? 1 : 0 # forced + count = var.env_short == "p" ? 1 : 0 # forced name = var.gpd_db_name server_id = module.postgres_flexible_server_private[0].id @@ -81,7 +81,7 @@ resource "azurerm_postgresql_flexible_server_database" "apd_db_flex" { } resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_max_connection" { - count = var.env_short == "p" ? 1 : 0 # forced + count = var.env_short == "p" ? 1 : 0 # forced name = "max_connections" server_id = module.postgres_flexible_server_private[0].id @@ -90,7 +90,7 @@ resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_max_con # Message : FATAL: unsupported startup parameter: extra_float_digits resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_ignore_startup_parameters" { - count = var.env_short == "p" ? 1 : 0 # forced + count = var.env_short == "p" ? 1 : 0 # forced name = "pgbouncer.ignore_startup_parameters" server_id = module.postgres_flexible_server_private[0].id @@ -98,7 +98,7 @@ resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_ignore_ } resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_min_pool_size" { - count = var.env_short == "p" ? 1 : 0 # forced + count = var.env_short == "p" ? 1 : 0 # forced name = "pgbouncer.min_pool_size" server_id = module.postgres_flexible_server_private[0].id @@ -107,7 +107,7 @@ resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_min_poo # CDC https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-logical resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_max_worker_process" { # NEWGPD-DB : not needed to enable on OLD version - count = 0 # var.pgres_flex_params.wal_level != null && var.env_short == "p" ? 1 : 0 # forced + count = 0 # var.pgres_flex_params.wal_level != null && var.env_short == "p" ? 1 : 0 # forced name = "max_worker_processes" server_id = module.postgres_flexible_server_private[0].id @@ -115,7 +115,7 @@ resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_max_wor } resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_wal_level" { # NEWGPD-DB : not needed to enable on OLD version - count = 0 # var.pgres_flex_params.wal_level != null && var.env_short == "p" ? 1 : 0 # forced ? 1 : 0 + count = 0 # var.pgres_flex_params.wal_level != null && var.env_short == "p" ? 1 : 0 # forced ? 1 : 0 name = "wal_level" server_id = module.postgres_flexible_server_private[0].id @@ -123,7 +123,7 @@ resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_wal_lev } resource "azurerm_postgresql_flexible_server_configuration" "apd_db_flex_shared_preoload_libraries" { # NEWGPD-DB : not needed to enable on OLD version - count = 0 # var.pgres_flex_params.wal_level != null && var.env_short == "p" ? 1 : 0 + count = 0 # var.pgres_flex_params.wal_level != null && var.env_short == "p" ? 1 : 0 name = "shared_preload_libraries" server_id = module.postgres_flexible_server_private[0].id diff --git a/src/domains/gps-common/03_postgresql_gpd_db.tf b/src/domains/gps-common/03_postgresql_gpd_db.tf index e364ef4a30..eaa8cb1ab6 100644 --- a/src/domains/gps-common/03_postgresql_gpd_db.tf +++ b/src/domains/gps-common/03_postgresql_gpd_db.tf @@ -47,7 +47,7 @@ module "postgres_flexible_snet" { } data "azurerm_private_dns_zone" "postgres" { - count = var.env_short != "d" ? 1 : 0 # forced ( before exits only in UAT and PROD now DEV too) + count = var.env_short != "d" ? 1 : 0 # forced ( before exits only in UAT and PROD now DEV too) name = "private.postgres.database.azure.com" resource_group_name = local.vnet_resource_group_name } @@ -58,7 +58,7 @@ data "azurerm_private_dns_zone" "postgres" { module "postgres_flexible_server_private_db" { source = "./.terraform/modules/__v3__/postgres_flexible_server" - name = format("%s-%s-gpd-pgflex",local.product, var.location_short) + name = format("%s-%s-gpd-pgflex", local.product, var.location_short) location = azurerm_resource_group.flex_data[0].location resource_group_name = azurerm_resource_group.flex_data[0].name diff --git a/src/domains/gps-common/README.md b/src/domains/gps-common/README.md index ba7cdcdf60..94db18f629 100644 --- a/src/domains/gps-common/README.md +++ b/src/domains/gps-common/README.md @@ -13,7 +13,7 @@ | Name | Source | Version | |------|--------|---------| -| [\_\_v3\_\_](#module\_\_\_v3\_\_) | git::https://github.com/pagopa/terraform-azurerm-v3 | v8.52.0 | +| [\_\_v3\_\_](#module\_\_\_v3\_\_) | git::https://github.com/pagopa/terraform-azurerm-v3 | v8.63.0 | | [flows](#module\_flows) | ./.terraform/modules/__v3__/storage_account | n/a | | [gpd\_cosmosdb\_containers](#module\_gpd\_cosmosdb\_containers) | ./.terraform/modules/__v3__/cosmosdb_sql_container | n/a | | [gpd\_cosmosdb\_database](#module\_gpd\_cosmosdb\_database) | ./.terraform/modules/__v3__/cosmosdb_sql_database | n/a | @@ -26,6 +26,7 @@ | [identity\_cd\_01](#module\_identity\_cd\_01) | ./.terraform/modules/__v3__/github_federated_identity | n/a | | [key\_vault](#module\_key\_vault) | ./.terraform/modules/__v3__/key_vault | n/a | | [postgres\_flexible\_server\_private](#module\_postgres\_flexible\_server\_private) | ./.terraform/modules/__v3__/postgres_flexible_server | n/a | +| [postgres\_flexible\_server\_private\_db](#module\_postgres\_flexible\_server\_private\_db) | ./.terraform/modules/__v3__/postgres_flexible_server | n/a | | [postgres\_flexible\_snet](#module\_postgres\_flexible\_snet) | ./.terraform/modules/__v3__/subnet | n/a | | [postgres\_flexible\_snet\_replica](#module\_postgres\_flexible\_snet\_replica) | ./.terraform/modules/__v3__/subnet | n/a | | [postgresql\_gpd\_replica\_db](#module\_postgresql\_gpd\_replica\_db) | ./.terraform/modules/__v3__/postgres_flexible_server_replica | n/a | @@ -90,7 +91,14 @@ | [azurerm_postgresql_flexible_server_configuration.apd_db_flex_min_pool_size](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | | [azurerm_postgresql_flexible_server_configuration.apd_db_flex_shared_preoload_libraries](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | | [azurerm_postgresql_flexible_server_configuration.apd_db_flex_wal_level](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | +| [azurerm_postgresql_flexible_server_configuration.pd_pgbouncer_ignore_startup_parameters](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | +| [azurerm_postgresql_flexible_server_configuration.pg_max_connections](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | +| [azurerm_postgresql_flexible_server_configuration.pg_max_worker_processes](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | +| [azurerm_postgresql_flexible_server_configuration.pg_pgbouncer_min_pool_size](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | +| [azurerm_postgresql_flexible_server_configuration.pg_shared_preload_libraries](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | +| [azurerm_postgresql_flexible_server_configuration.pg_wal_level](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_configuration) | resource | | [azurerm_postgresql_flexible_server_database.apd_db_flex](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_database) | resource | +| [azurerm_postgresql_flexible_server_database.pg_charset](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/postgresql_flexible_server_database) | resource | | [azurerm_private_dns_a_record.ingress](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/private_dns_a_record) | resource | | [azurerm_private_dns_cname_record.cname_record](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/private_dns_cname_record) | resource | | [azurerm_private_endpoint.gpd_blob](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/private_endpoint) | resource | @@ -173,6 +181,7 @@ | [geo\_replica\_enabled](#input\_geo\_replica\_enabled) | (Optional) True if geo replica should be active for key data components i.e. PostgreSQL Flexible servers | `bool` | `false` | no | | [gpd\_archive\_advanced\_threat\_protection](#input\_gpd\_archive\_advanced\_threat\_protection) | Enable contract threat advanced protection | `bool` | `false` | no | | [gpd\_archive\_replication\_type](#input\_gpd\_archive\_replication\_type) | Archive storage account replication type | `string` | n/a | yes | +| [gpd\_cdc\_enabled](#input\_gpd\_cdc\_enabled) | Enable CDC for GDP | `bool` | `false` | no | | [gpd\_db\_name](#input\_gpd\_db\_name) | Name of the DB to connect to | `string` | `"apd"` | no | | [gpd\_sftp\_cidr\_subnet\_gpd\_storage\_account](#input\_gpd\_sftp\_cidr\_subnet\_gpd\_storage\_account) | Storage account network address space. | `list(string)` | n/a | yes | | [gpd\_sftp\_disable\_network\_rules](#input\_gpd\_sftp\_disable\_network\_rules) | If false, allow any connection from outside the vnet | `bool` | `false` | no | diff --git a/src/domains/gps-common/env/weu-prod/terraform.tfvars b/src/domains/gps-common/env/weu-prod/terraform.tfvars index 05115f7e20..d7c270d72c 100644 --- a/src/domains/gps-common/env/weu-prod/terraform.tfvars +++ b/src/domains/gps-common/env/weu-prod/terraform.tfvars @@ -82,7 +82,7 @@ pgres_flex_params = { enable_private_dns_registration = false enable_private_dns_registration_virtual_endpoint = true max_worker_process = 32 - wal_level = "logical" # gpd_cdc_enabled + wal_level = "logical" # gpd_cdc_enabled shared_preoload_libraries = "pg_failover_slots,pglogical" # gpd_cdc_enabled public_network_access_enabled = false } diff --git a/src/domains/gps-common/env/weu-uat/terraform.tfvars b/src/domains/gps-common/env/weu-uat/terraform.tfvars index d30c595cc8..85eb636741 100644 --- a/src/domains/gps-common/env/weu-uat/terraform.tfvars +++ b/src/domains/gps-common/env/weu-uat/terraform.tfvars @@ -76,7 +76,7 @@ pgres_flex_params = { enable_private_dns_registration = true enable_private_dns_registration_virtual_endpoint = false max_worker_process = 32 - wal_level = "logical" # gpd_cdc_enabled + wal_level = "logical" # gpd_cdc_enabled shared_preoload_libraries = "pg_failover_slots,pglogical" # gpd_cdc_enabled public_network_access_enabled = false } diff --git a/src/domains/nodo-common/06_service_bus_wisp_converter.tf b/src/domains/nodo-common/06_service_bus_wisp_converter.tf index 36d8836275..647b31fe4d 100644 --- a/src/domains/nodo-common/06_service_bus_wisp_converter.tf +++ b/src/domains/nodo-common/06_service_bus_wisp_converter.tf @@ -57,7 +57,7 @@ resource "azurerm_servicebus_namespace" "service_bus_wisp" { premium_messaging_partitions = var.service_bus_wisp.premium_messaging_partitions dynamic "network_rule_set" { - for_each = var.env_short != "d" ? [1] : [] + for_each = var.env_short == "p" ? [1] : [] content { trusted_services_allowed = true diff --git a/src/domains/nodo-common/env/weu-uat/terraform.tfvars b/src/domains/nodo-common/env/weu-uat/terraform.tfvars index 2b5431c9ae..20f7ad7c57 100644 --- a/src/domains/nodo-common/env/weu-uat/terraform.tfvars +++ b/src/domains/nodo-common/env/weu-uat/terraform.tfvars @@ -305,12 +305,12 @@ enabled_features = { Service Bus *****************/ service_bus_wisp = { - sku = "Premium" + sku = "Standard" requires_duplicate_detection = false dead_lettering_on_message_expiration = false - queue_default_message_ttl = null # default is good - capacity = 1 - premium_messaging_partitions = 1 + queue_default_message_ttl = "P7D" # default for Standard P10675199DT2H48M5.4775807S + capacity = 0 + premium_messaging_partitions = 0 } # queue_name shall be __ # producer shall have only send authorization diff --git a/src/domains/observability/03_eventhub_msg_gdp.tf b/src/domains/observability/03_eventhub_msg_gdp.tf index 98b73fc8cf..177cd863c4 100644 --- a/src/domains/observability/03_eventhub_msg_gdp.tf +++ b/src/domains/observability/03_eventhub_msg_gdp.tf @@ -78,8 +78,8 @@ resource "azurerm_eventhub_namespace_authorization_rule" "cdc_connection_string" # --retention-time 24 -resource "azurerm_eventhub_namespace_authorization_rule" "cdc_test_connection_string" { - count = var.env != "p" ? 1 : 0 +resource "azurerm_eventhub_namespace_authorization_rule" "cdc_test_connection_string" { + count = var.env != "p" ? 1 : 0 name = "cdc-gpd-test-connection-string" namespace_name = module.eventhub_namespace_observability_gpd.name @@ -90,7 +90,7 @@ resource "azurerm_eventhub_namespace_authorization_rule" "cdc_test_connection_st } resource "azurerm_key_vault_secret" "azure_web_jobs_storage_kv" { - count = var.env != "p" ? 1 : 0 + count = var.env != "p" ? 1 : 0 name = "cdc-gpd-test-connection-string" value = azurerm_eventhub_namespace_authorization_rule.cdc_test_connection_string[0].primary_connection_string diff --git a/src/domains/observability/README.md b/src/domains/observability/README.md index d23ffe99e3..b8d1cae08d 100644 --- a/src/domains/observability/README.md +++ b/src/domains/observability/README.md @@ -85,7 +85,9 @@ | [azurerm_data_factory_trigger_schedule.Trigger_PDND_KPI_WAFDR](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/data_factory_trigger_schedule) | resource | | [azurerm_data_factory_trigger_schedule.Trigger_PDND_KPI_WPNFDR](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/data_factory_trigger_schedule) | resource | | [azurerm_eventhub_namespace_authorization_rule.cdc_connection_string](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/eventhub_namespace_authorization_rule) | resource | +| [azurerm_eventhub_namespace_authorization_rule.cdc_test_connection_string](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/eventhub_namespace_authorization_rule) | resource | | [azurerm_key_vault_secret.apim_app_forwarder_subscription_key](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/key_vault_secret) | resource | +| [azurerm_key_vault_secret.azure_web_jobs_storage_kv](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.certificate_crt_app_forwarder_s](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/key_vault_secret) | resource | | [azurerm_key_vault_secret.certificate_key_app_forwarder_s](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/key_vault_secret) | resource | | [azurerm_kusto_cluster.data_explorer_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/resources/kusto_cluster) | resource | @@ -107,6 +109,7 @@ | [azurerm_data_factory.qi_data_factory](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/data_factory) | data source | | [azurerm_data_factory.qi_data_factory_cosmos](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/data_factory) | data source | | [azurerm_eventhub.pagopa-evh-ns03_nodo-dei-pagamenti-re_nodo-dei-pagamenti-re](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/eventhub) | data source | +| [azurerm_key_vault.gps_kv](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/key_vault) | data source | | [azurerm_key_vault.kv](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/key_vault) | data source | | [azurerm_key_vault.kv_shared](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/key_vault) | data source | | [azurerm_key_vault_secret.certificate_crt_app_forwarder](https://registry.terraform.io/providers/hashicorp/azurerm/3.53.0/docs/data-sources/key_vault_secret) | data source | diff --git a/src/domains/selfcare-app/README.md b/src/domains/selfcare-app/README.md index 9a84cec294..8cb1504c4d 100644 --- a/src/domains/selfcare-app/README.md +++ b/src/domains/selfcare-app/README.md @@ -71,6 +71,7 @@ | [azuread_group.adgroup_externals](https://registry.terraform.io/providers/hashicorp/azuread/2.30.0/docs/data-sources/group) | data source | | [azuread_group.adgroup_security](https://registry.terraform.io/providers/hashicorp/azuread/2.30.0/docs/data-sources/group) | data source | | [azurerm_api_management.apim](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/api_management) | data source | +| [azurerm_api_management_api.apim_backoffice-helpdesk_v1](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/api_management_api) | data source | | [azurerm_api_management_product.apim_notices_product](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/api_management_product) | data source | | [azurerm_application_insights.application_insights](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/application_insights) | data source | | [azurerm_client_config.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config) | data source | diff --git a/src/elk-monitoring/README.md b/src/elk-monitoring/README.md index 0b7ff0ef50..8d59f0891a 100644 --- a/src/elk-monitoring/README.md +++ b/src/elk-monitoring/README.md @@ -1,7 +1,7 @@ # elk-monitoring - + ## Requirements | Name | Version | @@ -234,4 +234,4 @@ ## Outputs No outputs. - + diff --git a/src/grafana-monitoring/README.md b/src/grafana-monitoring/README.md index ab9d5e3ca4..842e073d23 100644 --- a/src/grafana-monitoring/README.md +++ b/src/grafana-monitoring/README.md @@ -1,7 +1,7 @@ # grafana-monitoring - + ## Requirements | Name | Version | @@ -57,4 +57,4 @@ No modules. ## Outputs No outputs. - + diff --git a/src/packer/README.md b/src/packer/README.md index a4cdda7d58..d57d3c7a5c 100644 --- a/src/packer/README.md +++ b/src/packer/README.md @@ -1,7 +1,7 @@ # packer - + ## Requirements | Name | Version | @@ -43,4 +43,4 @@ ## Outputs No outputs. - + diff --git a/src/synthetic-monitoring/README.md b/src/synthetic-monitoring/README.md index 95d7a38cf9..3be7974b19 100644 --- a/src/synthetic-monitoring/README.md +++ b/src/synthetic-monitoring/README.md @@ -1,6 +1,6 @@ # synthetic monitoring - + ## Requirements | Name | Version | @@ -55,4 +55,4 @@ ## Outputs No outputs. - + diff --git a/src/zabbix/README.md b/src/zabbix/README.md index e3e9886a54..c4f7312c44 100644 --- a/src/zabbix/README.md +++ b/src/zabbix/README.md @@ -1,7 +1,7 @@ # zabbix - + ## Requirements | Name | Version | @@ -59,4 +59,4 @@ ## Outputs No outputs. - +