From acd166fdc6b9ae82d4643605f51fec1455bcbf75 Mon Sep 17 00:00:00 2001 From: Peter Dudfield Date: Thu, 4 Dec 2025 22:12:00 +0000 Subject: [PATCH 1/8] add Primaries API --- terraform/nowcasting/development/main.tf | 34 +++++++++++++++++-- terraform/nowcasting/development/variables.tf | 6 ++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/terraform/nowcasting/development/main.tf b/terraform/nowcasting/development/main.tf index eb5d7c68..b0e702c8 100644 --- a/terraform/nowcasting/development/main.tf +++ b/terraform/nowcasting/development/main.tf @@ -17,10 +17,11 @@ This is the main terraform code for the UK platform. It is used to deploy the pl 5.1 - PVSite database 5.2 - PVSite API 5.3 - PVSite ML bucket -6.1 - Open Data PVnet -7.0 - API Open Quartz Solar +6.1 - Open Data PVnet (dev only) +7.0 - API Open Quartz Solar (dev only) 8.0 - Data Platform Database 8.1 - Data Platform API +9.0 - Primaries API Variables used across all modules ======*/ @@ -317,3 +318,32 @@ module "data_platform_api" { elbscheme="internal" elb_ports=["80","50051"] } + + +# 9.0 Primaries API +module "primaries-api" { + source = "../../modules/services/eb_app" + domain = local.domain + aws-region = local.region + aws-environment = local.environment + aws-subnet_id = module.network.public_subnet_ids[0] + aws-vpc_id = module.network.vpc_id + container-command = ["quartzapi"] + container-env_vars = [ + { "name" : "SOURCE", "value" : "dataplatform" }, + { "name" : "SOURCE", "value" : "dataplatform" }, + { "name" : "PORT", "value" : "80" }, + { "name" : "DB_URL", "value" : module.postgres-rds.default_db_connection_url }, + { "name" : "AUTH0_DOMAIN", "value" : var.auth_domain }, + { "name" : "AUTH0_API_AUDIENCE", "value" : var.auth_api_audience }, + { "name" : "SENTRY_DSN", "value" : var.sentry_dsn_api }, + { "name" : "ENVIRONMENT", "value": local.environment}, + { "name" : "DATA_PLATFORM_HOST", "value": module.data_platform_api.api_url}, + { "name" : "DATA_PLATFORM_PORT", "value": "50051"}, + ] + container-name = "quartz-api" + container-tag = var.version-primaries-api + container-registry = "ghcr.io/openclimatefix" + eb-app_name = "primaries-api" + s3_bucket = [] +} \ No newline at end of file diff --git a/terraform/nowcasting/development/variables.tf b/terraform/nowcasting/development/variables.tf index 3ea51bd9..1c3d653c 100644 --- a/terraform/nowcasting/development/variables.tf +++ b/terraform/nowcasting/development/variables.tf @@ -86,4 +86,10 @@ variable "data_platform_api_version" { type = string description = "Docker verions for the data platform api" default = "update-build-location" +} + +variable "version-primaries-api" { + type = string + description = "Docker verions for the data primaries api" + default = "0.4.0" } \ No newline at end of file From 5c4d97fc036c4f95537c95477b77abd88951ee6e Mon Sep 17 00:00:00 2001 From: Peter Dudfield Date: Thu, 4 Dec 2025 22:15:02 +0000 Subject: [PATCH 2/8] add ROUTERS --- terraform/nowcasting/development/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/nowcasting/development/main.tf b/terraform/nowcasting/development/main.tf index b0e702c8..6728db70 100644 --- a/terraform/nowcasting/development/main.tf +++ b/terraform/nowcasting/development/main.tf @@ -331,7 +331,7 @@ module "primaries-api" { container-command = ["quartzapi"] container-env_vars = [ { "name" : "SOURCE", "value" : "dataplatform" }, - { "name" : "SOURCE", "value" : "dataplatform" }, + { "name" : "ROUTERS", "value" : "substations" }, { "name" : "PORT", "value" : "80" }, { "name" : "DB_URL", "value" : module.postgres-rds.default_db_connection_url }, { "name" : "AUTH0_DOMAIN", "value" : var.auth_domain }, From 67b7449f7d5558b644de2c23245b0e4ec54a89bd Mon Sep 17 00:00:00 2001 From: Peter Dudfield Date: Fri, 5 Dec 2025 10:57:21 +0000 Subject: [PATCH 3/8] fix --- terraform/nowcasting/development/main.tf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/terraform/nowcasting/development/main.tf b/terraform/nowcasting/development/main.tf index 6728db70..dad8f104 100644 --- a/terraform/nowcasting/development/main.tf +++ b/terraform/nowcasting/development/main.tf @@ -324,16 +324,16 @@ module "data_platform_api" { module "primaries-api" { source = "../../modules/services/eb_app" domain = local.domain - aws-region = local.region + aws-region = var.region aws-environment = local.environment - aws-subnet_id = module.network.public_subnet_ids[0] - aws-vpc_id = module.network.vpc_id + aws-subnet_id = module.networking.public_subnet_ids[0] + aws-vpc_id = module.networking.vpc_id container-command = ["quartzapi"] container-env_vars = [ { "name" : "SOURCE", "value" : "dataplatform" }, { "name" : "ROUTERS", "value" : "substations" }, { "name" : "PORT", "value" : "80" }, - { "name" : "DB_URL", "value" : module.postgres-rds.default_db_connection_url }, + { "name" : "DB_URL", "value" : module.database.forecast-database-secret-url }, { "name" : "AUTH0_DOMAIN", "value" : var.auth_domain }, { "name" : "AUTH0_API_AUDIENCE", "value" : var.auth_api_audience }, { "name" : "SENTRY_DSN", "value" : var.sentry_dsn_api }, From 8497def05c42094b8f225d43987e04ad536518e1 Mon Sep 17 00:00:00 2001 From: Peter Dudfield Date: Fri, 5 Dec 2025 13:30:33 +0000 Subject: [PATCH 4/8] 0.3.4 --- terraform/nowcasting/development/variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/nowcasting/development/variables.tf b/terraform/nowcasting/development/variables.tf index 1c3d653c..8d0dd0fe 100644 --- a/terraform/nowcasting/development/variables.tf +++ b/terraform/nowcasting/development/variables.tf @@ -91,5 +91,5 @@ variable "data_platform_api_version" { variable "version-primaries-api" { type = string description = "Docker verions for the data primaries api" - default = "0.4.0" + default = "0.3.4" } \ No newline at end of file From 557a05dfe836d593993137fa8c9fe41c3b773e3e Mon Sep 17 00:00:00 2001 From: Peter Dudfield <34686298+peterdudfield@users.noreply.github.com> Date: Fri, 5 Dec 2025 13:55:07 +0000 Subject: [PATCH 5/8] Update terraform/nowcasting/development/main.tf Co-authored-by: devsjc <47188100+devsjc@users.noreply.github.com> --- terraform/nowcasting/development/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/nowcasting/development/main.tf b/terraform/nowcasting/development/main.tf index dad8f104..857ab5da 100644 --- a/terraform/nowcasting/development/main.tf +++ b/terraform/nowcasting/development/main.tf @@ -328,7 +328,7 @@ module "primaries-api" { aws-environment = local.environment aws-subnet_id = module.networking.public_subnet_ids[0] aws-vpc_id = module.networking.vpc_id - container-command = ["quartzapi"] + container-command = ["quartz-api"] container-env_vars = [ { "name" : "SOURCE", "value" : "dataplatform" }, { "name" : "ROUTERS", "value" : "substations" }, From e919ee1a1e22959ddfb670dd366caba1afc6dd0f Mon Sep 17 00:00:00 2001 From: Peter Dudfield Date: Fri, 5 Dec 2025 14:01:05 +0000 Subject: [PATCH 6/8] update api name --- terraform/nowcasting/development/main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terraform/nowcasting/development/main.tf b/terraform/nowcasting/development/main.tf index 857ab5da..839fabc4 100644 --- a/terraform/nowcasting/development/main.tf +++ b/terraform/nowcasting/development/main.tf @@ -321,7 +321,7 @@ module "data_platform_api" { # 9.0 Primaries API -module "primaries-api" { +module "quartz-api-primaries" { source = "../../modules/services/eb_app" domain = local.domain aws-region = var.region @@ -344,6 +344,6 @@ module "primaries-api" { container-name = "quartz-api" container-tag = var.version-primaries-api container-registry = "ghcr.io/openclimatefix" - eb-app_name = "primaries-api" + eb-app_name = "quartz-api-primaries" s3_bucket = [] } \ No newline at end of file From 869ec0b03baa186fb2cc3e03ee17db78567db8ab Mon Sep 17 00:00:00 2001 From: Peter Dudfield Date: Fri, 5 Dec 2025 15:09:48 +0000 Subject: [PATCH 7/8] rename --- terraform/nowcasting/development/main.tf | 6 +++--- terraform/nowcasting/development/variables.tf | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/terraform/nowcasting/development/main.tf b/terraform/nowcasting/development/main.tf index 839fabc4..b5b23514 100644 --- a/terraform/nowcasting/development/main.tf +++ b/terraform/nowcasting/development/main.tf @@ -321,7 +321,7 @@ module "data_platform_api" { # 9.0 Primaries API -module "quartz-api-primaries" { +module "quartz-api" { source = "../../modules/services/eb_app" domain = local.domain aws-region = var.region @@ -342,8 +342,8 @@ module "quartz-api-primaries" { { "name" : "DATA_PLATFORM_PORT", "value": "50051"}, ] container-name = "quartz-api" - container-tag = var.version-primaries-api + container-tag = var.version-api container-registry = "ghcr.io/openclimatefix" - eb-app_name = "quartz-api-primaries" + eb-app_name = "quartz-api" s3_bucket = [] } \ No newline at end of file diff --git a/terraform/nowcasting/development/variables.tf b/terraform/nowcasting/development/variables.tf index 8d0dd0fe..b29dc6bf 100644 --- a/terraform/nowcasting/development/variables.tf +++ b/terraform/nowcasting/development/variables.tf @@ -88,7 +88,7 @@ variable "data_platform_api_version" { default = "update-build-location" } -variable "version-primaries-api" { +variable "version-api" { type = string description = "Docker verions for the data primaries api" default = "0.3.4" From 3f428ebf8e24ab4c9d11126f6dc42c0e355fee91 Mon Sep 17 00:00:00 2001 From: Peter Dudfield <34686298+peterdudfield@users.noreply.github.com> Date: Fri, 5 Dec 2025 15:15:25 +0000 Subject: [PATCH 8/8] Update terraform/nowcasting/development/variables.tf Co-authored-by: devsjc <47188100+devsjc@users.noreply.github.com> --- terraform/nowcasting/development/variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/nowcasting/development/variables.tf b/terraform/nowcasting/development/variables.tf index b29dc6bf..d2d87f4b 100644 --- a/terraform/nowcasting/development/variables.tf +++ b/terraform/nowcasting/development/variables.tf @@ -90,6 +90,6 @@ variable "data_platform_api_version" { variable "version-api" { type = string - description = "Docker verions for the data primaries api" + description = "Docker image tag for the quartz api" default = "0.3.4" } \ No newline at end of file