diff --git a/environments/gprd/main.tf b/environments/gprd/main.tf index f16baf2d3885b09bc4a25fb088b2d98d6ea96aaa..fe32456eecb5116f85f3376a91cf0912261e5249 100644 --- a/environments/gprd/main.tf +++ b/environments/gprd/main.tf @@ -712,19 +712,20 @@ module "gcp-tcp-lb-pages" { #### Load balancer for altssh module "gcp-tcp-lb-altssh" { - name = "gcp-tcp-lb-altssh" - lb_count = "${length(var.tcp_lbs_altssh["names"])}" - names = "${var.tcp_lbs_altssh["names"]}" - fqdn = "${var.lb_fqdn_altssh}" - gitlab_zone_id = "${var.gitlab_com_zone_id}" - environment = "${var.environment}" - region = "${var.region}" - project = "${var.project}" - source = "../../modules/google/tcp-lb" - targets = ["fe-altssh"] - forwarding_port_ranges = "${var.tcp_lbs_altssh["forwarding_port_ranges"]}" - health_check_ports = "${var.tcp_lbs_altssh["health_check_ports"]}" - instances = ["${module.fe-lb-altssh.instances_self_link}"] + name = "gcp-tcp-lb-altssh" + lb_count = "${length(var.tcp_lbs_altssh["names"])}" + names = "${var.tcp_lbs_altssh["names"]}" + fqdn = "${var.lb_fqdn_altssh}" + gitlab_zone_id = "${var.gitlab_com_zone_id}" + environment = "${var.environment}" + region = "${var.region}" + project = "${var.project}" + source = "../../modules/google/tcp-lb" + targets = ["fe-altssh"] + forwarding_port_ranges = "${var.tcp_lbs_altssh["forwarding_port_ranges"]}" + health_check_ports = "${var.tcp_lbs_altssh["health_check_ports"]}" + health_check_request_paths = "${var.tcp_lbs_altssh["health_check_request_paths"]}" + instances = ["${module.fe-lb-altssh.instances_self_link}"] } #### Load balancer for bastion diff --git a/environments/gprd/variables.tf b/environments/gprd/variables.tf index 676b385f302a0be064eaeb835e7304ce02a62a93..e4fa2f44ae6d17b0f9b8535b88e6c06cd7028fe7 100644 --- a/environments/gprd/variables.tf +++ b/environments/gprd/variables.tf @@ -23,7 +23,7 @@ variable "lb_fqdn" { ########## variable "lb_fqdn_altssh" { - default = "lb-test-altssh.gprd.gitlab.com" + default = "altssh.gprd.gitlab.com" } variable "lb_fqdn_pages" { @@ -77,9 +77,10 @@ variable "tcp_lbs_altssh" { type = "map" default = { - "names" = ["ssh"] - "forwarding_port_ranges" = ["22"] - "health_check_ports" = ["8003"] + "names" = ["https"] + "forwarding_port_ranges" = ["443"] + "health_check_ports" = ["8003"] + "health_check_request_paths" = ["/-/available-ssh"] } } diff --git a/environments/gstg/main.tf b/environments/gstg/main.tf index 7c215cbd9dae87d34272cbf71f259031ec1070ab..58a68a7fd53650b50652beebf4208928370a048c 100644 --- a/environments/gstg/main.tf +++ b/environments/gstg/main.tf @@ -700,19 +700,20 @@ module "gcp-tcp-lb-pages" { #### Load balancer for altssh module "gcp-tcp-lb-altssh" { - name = "gcp-tcp-lb-altssh" - lb_count = "${length(var.tcp_lbs_altssh["names"])}" - names = "${var.tcp_lbs_altssh["names"]}" - fqdn = "${var.lb_fqdn_altssh}" - gitlab_zone_id = "${var.gitlab_com_zone_id}" - environment = "${var.environment}" - region = "${var.region}" - project = "${var.project}" - source = "../../modules/google/tcp-lb" - targets = ["fe-altssh"] - forwarding_port_ranges = "${var.tcp_lbs_altssh["forwarding_port_ranges"]}" - health_check_ports = "${var.tcp_lbs_altssh["health_check_ports"]}" - instances = ["${module.fe-lb-altssh.instances_self_link}"] + name = "gcp-tcp-lb-altssh" + lb_count = "${length(var.tcp_lbs_altssh["names"])}" + names = "${var.tcp_lbs_altssh["names"]}" + fqdn = "${var.lb_fqdn_altssh}" + gitlab_zone_id = "${var.gitlab_com_zone_id}" + environment = "${var.environment}" + region = "${var.region}" + project = "${var.project}" + source = "../../modules/google/tcp-lb" + targets = ["fe-altssh"] + forwarding_port_ranges = "${var.tcp_lbs_altssh["forwarding_port_ranges"]}" + health_check_ports = "${var.tcp_lbs_altssh["health_check_ports"]}" + health_check_request_paths = "${var.tcp_lbs_altssh["health_check_request_paths"]}" + instances = ["${module.fe-lb-altssh.instances_self_link}"] } #### Load balancer for bastion diff --git a/environments/gstg/variables.tf b/environments/gstg/variables.tf index 9917eb0c76949b956367945a6c466992683bd0d1..79e8eac92fbae858d59c47babff58a53e8e4fb8d 100644 --- a/environments/gstg/variables.tf +++ b/environments/gstg/variables.tf @@ -66,7 +66,7 @@ variable "lb_fqdn" { ##### variable "lb_fqdn_altssh" { - default = "lb-test-altssh.gstg.gitlab.com" + default = "altssh.gstg.gitlab.com" } variable "lb_fqdn_pages" { @@ -120,9 +120,10 @@ variable "tcp_lbs_altssh" { type = "map" default = { - "names" = ["ssh"] - "forwarding_port_ranges" = ["22"] - "health_check_ports" = ["8003"] + "names" = ["https"] + "forwarding_port_ranges" = ["443"] + "health_check_ports" = ["8003"] + "health_check_request_paths" = ["/-/available-ssh"] } } diff --git a/modules/google/tcp-lb/loadbalancing.tf b/modules/google/tcp-lb/loadbalancing.tf index 5b9be6febfdf30b6add51f69bdc15d7ccfe297bd..49b9eda0ca33a9c4785c8942314ac8a6178d3514 100644 --- a/modules/google/tcp-lb/loadbalancing.tf +++ b/modules/google/tcp-lb/loadbalancing.tf @@ -75,11 +75,13 @@ resource "google_compute_target_pool" "default" { } resource "google_compute_http_health_check" "default" { - count = "${var.lb_count}" - name = "${format("%v-%v-%v", var.environment, var.name, var.names[count.index])}" - project = "${var.project}" - port = "${var.health_check_ports[count.index]}" - request_path = "/-/available-${var.names[count.index]}" + count = "${var.lb_count}" + name = "${format("%v-%v-%v", var.environment, var.name, var.names[count.index])}" + project = "${var.project}" + port = "${var.health_check_ports[count.index]}" + + # Because request_paths can be empty, we use this element/concat hack, see https://stackoverflow.com/a/47415781/1856239 + request_path = "${length(var.health_check_request_paths) > 0 ? element(concat(var.health_check_request_paths, list("")), count.index) : format("/-/available-%v", var.names[count.index])}" timeout_sec = 2 check_interval_sec = 2 healthy_threshold = 2 diff --git a/modules/google/tcp-lb/variables.tf b/modules/google/tcp-lb/variables.tf index d8b0ffa198828cde6da2022e9d33029ff2f418df..9a21d87f1fa5a14317a45a3e2ea9450d1e145da7 100644 --- a/modules/google/tcp-lb/variables.tf +++ b/modules/google/tcp-lb/variables.tf @@ -28,6 +28,12 @@ variable "health_check_ports" { type = "list" } +variable "health_check_request_paths" { + type = "list" + + default = [] +} + variable "forwarding_port_ranges" { type = "list" }