diff --git a/tf/environments/dev/main.tf b/tf/environments/dev/main.tf index 47e3ccd..4d4e740 100644 --- a/tf/environments/dev/main.tf +++ b/tf/environments/dev/main.tf @@ -498,7 +498,7 @@ module "ooniapi_oonifindings_deployer" { service_name = "oonifindings" repo = "ooni/backend" - branch_name = "oonidata" + branch_name = "master" buildspec_path = "ooniapi/services/oonifindings/buildspec.yml" codestar_connection_arn = aws_codestarconnections_connection.oonidevops.arn @@ -610,6 +610,56 @@ module "ooniapi_ooniauth" { ) } +### OONI Measurements service + +module "ooniapi_oonimeasurements_deployer" { + source = "../../modules/ooniapi_service_deployer" + + service_name = "oonimeasurements" + repo = "ooni/backend" + branch_name = "master" + buildspec_path = "ooniapi/services/oonimeasurements/buildspec.yml" + codestar_connection_arn = aws_codestarconnections_connection.oonidevops.arn + + codepipeline_bucket = aws_s3_bucket.ooniapi_codepipeline_bucket.bucket + + ecs_service_name = module.ooniapi_oonifindings.ecs_service_name + ecs_cluster_name = module.ooniapi_cluster.cluster_name +} + +module "ooniapi_oonifindings" { + source = "../../modules/ooniapi_service" + + task_memory = 64 + + vpc_id = module.network.vpc_id + public_subnet_ids = module.network.vpc_subnet_public[*].id + private_subnet_ids = module.network.vpc_subnet_private[*].id + + service_name = "oonimeasurements" + default_docker_image_url = "ooni/api-oonimeasurements:latest" + stage = local.environment + dns_zone_ooni_io = local.dns_zone_ooni_io + key_name = module.adm_iam_roles.oonidevops_key_name + ecs_cluster_id = module.ooniapi_cluster.cluster_id + + task_secrets = { + POSTGRESQL_URL = aws_secretsmanager_secret_version.oonipg_url.arn + JWT_ENCRYPTION_KEY = aws_secretsmanager_secret_version.jwt_secret.arn + PROMETHEUS_METRICS_PASSWORD = aws_secretsmanager_secret_version.prometheus_metrics_password.arn + CLICKHOUSE_URL = data.aws_ssm_parameter.clickhouse_readonly_url.arn + } + + ooniapi_service_security_groups = [ + module.ooniapi_cluster.web_security_group_id + ] + + tags = merge( + local.tags, + { Name = "ooni-tier0-oonimeasurements" } + ) +} + #### OONI Tier0 API Frontend module "ooniapi_frontend" { @@ -618,11 +668,11 @@ module "ooniapi_frontend" { vpc_id = module.network.vpc_id subnet_ids = module.network.vpc_subnet_public[*].id - oonibackend_proxy_target_group_arn = module.ooniapi_reverseproxy.alb_target_group_id - ooniapi_oonirun_target_group_arn = module.ooniapi_oonirun.alb_target_group_id - ooniapi_ooniauth_target_group_arn = module.ooniapi_ooniauth.alb_target_group_id - ooniapi_ooniprobe_target_group_arn = module.ooniapi_ooniprobe.alb_target_group_id - ooniapi_oonifindings_target_group_arn = module.ooniapi_oonifindings.alb_target_group_id + oonibackend_proxy_target_group_arn = module.ooniapi_reverseproxy.alb_target_group_id + ooniapi_oonirun_target_group_arn = module.ooniapi_oonirun.alb_target_group_id + ooniapi_ooniauth_target_group_arn = module.ooniapi_ooniauth.alb_target_group_id + ooniapi_ooniprobe_target_group_arn = module.ooniapi_ooniprobe.alb_target_group_id + ooniapi_oonifindings_target_group_arn = module.ooniapi_oonifindings.alb_target_group_id ooniapi_oonimeasurements_target_group_arn = module.ooniapi_oonimeasurements.alb_target_group_id ooniapi_service_security_groups = [ diff --git a/tf/modules/ooniapi_frontend/main.tf b/tf/modules/ooniapi_frontend/main.tf index be32136..f4b47f3 100644 --- a/tf/modules/ooniapi_frontend/main.tf +++ b/tf/modules/ooniapi_frontend/main.tf @@ -184,9 +184,6 @@ resource "aws_lb_listener_rule" "ooniapi_oonifindings_rule" { path_pattern { values = [ "/api/v1/incidents/*", - "/api/v1/aggregation/*", - "/api/v1/observations", - "/api/v1/analysis", ] } } @@ -207,7 +204,7 @@ resource "aws_lb_listener_rule" "ooniapi_oonifindings_rule_host" { } } -resource "aws_lb_listener_rule" "ooniapi_oonifindings_rule" { +resource "aws_lb_listener_rule" "ooniapi_oonimeasurements_rule" { listener_arn = aws_alb_listener.ooniapi_listener_https.arn priority = 140 @@ -224,13 +221,16 @@ resource "aws_lb_listener_rule" "ooniapi_oonifindings_rule" { "/api/v1/measurement_meta", "/api/v1/measurements", "/api/v1/torsf_stats", - "/api/v1/aggregation" + "/api/v1/aggregation", + "/api/v1/aggregation/*", + "/api/v1/observations", + "/api/v1/analysis", ] } } } -resource "aws_lb_listener_rule" "ooniapi_oonifindings_rule_host" { +resource "aws_lb_listener_rule" "ooniapi_oonimeasurements_rule_host" { listener_arn = aws_alb_listener.ooniapi_listener_https.arn priority = 141