Skip to content
This repository has been archived by the owner on May 8, 2024. It is now read-only.

Commit

Permalink
Merge pull request #144 from unity-sds/120-reduce-elbs
Browse files Browse the repository at this point in the history
Reduce the number of ELBs in the U-SPS cluster
  • Loading branch information
drewm-jpl authored Jan 23, 2023
2 parents c472f3e + 32f774b commit 4c4725d
Show file tree
Hide file tree
Showing 17 changed files with 70 additions and 494 deletions.
1 change: 0 additions & 1 deletion .github/workflows/terraform_static_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,6 @@ jobs:
name: Load TFLint Config
with:
source-repo: unity-sds/unity-sps-prototype
source-ref: 16-deploy-eks-mcp
source-path: .github/config/.tflint.hcl

- name: Setup TFLint
Expand Down
2 changes: 1 addition & 1 deletion .terraform-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.1.9
1.3.6
40 changes: 0 additions & 40 deletions terraform-modules/terraform-unity-sps-hysds-cluster/api_gatway.tf
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,3 @@ resource "aws_ssm_parameter" "update_ades_wpst_url_stage_variable_of_api_gateway
overwrite = true
depends_on = [kubernetes_service.ades-wpst-api-service]
}

resource "aws_ssm_parameter" "update_grq_es_url_stage_variable_of_api_gateway" {
name = format("/%s/%s/%s-%s/api-gateway/stage-variables/grq-es-url", var.project, var.venue, var.namespace, var.counter)
type = "String"
value = "${data.kubernetes_service.grq-es.status[0].load_balancer[0].ingress[0].hostname}:${var.service_port_map.grq2_es}"
overwrite = true
depends_on = [data.kubernetes_service.grq-es]
}

resource "aws_ssm_parameter" "update_grq_rest_api_url_stage_variable_of_api_gateway" {
name = format("/%s/%s/%s-%s/api-gateway/stage-variables/grq-rest-api-url", var.project, var.venue, var.namespace, var.counter)
type = "String"
value = "${kubernetes_service.grq2-service.status[0].load_balancer[0].ingress[0].hostname}:${var.service_port_map.grq2_service}"
overwrite = true
depends_on = [kubernetes_service.grq2-service]
}

resource "aws_ssm_parameter" "update_hysds_ui_url_stage_variable_of_api_gateway" {
name = format("/%s/%s/%s-%s/api-gateway/stage-variables/hysds-ui-url", var.project, var.venue, var.namespace, var.counter)
type = "String"
value = "${kubernetes_service.hysds-ui-service.status[0].load_balancer[0].ingress[0].hostname}:${var.service_port_map.hysds_ui_service}"
overwrite = true
depends_on = [kubernetes_service.hysds-ui-service]
}

resource "aws_ssm_parameter" "update_mozart_es_url_stage_variable_of_api_gateway" {
name = format("/%s/%s/%s-%s/api-gateway/stage-variables/mozart-es-url", var.project, var.venue, var.namespace, var.counter)
type = "String"
value = "${data.kubernetes_service.mozart-es.status[0].load_balancer[0].ingress[0].hostname}:${var.service_port_map.mozart_es}"
overwrite = true
depends_on = [data.kubernetes_service.mozart-es]
}

resource "aws_ssm_parameter" "update_mozart_rest_api_url_stage_variable_of_api_gateway" {
name = format("/%s/%s/%s-%s/api-gateway/stage-variables/mozart-rest-api-url", var.project, var.venue, var.namespace, var.counter)
type = "String"
value = "${kubernetes_service.mozart-service.status[0].load_balancer[0].ingress[0].hostname}:${var.service_port_map.mozart_service}"
overwrite = true
depends_on = [kubernetes_service.mozart-service]
}
99 changes: 27 additions & 72 deletions terraform-modules/terraform-unity-sps-hysds-cluster/configs.tf
Original file line number Diff line number Diff line change
@@ -1,28 +1,14 @@
data "template_file" "mozart-settings" {
template = file("${path.module}/../../hysds/mozart/rest_api/settings.cfg")
vars = {
rabbitmq_admin_port = var.service_port_map.rabbitmq_mgmt_service_cluster_rpc
mozart_service_port = var.service_port_map.mozart_service
mozart_es_port = var.service_port_map.mozart_es
}
}

resource "kubernetes_config_map" "mozart-settings" {
metadata {
name = "mozart-settings"
namespace = kubernetes_namespace.unity-sps.metadata[0].name
}
data = {
"settings.cfg" = "${chomp(data.template_file.mozart-settings.rendered)}"
}
}

data "template_file" "grq2-settings" {
template = file("${path.module}/../../hysds/grq/rest_api/settings.cfg")
vars = {
mozart_es_port = var.service_port_map.mozart_es
redis_service_port = var.service_port_map.redis_service
grq2_es_port = var.service_port_map.grq2_es
"settings.cfg" = "${chomp(templatefile("${path.module}/../../hysds/mozart/rest_api/settings.cfg", {
rabbitmq_admin_port = var.service_port_map.rabbitmq_mgmt_service_cluster_rpc
mozart_service_port = var.service_port_map.mozart_service
mozart_es_port = var.service_port_map.mozart_es
}))}"
}
}

Expand All @@ -32,19 +18,11 @@ resource "kubernetes_config_map" "grq2-settings" {
namespace = kubernetes_namespace.unity-sps.metadata[0].name
}
data = {
"settings.cfg" = "${chomp(data.template_file.grq2-settings.rendered)}"
}
}

data "template_file" "celeryconfig" {
template = file("${path.module}/../../hysds/configs/${var.celeryconfig_filename}")
vars = {
rabbitmq_service_port = var.service_port_map.rabbitmq_service_listener
redis_service_port = var.service_port_map.redis_service
mozart_service_port = var.service_port_map.mozart_service
mozart_es_port = var.service_port_map.mozart_es
grq2_service_port = var.service_port_map.grq2_service
grq2_es_port = var.service_port_map.grq2_es
"settings.cfg" = "${chomp(templatefile("${path.module}/../../hysds/grq/rest_api/settings.cfg", {
mozart_es_port = var.service_port_map.mozart_es
redis_service_port = var.service_port_map.redis_service
grq2_es_port = var.service_port_map.grq2_es
}))}"
}
}

Expand All @@ -54,7 +32,14 @@ resource "kubernetes_config_map" "celeryconfig" {
namespace = kubernetes_namespace.unity-sps.metadata[0].name
}
data = {
"celeryconfig.py" = "${chomp(data.template_file.celeryconfig.rendered)}"
"celeryconfig.py" = "${chomp(templatefile("${path.module}/../../hysds/configs/${var.celeryconfig_filename}", {
rabbitmq_service_port = var.service_port_map.rabbitmq_service_listener
redis_service_port = var.service_port_map.redis_service
mozart_service_port = var.service_port_map.mozart_service
mozart_es_port = var.service_port_map.mozart_es
grq2_service_port = var.service_port_map.grq2_service
grq2_es_port = var.service_port_map.grq2_es
}))}"
}
}

Expand All @@ -68,20 +53,6 @@ resource "kubernetes_config_map" "netrc" {
}
}

data "template_file" "logstash-conf" {
template = file("${path.module}/../../hysds/mozart/logstash/logstash.conf")
vars = {
mozart_es_port = var.service_port_map.mozart_es
}
}

data "template_file" "logstash-yml" {
template = file("${path.module}/../../hysds/mozart/logstash/logstash.yml")
vars = {
mozart_es_port = var.service_port_map.mozart_es
}
}

resource "kubernetes_config_map" "logstash-configs" {
metadata {
name = "logstash-configs"
Expand All @@ -92,8 +63,12 @@ resource "kubernetes_config_map" "logstash-configs" {
"event-status" = "${file("${path.module}/../../hysds/mozart/logstash/event_status.template.json")}"
"worker-status" = "${file("${path.module}/../../hysds/mozart/logstash/worker_status.template.json")}"
"task-status" = "${file("${path.module}/../../hysds/mozart/logstash/task_status.template.json")}"
"logstash-conf" = "${chomp(data.template_file.logstash-conf.rendered)}"
"logstash-yml" = "${chomp(data.template_file.logstash-yml.rendered)}"
"logstash-conf" = "${chomp(templatefile("${path.module}/../../hysds/mozart/logstash/logstash.conf", {
mozart_es_port = var.service_port_map.mozart_es
}))}"
"logstash-yml" = "${chomp(templatefile("${path.module}/../../hysds/mozart/logstash/logstash.yml", {
mozart_es_port = var.service_port_map.mozart_es
}))}"
}
}

Expand Down Expand Up @@ -171,14 +146,6 @@ resource "kubernetes_config_map" "supervisord-orchestrator" {
}
}

data "template_file" "datasets" {
template = file("${path.module}/../../hysds/configs/${var.datasets_filename}")
vars = {
minio_service_api_port = var.service_port_map.minio_service_api
minio_service_interface_port = var.service_port_map.minio_service_interface
}
}

resource "kubernetes_config_map" "datasets" {
metadata {
name = "datasets"
Expand All @@ -188,7 +155,7 @@ resource "kubernetes_config_map" "datasets" {
# custom config files will be added in the future. This could take the form of a Terraform
# resource that generates all the custom config files.
data = {
"datasets.json" = "${chomp(data.template_file.datasets.rendered)}"
"datasets.json" = "${file("${path.module}/../../hysds/configs/${var.datasets_filename}")}"
}
}

Expand Down Expand Up @@ -239,9 +206,8 @@ resource "kubernetes_config_map" "aws-credentials" {

# https://github.com/hashicorp/terraform-provider-kubernetes/issues/1329
locals {
cwl_workflows_directory = "/Users/drewm/Documents/projects/398G/Unity/unity-sps-workflows/sounder_sips"
cwl_workflow_utils_directory = "/Users/drewm/Documents/projects/398G/Unity/unity-sps-workflows/sounder_sips/utils"
sounder_sips_static_data_directory = abspath("${path.module}/../../dev_data/STATIC_DATA/SOUNDER_SIPS")
cwl_workflows_directory = "/Users/drewm/Documents/projects/398G/Unity/unity-sps-workflows/sounder_sips"
cwl_workflow_utils_directory = "/Users/drewm/Documents/projects/398G/Unity/unity-sps-workflows/sounder_sips/utils"
}

resource "kubernetes_config_map" "cwl-workflows" {
Expand All @@ -265,14 +231,3 @@ resource "kubernetes_config_map" "cwl-workflow-utils" {
f => file(join("/", [local.cwl_workflow_utils_directory, f]))
}
}

resource "kubernetes_config_map" "sounder-sips-static-data" {
metadata {
name = "sounder-sips-static-data"
namespace = kubernetes_namespace.unity-sps.metadata[0].name
}
data = {
for f in fileset(local.sounder_sips_static_data_directory, "*") :
f => filebase64sha256(join("/", [local.sounder_sips_static_data_directory, f]))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ locals {
clusterHealthCheckParams = "wait_for_status=yellow&timeout=1s"
replicas = 1
service = {
type = var.service_type
port = var.service_port_map.mozart_es
nodePort = var.service_type != "NodePort" ? null : var.node_port_map.mozart_es
port = var.service_port_map.mozart_es
}
httpPort = var.service_port_map.mozart_es
transportPort = 9300
Expand Down Expand Up @@ -131,8 +129,7 @@ locals {
clusterHealthCheckParams = "wait_for_status=yellow&timeout=1s"
replicas = 1
service = {
type = var.service_type
nodePort = var.service_type != "NodePort" ? null : var.node_port_map.grq2_es
port = var.service_port_map.grq2_es
}
httpPort = var.service_port_map.grq2_es
transportPort = 9301
Expand Down
3 changes: 0 additions & 3 deletions terraform-modules/terraform-unity-sps-hysds-cluster/grq2.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,10 @@ resource "kubernetes_service" "grq2-service" {
selector = {
app = "grq2"
}
session_affinity = var.deployment_environment != "local" ? null : "ClientIP"
port {
port = var.service_port_map.grq2_service
target_port = 8878
node_port = var.service_type != "NodePort" ? null : var.node_port_map.grq2_service
}
type = var.service_type
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,10 @@ resource "kubernetes_service" "hysds-ui-service" {
selector = {
app = "hysds-ui"
}
session_affinity = var.deployment_environment != "local" ? null : "ClientIP"
port {
protocol = "TCP"
port = var.service_port_map.hysds_ui_service
target_port = 80
node_port = var.service_type != "NodePort" ? null : var.node_port_map.hysds_ui_service
}
type = var.service_type
}
}

Expand Down
Loading

0 comments on commit 4c4725d

Please sign in to comment.