Skip to content

Commit eecf3eb

Browse files
authored
Merge pull request #2758 from DFE-Digital/2345-add-rate-limiting-for-services
Add ingress rate limit
2 parents 33058e8 + 4866228 commit eecf3eb

File tree

4 files changed

+27
-1
lines changed

4 files changed

+27
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ bin/konduit.sh
2828
.terraform
2929
terraform/*token*
3030
terraform/*/vendor
31+
terraform/domains/*/vendor/

terraform/domains/environment_domains/config/production.tfvars.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,16 @@
22
"domains": ["www", "apex"],
33
"environment_short": "pd",
44
"environment_tag": "Prod",
5-
"origin_hostname": "apply-for-qts-production-web.teacherservices.cloud"
5+
"origin_hostname": "apply-for-qts-production-web.teacherservices.cloud",
6+
"rate_limit": [
7+
{
8+
"agent": "all",
9+
"priority": 100,
10+
"duration": 5,
11+
"limit": 300,
12+
"selector": "Host",
13+
"operator": "GreaterThanOrEqual",
14+
"match_values": "0"
15+
}
16+
]
617
}

terraform/domains/environment_domains/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ module "domains" {
66
domains = var.domains
77
environment = var.environment_short
88
host_name = var.origin_hostname
9+
rate_limit = try(var.rate_limit, null)
910
}
1011

1112
data "azurerm_cdn_frontdoor_profile" "main" {

terraform/domains/environment_domains/variables.tf

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,19 @@ variable "origin_hostname" {
3535
description = "Origin endpoint url"
3636
}
3737

38+
variable "rate_limit" {
39+
type = list(object({
40+
agent = optional(string)
41+
priority = optional(number)
42+
duration = optional(number)
43+
limit = optional(number)
44+
selector = optional(string)
45+
operator = optional(string)
46+
match_values = optional(string)
47+
}))
48+
default = null
49+
}
50+
3851
locals {
3952
hostname = "${var.domains[0]}.${var.zone}"
4053
}

0 commit comments

Comments
 (0)