Skip to content

Commit 6a37a37

Browse files
authored
Add api.io.wallet.pagopa.it to PSN AppGw (#615)
1 parent 2252b2e commit 6a37a37

File tree

4 files changed

+39
-7
lines changed

4 files changed

+39
-7
lines changed

infra/core/psn/hub/prod/appgw.tf

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
locals {
2+
api_prefix = "api"
23
apim_prefix = "apim"
34
cdn_prefix = "cdn"
45

@@ -19,12 +20,15 @@ locals {
1920
apim_backend_settings_name = "${local.apim_prefix}-backend-pool-settings"
2021
cdn_backend_settings_name = "${local.cdn_prefix}-backend-pool-settings"
2122

23+
api_listener_name = "${local.api_prefix}-listener"
2224
apim_http_listener_name = "${local.apim_prefix}-listener"
2325
cdn_listener_name = "${local.cdn_prefix}-listener"
2426

27+
certificate_name_api = "api-wallet-io-pagopa-it"
2528
certificate_name_internal = "api-internal-wallet-io-pagopa-it"
2629
certificate_name_cdn = "wallet-io-pagopa-it"
2730

31+
api_routing_rule_name = "${local.api_prefix}-routing-rule"
2832
apim_routing_rule_name = "${local.apim_prefix}-routing-rule"
2933
cdn_routing_rule_name = "${local.cdn_prefix}-routing-rule"
3034

@@ -112,7 +116,6 @@ resource "azurerm_application_gateway" "hub" {
112116
request_timeout = 20
113117
}
114118

115-
116119
http_listener {
117120
name = local.appgw.apim_http_listener_name
118121
frontend_ip_configuration_name = local.appgw.frontend_private_ip_configuration_name
@@ -131,6 +134,15 @@ resource "azurerm_application_gateway" "hub" {
131134
ssl_certificate_name = local.appgw.certificate_name_cdn
132135
}
133136

137+
http_listener {
138+
name = local.appgw.api_listener_name
139+
frontend_ip_configuration_name = local.appgw.frontend_public_ip_configuration_name
140+
frontend_port_name = local.appgw.frontend_secure_port_name
141+
protocol = "Https"
142+
require_sni = false
143+
ssl_certificate_name = local.appgw.certificate_name_api
144+
}
145+
134146
request_routing_rule {
135147
name = local.appgw.apim_routing_rule_name
136148
priority = 10010
@@ -140,6 +152,15 @@ resource "azurerm_application_gateway" "hub" {
140152
backend_http_settings_name = local.appgw.apim_backend_settings_name
141153
}
142154

155+
request_routing_rule {
156+
name = local.appgw.api_routing_rule_name
157+
priority = 10012
158+
http_listener_name = local.appgw.api_http_listener_name
159+
rule_type = "Basic"
160+
backend_address_pool_name = local.appgw.apim_backend_pool_name
161+
backend_http_settings_name = local.appgw.apim_backend_settings_name
162+
}
163+
143164
request_routing_rule {
144165
name = local.appgw.cdn_routing_rule_name
145166
priority = 10020
@@ -152,14 +173,14 @@ resource "azurerm_application_gateway" "hub" {
152173
probe {
153174
name = local.appgw.apim_probe_name
154175
protocol = "Https"
155-
path = "/"
176+
path = "/echo/fake" # temporary path for health probe
156177
timeout = 5
157178
interval = 10
158179
unhealthy_threshold = 3
159180
pick_host_name_from_backend_http_settings = true
160181

161182
match {
162-
status_code = ["200"]
183+
status_code = ["204"]
163184
}
164185
}
165186

@@ -211,6 +232,11 @@ resource "azurerm_application_gateway" "hub" {
211232
key_vault_secret_id = "https://iw-p-itn-infra-kv-01.vault.azure.net:443/secrets/${local.appgw.certificate_name_cdn}/"
212233
}
213234

235+
ssl_certificate {
236+
name = local.appgw.certificate_name_api
237+
key_vault_secret_id = "https://iw-p-itn-infra-kv-01.vault.azure.net:443/secrets/${local.appgw.certificate_name_api}/"
238+
}
239+
214240
ssl_policy {
215241
policy_type = "Custom"
216242
min_protocol_version = "TLSv1_2"

infra/resources/prod/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
| [azurerm_api_management_api_tag.wallet_support_legacy](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_tag) | resource |
5151
| [azurerm_api_management_api_tag.wallet_user](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_tag) | resource |
5252
| [azurerm_api_management_api_tag.wallet_user_legacy](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_tag) | resource |
53+
| [azurerm_api_management_api_tag.wallet_user_uat](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_tag) | resource |
5354
| [azurerm_api_management_api_tag.wallet_user_uat_legacy](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_tag) | resource |
5455
| [azurerm_api_management_api_version_set.wallet_support](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_version_set) | resource |
5556
| [azurerm_api_management_api_version_set.wallet_user](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_version_set) | resource |

infra/resources/prod/apim_platform.tf

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ resource "azurerm_api_management_api" "wallet_user_legacy" {
9494
revision = 1
9595

9696
description = "REST APIs consumed by IO App. This API group will be removed when app will switch the endpoints"
97-
display_name = "IT-Wallet User"
97+
display_name = "IT-Wallet User (Legacy)"
9898
path = "api/v1/wallet"
9999
protocols = ["https"]
100100

@@ -112,7 +112,7 @@ resource "azurerm_api_management_api" "wallet_user_uat_legacy" {
112112
revision = 1
113113

114114
description = "REST APIs (UAT) consumed by IO App. This API group will be removed when app will switch the endpoints"
115-
display_name = "IT-Wallet User (UAT)"
115+
display_name = "IT-Wallet User (UAT) (Legacy)"
116116
path = "api/v1/wallet/uat"
117117
protocols = ["https"]
118118

@@ -131,7 +131,7 @@ resource "azurerm_api_management_api" "wallet_support_legacy" {
131131
revision = 1
132132

133133
description = "REST APIs consumed by Customer Service Support. This API group will be removed when app will switch the endpoints"
134-
display_name = "IT-Wallet Customer Support"
134+
display_name = "IT-Wallet Customer Support (Legacy)"
135135
path = "api/v1/wallet/support"
136136
protocols = ["https"]
137137

@@ -182,6 +182,11 @@ resource "azurerm_api_management_api_tag" "wallet_user_uat_legacy" {
182182
name = azurerm_api_management_tag.wallet.name
183183
}
184184

185+
resource "azurerm_api_management_api_tag" "wallet_user_uat" {
186+
api_id = azurerm_api_management_api.wallet_user_uat.id
187+
name = azurerm_api_management_tag.wallet.name
188+
}
189+
185190
resource "azurerm_api_management_api_tag" "wallet_support" {
186191
api_id = azurerm_api_management_api.wallet_support_v1.id
187192
name = azurerm_api_management_tag.wallet.name

infra/resources/prod/dns.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ resource "azurerm_private_dns_zone" "internal_wallet_io_pagopa_it" {
2727

2828
resource "azurerm_private_dns_zone_virtual_network_link" "vnet_common_internal_wallet_io_pagopa_it" {
2929
name = data.azurerm_virtual_network.vnet_common_itn.name
30-
resource_group_name = data.azurerm_virtual_network.vnet_common_itn.resource_group_name
30+
resource_group_name = azurerm_private_dns_zone.internal_wallet_io_pagopa_it.resource_group_name
3131
virtual_network_id = data.azurerm_virtual_network.vnet_common_itn.id
3232
private_dns_zone_name = azurerm_private_dns_zone.internal_wallet_io_pagopa_it.name
3333
}

0 commit comments

Comments
 (0)