diff --git a/tf/modules/ooniapi_frontend/main.tf b/tf/modules/ooniapi_frontend/main.tf index 93de70fc..aa308b87 100644 --- a/tf/modules/ooniapi_frontend/main.tf +++ b/tf/modules/ooniapi_frontend/main.tf @@ -457,3 +457,25 @@ resource "aws_lb_listener_rule" "ooniapi_oonimeasurements_rule_2" { } } } + +resource "aws_lb_listener_rule" "ooniapi_citizenlab_rule" { + listener_arn = aws_alb_listener.ooniapi_listener_https.arn + priority = 143 + + action { + type = "forward" + target_group_arn = var.ooniapi_citizenlab_target_group_arn + } + condition { + path_pattern { + values = [ + "/api/_/url-submission/test-list/*", + "/api/_/url-priorities/list", + "/api/_/url-priorities/update", + "/api/v1/url-submission/submit", + "/api/v1/url-submission/update-url", + "/api/", + ] + } + } +} diff --git a/tf/modules/ooniapi_frontend/variables.tf b/tf/modules/ooniapi_frontend/variables.tf index d4ec3dd0..2c676694 100644 --- a/tf/modules/ooniapi_frontend/variables.tf +++ b/tf/modules/ooniapi_frontend/variables.tf @@ -37,6 +37,10 @@ variable "ooniapi_oonimeasurements_target_group_arn" { default = null } +variable "ooniapi_citizenlab_target_group_arn" { + description = "arn for the target group of the citizenlab service" +} + variable "dns_zone_ooni_io" { description = "id of the DNS zone for ooni_io" }