Skip to content

Commit

Permalink
feat: CHK-3498 remove recaptcha post sessions (#2540)
Browse files Browse the repository at this point in the history
* remove recaptcha. Set first implementation of rate limit by key

* remove recaptcha. Set first implementation of rate limit

* fix rate limit params

* remove recaptcha from post sessions param

* fix pre-commit

---------

Co-authored-by: Gianluca Ciuffa <[email protected]>
  • Loading branch information
ciuffagianluca and Gianluca Ciuffa authored Nov 18, 2024
1 parent c1c8aa2 commit 3789234
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 68 deletions.
2 changes: 1 addition & 1 deletion src/domains/ecommerce-app/04_apim_ecommerce_checkout.tf
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ resource "azurerm_api_management_api_operation_policy" "create_session" {
api_management_name = local.pagopa_apim_name
operation_id = "createSession"

xml_content = file("./api/ecommerce-checkout/v1/_payment_methods_policy.xml.tpl")
xml_content = file("./api/ecommerce-checkout/v1/_post_sessions.xml.tpl")
}

resource "azurerm_api_management_api_operation_policy" "get_method_testing" {
Expand Down
14 changes: 7 additions & 7 deletions src/domains/ecommerce-app/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- markdownlint-disable -->
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
<!-- BEGIN_TF_DOCS -->
## Requirements

| Name | Version |
Expand Down Expand Up @@ -192,15 +192,15 @@
| <a name="input_log_analytics_workspace_name"></a> [log\_analytics\_workspace\_name](#input\_log\_analytics\_workspace\_name) | Specifies the name of the Log Analytics Workspace. | `string` | n/a | yes |
| <a name="input_log_analytics_workspace_resource_group_name"></a> [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 |
| <a name="input_monitor_resource_group_name"></a> [monitor\_resource\_group\_name](#input\_monitor\_resource\_group\_name) | Monitor resource group name | `string` | n/a | yes |
| <a name="input_pagopa_vpn"></a> [pagopa\_vpn](#input\_pagopa\_vpn) | pagoPA on prem VPN | <pre>object({<br/> ips = list(string)<br/> })</pre> | n/a | yes |
| <a name="input_pagopa_vpn_dr"></a> [pagopa\_vpn\_dr](#input\_pagopa\_vpn\_dr) | pagoPA on prem VPN DR | <pre>object({<br/> ips = list(string)<br/> })</pre> | n/a | yes |
| <a name="input_pagopa_vpn"></a> [pagopa\_vpn](#input\_pagopa\_vpn) | pagoPA on prem VPN | <pre>object({<br> ips = list(string)<br> })</pre> | n/a | yes |
| <a name="input_pagopa_vpn_dr"></a> [pagopa\_vpn\_dr](#input\_pagopa\_vpn\_dr) | pagoPA on prem VPN DR | <pre>object({<br> ips = list(string)<br> })</pre> | n/a | yes |
| <a name="input_pdv_api_base_path"></a> [pdv\_api\_base\_path](#input\_pdv\_api\_base\_path) | Personal data vault api base path | `string` | `null` | no |
| <a name="input_pod_disruption_budgets"></a> [pod\_disruption\_budgets](#input\_pod\_disruption\_budgets) | Pod disruption budget for domain namespace | <pre>map(object({<br/> name = optional(string, null)<br/> minAvailable = optional(number, null)<br/> matchLabels = optional(map(any), {})<br/> }))</pre> | `{}` | no |
| <a name="input_pod_disruption_budgets"></a> [pod\_disruption\_budgets](#input\_pod\_disruption\_budgets) | Pod disruption budget for domain namespace | <pre>map(object({<br> name = optional(string, null)<br> minAvailable = optional(number, null)<br> matchLabels = optional(map(any), {})<br> }))</pre> | `{}` | no |
| <a name="input_prefix"></a> [prefix](#input\_prefix) | n/a | `string` | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | n/a | `map(any)` | <pre>{<br/> "CreatedBy": "Terraform"<br/>}</pre> | no |
| <a name="input_tls_cert_check_helm"></a> [tls\_cert\_check\_helm](#input\_tls\_cert\_check\_helm) | tls cert helm chart configuration | <pre>object({<br/> chart_version = string,<br/> image_name = string,<br/> image_tag = string<br/> })</pre> | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | n/a | `map(any)` | <pre>{<br> "CreatedBy": "Terraform"<br>}</pre> | no |
| <a name="input_tls_cert_check_helm"></a> [tls\_cert\_check\_helm](#input\_tls\_cert\_check\_helm) | tls cert helm chart configuration | <pre>object({<br> chart_version = string,<br> image_name = string,<br> image_tag = string<br> })</pre> | n/a | yes |

## Outputs

No outputs.
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
<!-- END_TF_DOCS -->
Original file line number Diff line number Diff line change
Expand Up @@ -675,18 +675,9 @@
"name": "lang",
"required": false,
"description": "Language requested by the user",
"schema": {
"type": "string",
}
},
{
"in": "query",
"name": "recaptchaResponse",
"description": "Recaptcha response",
"schema": {
"type": "string"
},
"required": true
}
}
],
"responses": {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<policies>
<inbound>
<rate-limit-by-key
calls="150"
renewal-period="10"
counter-key="@(context.Request.Headers.GetValueOrDefault("X-Forwarded-For"))"
/>
<base />
</inbound>
<outbound>
<base />
</outbound>
<backend>
<base />
</backend>
<on-error>
<base />
</on-error>
</policies>
18 changes: 9 additions & 9 deletions src/domains/ecommerce-common/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- markdownlint-disable -->
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
<!-- BEGIN_TF_DOCS -->
## Requirements

| Name | Version |
Expand Down Expand Up @@ -156,13 +156,13 @@
| <a name="input_cidr_subnet_cosmosdb_ecommerce"></a> [cidr\_subnet\_cosmosdb\_ecommerce](#input\_cidr\_subnet\_cosmosdb\_ecommerce) | Cosmos DB address space for ecommerce. | `list(string)` | n/a | yes |
| <a name="input_cidr_subnet_redis_ecommerce"></a> [cidr\_subnet\_redis\_ecommerce](#input\_cidr\_subnet\_redis\_ecommerce) | Redis DB address space for ecommerce. | `list(string)` | n/a | yes |
| <a name="input_cidr_subnet_storage_ecommerce"></a> [cidr\_subnet\_storage\_ecommerce](#input\_cidr\_subnet\_storage\_ecommerce) | Azure storage DB address space for ecommerce. | `list(string)` | n/a | yes |
| <a name="input_cosmos_mongo_db_ecommerce_history_params"></a> [cosmos\_mongo\_db\_ecommerce\_history\_params](#input\_cosmos\_mongo\_db\_ecommerce\_history\_params) | n/a | <pre>object({<br/> enable_serverless = bool<br/> enable_autoscaling = bool<br/> throughput = number<br/> max_throughput = number<br/> })</pre> | n/a | yes |
| <a name="input_cosmos_mongo_db_ecommerce_params"></a> [cosmos\_mongo\_db\_ecommerce\_params](#input\_cosmos\_mongo\_db\_ecommerce\_params) | n/a | <pre>object({<br/> enable_serverless = bool<br/> enable_autoscaling = bool<br/> throughput = number<br/> max_throughput = number<br/> })</pre> | n/a | yes |
| <a name="input_cosmos_mongo_db_params"></a> [cosmos\_mongo\_db\_params](#input\_cosmos\_mongo\_db\_params) | n/a | <pre>object({<br/> enabled = bool<br/> capabilities = list(string)<br/> offer_type = string<br/> server_version = string<br/> kind = string<br/> consistency_policy = object({<br/> consistency_level = string<br/> max_interval_in_seconds = number<br/> max_staleness_prefix = number<br/> })<br/> enable_free_tier = bool<br/> main_geo_location_zone_redundant = bool<br/> additional_geo_locations = list(object({<br/> location = string<br/> failover_priority = number<br/> zone_redundant = bool<br/> }))<br/> private_endpoint_enabled = bool<br/> public_network_access_enabled = bool<br/> is_virtual_network_filter_enabled = bool<br/> backup_continuous_enabled = bool<br/> enable_provisioned_throughput_exceeded_alert = bool<br/> })</pre> | n/a | yes |
| <a name="input_cosmos_mongo_db_ecommerce_history_params"></a> [cosmos\_mongo\_db\_ecommerce\_history\_params](#input\_cosmos\_mongo\_db\_ecommerce\_history\_params) | n/a | <pre>object({<br> enable_serverless = bool<br> enable_autoscaling = bool<br> throughput = number<br> max_throughput = number<br> })</pre> | n/a | yes |
| <a name="input_cosmos_mongo_db_ecommerce_params"></a> [cosmos\_mongo\_db\_ecommerce\_params](#input\_cosmos\_mongo\_db\_ecommerce\_params) | n/a | <pre>object({<br> enable_serverless = bool<br> enable_autoscaling = bool<br> throughput = number<br> max_throughput = number<br> })</pre> | n/a | yes |
| <a name="input_cosmos_mongo_db_params"></a> [cosmos\_mongo\_db\_params](#input\_cosmos\_mongo\_db\_params) | n/a | <pre>object({<br> enabled = bool<br> capabilities = list(string)<br> offer_type = string<br> server_version = string<br> kind = string<br> consistency_policy = object({<br> consistency_level = string<br> max_interval_in_seconds = number<br> max_staleness_prefix = number<br> })<br> enable_free_tier = bool<br> main_geo_location_zone_redundant = bool<br> additional_geo_locations = list(object({<br> location = string<br> failover_priority = number<br> zone_redundant = bool<br> }))<br> private_endpoint_enabled = bool<br> public_network_access_enabled = bool<br> is_virtual_network_filter_enabled = bool<br> backup_continuous_enabled = bool<br> enable_provisioned_throughput_exceeded_alert = bool<br> })</pre> | n/a | yes |
| <a name="input_dns_zone_internal_prefix"></a> [dns\_zone\_internal\_prefix](#input\_dns\_zone\_internal\_prefix) | The dns subdomain. | `string` | `null` | no |
| <a name="input_domain"></a> [domain](#input\_domain) | n/a | `string` | n/a | yes |
| <a name="input_ecommerce_storage_deadletter_params"></a> [ecommerce\_storage\_deadletter\_params](#input\_ecommerce\_storage\_deadletter\_params) | Azure storage DB params for ecommerce deadletter resources. | <pre>object({<br/> enabled = bool,<br/> kind = string,<br/> tier = string,<br/> account_replication_type = string,<br/> advanced_threat_protection = bool,<br/> retention_days = number,<br/> public_network_access_enabled = bool,<br/> })</pre> | <pre>{<br/> "account_replication_type": "LRS",<br/> "advanced_threat_protection": true,<br/> "enabled": false,<br/> "kind": "StorageV2",<br/> "public_network_access_enabled": false,<br/> "retention_days": 7,<br/> "tier": "Standard"<br/>}</pre> | no |
| <a name="input_ecommerce_storage_transient_params"></a> [ecommerce\_storage\_transient\_params](#input\_ecommerce\_storage\_transient\_params) | Azure storage DB params for ecommerce transient resources. | <pre>object({<br/> enabled = bool,<br/> kind = string,<br/> tier = string,<br/> account_replication_type = string,<br/> advanced_threat_protection = bool,<br/> retention_days = number,<br/> public_network_access_enabled = bool,<br/> })</pre> | <pre>{<br/> "account_replication_type": "LRS",<br/> "advanced_threat_protection": true,<br/> "enabled": false,<br/> "kind": "StorageV2",<br/> "public_network_access_enabled": false,<br/> "retention_days": 7,<br/> "tier": "Standard"<br/>}</pre> | no |
| <a name="input_ecommerce_storage_deadletter_params"></a> [ecommerce\_storage\_deadletter\_params](#input\_ecommerce\_storage\_deadletter\_params) | Azure storage DB params for ecommerce deadletter resources. | <pre>object({<br> enabled = bool,<br> kind = string,<br> tier = string,<br> account_replication_type = string,<br> advanced_threat_protection = bool,<br> retention_days = number,<br> public_network_access_enabled = bool,<br> })</pre> | <pre>{<br> "account_replication_type": "LRS",<br> "advanced_threat_protection": true,<br> "enabled": false,<br> "kind": "StorageV2",<br> "public_network_access_enabled": false,<br> "retention_days": 7,<br> "tier": "Standard"<br>}</pre> | no |
| <a name="input_ecommerce_storage_transient_params"></a> [ecommerce\_storage\_transient\_params](#input\_ecommerce\_storage\_transient\_params) | Azure storage DB params for ecommerce transient resources. | <pre>object({<br> enabled = bool,<br> kind = string,<br> tier = string,<br> account_replication_type = string,<br> advanced_threat_protection = bool,<br> retention_days = number,<br> public_network_access_enabled = bool,<br> })</pre> | <pre>{<br> "account_replication_type": "LRS",<br> "advanced_threat_protection": true,<br> "enabled": false,<br> "kind": "StorageV2",<br> "public_network_access_enabled": false,<br> "retention_days": 7,<br> "tier": "Standard"<br>}</pre> | no |
| <a name="input_enable_iac_pipeline"></a> [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 |
| <a name="input_env"></a> [env](#input\_env) | n/a | `string` | n/a | yes |
| <a name="input_env_short"></a> [env\_short](#input\_env\_short) | n/a | `string` | n/a | yes |
Expand All @@ -175,10 +175,10 @@
| <a name="input_log_analytics_workspace_resource_group_name"></a> [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 |
| <a name="input_monitor_resource_group_name"></a> [monitor\_resource\_group\_name](#input\_monitor\_resource\_group\_name) | Monitor resource group name | `string` | n/a | yes |
| <a name="input_prefix"></a> [prefix](#input\_prefix) | n/a | `string` | n/a | yes |
| <a name="input_redis_ecommerce_params"></a> [redis\_ecommerce\_params](#input\_redis\_ecommerce\_params) | n/a | <pre>object({<br/> capacity = number<br/> sku_name = string<br/> family = string<br/> version = string<br/> ha_enabled = bool<br/> zones = list(number)<br/> })</pre> | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | n/a | `map(any)` | <pre>{<br/> "CreatedBy": "Terraform"<br/>}</pre> | no |
| <a name="input_redis_ecommerce_params"></a> [redis\_ecommerce\_params](#input\_redis\_ecommerce\_params) | n/a | <pre>object({<br> capacity = number<br> sku_name = string<br> family = string<br> version = string<br> ha_enabled = bool<br> zones = list(number)<br> })</pre> | n/a | yes |
| <a name="input_tags"></a> [tags](#input\_tags) | n/a | `map(any)` | <pre>{<br> "CreatedBy": "Terraform"<br>}</pre> | no |

## Outputs

No outputs.
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
<!-- END_TF_DOCS -->

0 comments on commit 3789234

Please sign in to comment.