diff --git a/environments/dr/main.tf b/environments/dr/main.tf index 1c77766b57126613e5a1d69dc897e91c9d036e02..7c4fead344a05c721abfe7c942a6e60b46dabab4 100644 --- a/environments/dr/main.tf +++ b/environments/dr/main.tf @@ -770,7 +770,7 @@ module "sd-exporter" { vpc = "${module.network.self_link}" } -module "thanos" { +module "thanos-store" { bootstrap_version = "${var.bootstrap_script_version}" chef_provision = "${var.chef_provision}" chef_run_list = "\"role[${var.environment}-infra-thanos-store]\"" @@ -779,12 +779,38 @@ module "thanos" { dns_zone_name = "${var.dns_zone_name}" egress_ports = "${var.egress_ports}" environment = "${var.environment}" - ip_cidr_range = "${var.subnetworks["thanos"]}" + ip_cidr_range = "${var.subnetworks["thanos-store"]}" kernel_version = "${var.default_kernel_version}" - machine_type = "${var.machine_types["thanos"]}" + machine_type = "${var.machine_types["thanos-store"]}" monitoring_whitelist = "${var.monitoring_whitelist_thanos}" - name = "thanos" - node_count = "${var.node_count["thanos"]}" + name = "thanos-store" + node_count = "${var.node_count["thanos-store"]}" + persistent_disk_path = "/opt/prometheus" + project = "${var.project}" + public_ports = "${var.public_ports["thanos"]}" + region = "${var.region}" + service_account_email = "${var.service_account_email}" + source = "git::ssh://git@ops.gitlab.net/gitlab-com/gl-infra/terraform-modules/google/generic-stor.git?ref=v1.0.2" + tier = "inf" + use_new_node_name = true + vpc = "${module.network.self_link}" +} + +module "thanos-compact" { + bootstrap_version = "${var.bootstrap_script_version}" + chef_provision = "${var.chef_provision}" + chef_run_list = "\"role[${var.environment}-infra-thanos-compact]\"" + data_disk_size = 100 + data_disk_type = "pd-ssd" + dns_zone_name = "${var.dns_zone_name}" + egress_ports = "${var.egress_ports}" + environment = "${var.environment}" + ip_cidr_range = "${var.subnetworks["thanos-compact"]}" + kernel_version = "${var.default_kernel_version}" + machine_type = "${var.machine_types["thanos-compact"]}" + monitoring_whitelist = "${var.monitoring_whitelist_thanos}" + name = "thanos-compact" + node_count = "${var.node_count["thanos-compact"]}" persistent_disk_path = "/opt/prometheus" project = "${var.project}" public_ports = "${var.public_ports["thanos"]}" diff --git a/environments/dr/variables.tf b/environments/dr/variables.tf index c5f6c01645a0f7f3288fb280b5990fe7d98cfad9..356603e13bf8ffbb73393f313d294243451ea381 100644 --- a/environments/dr/variables.tf +++ b/environments/dr/variables.tf @@ -286,7 +286,8 @@ variable "machine_types" { "sidekiq-realtime" = "n1-highmem-16" "sidekiq-traces" = "n1-standard-8" "stor" = "n1-standard-32" - "thanos" = "n1-highmem-16" + "thanos-store" = "n1-highmem-8" + "thanos-compact" = "n1-standard-2" "web" = "n1-standard-8" # pages and share should eventually be upgraded @@ -324,7 +325,8 @@ variable "node_count" { "sidekiq-pullmirror" = 0 "sidekiq-realtime" = 0 "sidekiq-traces" = 0 - "thanos" = 1 + "thanos-compact" = 1 + "thanos-store" = 1 "stor" = 1 "multizone-stor" = 31 "web" = 3 @@ -353,9 +355,11 @@ variable "subnetworks" { "redis" = "10.251.5.0/24" "sidekiq" = "10.251.25.0/24" "stor" = "10.251.28.0/24" - "thanos" = "10.251.31.0/24" + "thanos-store" = "10.251.31.0/24" "web" = "10.251.26.0/24" "pages" = "10.251.30.0/24" + + "thanos-compact" = "10.251.32.0/24" } } diff --git a/environments/gprd/variables.tf b/environments/gprd/variables.tf index 2a503b639e6229c5869aa07bd1c95ce1afee81a8..c9d49980fef9a9e492089180ddb36f500813c6bb 100644 --- a/environments/gprd/variables.tf +++ b/environments/gprd/variables.tf @@ -357,7 +357,8 @@ variable "machine_types" { "sidekiq-realtime" = "n1-highmem-16" "sidekiq-traces" = "n1-standard-8" "stor" = "n1-standard-32" - "thanos" = "n1-highmem-16" + "thanos-compact" = "n1-standard-2" + "thanos-store" = "n1-highmem-16" "web" = "n1-standard-16" "web-pages" = "n1-standard-8" @@ -408,7 +409,8 @@ variable "node_count" { "sidekiq-realtime" = 4 "sidekiq-traces" = 2 "stor" = 20 - "thanos" = 1 + "thanos-compact" = 1 + "thanos-store" = 1 "contributors" = 1 "multizone-stor" = 12 "web" = 28 @@ -454,7 +456,8 @@ variable "subnetworks" { "git" = "10.220.4.0/23" "singleton-svcs" = "10.219.4.0/24" "sidekiq" = "10.220.6.0/23" - "thanos" = "10.220.17.0/24" + "thanos-compact" = "10.220.18.0/24" + "thanos-store" = "10.220.17.0/24" "web" = "10.220.8.0/23" "web-pages" = "10.220.12.0/23" "stor" = "10.221.2.0/23" diff --git a/environments/gstg/variables.tf b/environments/gstg/variables.tf index 7fd11316817c6429cf00f50764695bfbf1787655..a6b81c5bca9e8645ee52af97ee00baae3e94dbbf 100644 --- a/environments/gstg/variables.tf +++ b/environments/gstg/variables.tf @@ -349,7 +349,8 @@ variable "machine_types" { "sidekiq-realtime" = "n1-highmem-16" "sidekiq-traces" = "n1-standard-8" "stor" = "n1-standard-32" - "thanos" = "n1-highmem-16" + "thanos-compact" = "n1-standard-2" + "thanos-store" = "n1-highmem-8" "web" = "n1-standard-16" "web-pages" = "n1-standard-4" @@ -402,7 +403,8 @@ variable "node_count" { "sidekiq-realtime" = 1 "sidekiq-traces" = 1 "stor" = 2 - "thanos" = 1 + "thanos-compact" = 1 + "thanos-store" = 1 "multizone-stor" = 0 "web" = 3 "web-pages" = 2 @@ -448,7 +450,8 @@ variable "subnetworks" { "runner" = "10.224.16.0/24" "sidekiq" = "10.225.1.0/24" "stor" = "10.224.2.0/23" - "thanos" = "10.226.4.0/24" + "thanos-compact" = "10.226.5.0/24" + "thanos-store" = "10.226.4.0/24" "web" = "10.224.1.0/24" "singleton-svcs" = "10.224.5.0/24" "web-pages" = "10.224.26.0/24" diff --git a/environments/ops/main.tf b/environments/ops/main.tf index b53d21ae2ad39a65e38d438748a1343ff246c65f..a441414eed1f1d416c0ee03774cea79a10b4d602 100644 --- a/environments/ops/main.tf +++ b/environments/ops/main.tf @@ -334,7 +334,7 @@ module "blackbox" { use_external_ip = true } -module "thanos" { +module "thanos-store" { bootstrap_version = "6" chef_provision = "${var.chef_provision}" chef_run_list = "\"role[${var.environment}-infra-thanos-store]\"" @@ -342,11 +342,33 @@ module "thanos" { data_disk_type = "pd-ssd" dns_zone_name = "${var.dns_zone_name}" environment = "${var.environment}" - ip_cidr_range = "${var.subnetworks["thanos"]}" - kernel_version = "${var.default_kernel_version}" - machine_type = "${var.machine_types["thanos"]}" - name = "thanos" - node_count = "${var.node_count["thanos"]}" + ip_cidr_range = "${var.subnetworks["thanos-store"]}" + machine_type = "${var.machine_types["thanos-store"]}" + name = "thanos-store" + node_count = "${var.node_count["thanos-store"]}" + persistent_disk_path = "/opt/prometheus" + project = "${var.project}" + public_ports = "${var.public_ports["thanos"]}" + region = "${var.region}" + service_account_email = "${var.service_account_email}" + source = "git::ssh://git@ops.gitlab.net/gitlab-com/gl-infra/terraform-modules/google/generic-stor.git?ref=v1.0.1" + tier = "inf" + use_new_node_name = true + vpc = "${module.network.self_link}" +} + +module "thanos-compact" { + bootstrap_version = "6" + chef_provision = "${var.chef_provision}" + chef_run_list = "\"role[${var.environment}-infra-thanos-compact]\"" + data_disk_size = 100 + data_disk_type = "pd-ssd" + dns_zone_name = "${var.dns_zone_name}" + environment = "${var.environment}" + ip_cidr_range = "${var.subnetworks["thanos-compact"]}" + machine_type = "${var.machine_types["thanos-compact"]}" + name = "thanos-compact" + node_count = "${var.node_count["thanos-compact"]}" persistent_disk_path = "/opt/prometheus" project = "${var.project}" public_ports = "${var.public_ports["thanos"]}" diff --git a/environments/ops/variables.tf b/environments/ops/variables.tf index ac80bf71b6a901f26720e26bf6aaf5516a45aead..2edce81e9876bf27133081a6425052761a12f66a 100644 --- a/environments/ops/variables.tf +++ b/environments/ops/variables.tf @@ -49,10 +49,11 @@ variable "machine_types" { "blackbox" = "n1-standard-1" "sentry" = "n1-standard-16" "sd-exporter" = "n1-standard-1" - "thanos" = "n1-highmem-16" - "thanos-query" = "n1-standard-1" + "thanos-compact" = "n1-standard-2" + "thanos-query" = "n1-standard-2" + "thanos-store" = "n1-highmem-8" "gke-runner" = "n1-standard-2" - "nessus" = "n1-standard-1" + "nessus" = "n1-standard-4" } } @@ -95,7 +96,8 @@ variable "subnetworks" { "sd-exporter" = "10.250.15.0/24" "gke-runner" = "10.250.16.0/24" "runner-snapshots" = "10.250.17.0/24" - "thanos" = "10.250.18.0/24" + "thanos-store" = "10.250.18.0/24" + "thanos-compact" = "10.250.19.0/24" } } @@ -133,8 +135,9 @@ variable "node_count" { "runner" = 1 "sentry" = 1 "sd-exporter" = 1 - "thanos" = 1 + "thanos-compact" = 1 "thanos-query" = 1 + "thanos-store" = 1 } } diff --git a/shared/gstg-gprd/main.tf b/shared/gstg-gprd/main.tf index f80a3266d4e1827395007a485fe400480e35898a..15015f0403e3211b0b7a37999e32bbcdccffe637 100644 --- a/shared/gstg-gprd/main.tf +++ b/shared/gstg-gprd/main.tf @@ -1385,31 +1385,56 @@ module "influxdb" { vpc = "${module.network.self_link}" } -module "thanos" { - allow_stopping_for_update = true - bootstrap_version = "${var.bootstrap_script_version}" - chef_provision = "${var.chef_provision}" - chef_run_list = "\"role[${var.environment}-infra-thanos-store]\"" - data_disk_size = 100 - data_disk_type = "pd-ssd" - dns_zone_name = "${var.dns_zone_name}" - egress_ports = "${var.egress_ports}" - environment = "${var.environment}" - ip_cidr_range = "${var.subnetworks["thanos"]}" - kernel_version = "${var.default_kernel_version}" - machine_type = "${var.machine_types["thanos"]}" - monitoring_whitelist = "${var.monitoring_whitelist_thanos}" - name = "thanos" - node_count = "${var.node_count["thanos"]}" - persistent_disk_path = "/opt/prometheus" - project = "${var.project}" - public_ports = "${var.public_ports["thanos"]}" - region = "${var.region}" - service_account_email = "${var.service_account_email}" - source = "git::ssh://git@ops.gitlab.net/gitlab-com/gl-infra/terraform-modules/google/generic-stor.git?ref=v1.0.1" - tier = "inf" - use_new_node_name = true - vpc = "${module.network.self_link}" +module "thanos-store" { + bootstrap_version = "${var.bootstrap_script_version}" + chef_provision = "${var.chef_provision}" + chef_run_list = "\"role[${var.environment}-infra-thanos-store]\"" + data_disk_size = 100 + data_disk_type = "pd-ssd" + dns_zone_name = "${var.dns_zone_name}" + egress_ports = "${var.egress_ports}" + environment = "${var.environment}" + ip_cidr_range = "${var.subnetworks["thanos-store"]}" + kernel_version = "${var.default_kernel_version}" + machine_type = "${var.machine_types["thanos-store"]}" + monitoring_whitelist = "${var.monitoring_whitelist_thanos}" + name = "thanos-store" + node_count = "${var.node_count["thanos-store"]}" + persistent_disk_path = "/opt/prometheus" + project = "${var.project}" + public_ports = "${var.public_ports["thanos"]}" + region = "${var.region}" + service_account_email = "${var.service_account_email}" + source = "git::ssh://git@ops.gitlab.net/gitlab-com/gl-infra/terraform-modules/google/generic-stor.git?ref=v1.0.1" + tier = "inf" + use_new_node_name = true + vpc = "${module.network.self_link}" +} + +module "thanos-compact" { + bootstrap_version = "${var.bootstrap_script_version}" + chef_provision = "${var.chef_provision}" + chef_run_list = "\"role[${var.environment}-infra-thanos-compact]\"" + data_disk_size = 100 + data_disk_type = "pd-ssd" + dns_zone_name = "${var.dns_zone_name}" + egress_ports = "${var.egress_ports}" + environment = "${var.environment}" + ip_cidr_range = "${var.subnetworks["thanos-compact"]}" + kernel_version = "${var.default_kernel_version}" + machine_type = "${var.machine_types["thanos-compact"]}" + monitoring_whitelist = "${var.monitoring_whitelist_thanos}" + name = "thanos-compact" + node_count = "${var.node_count["thanos-compact"]}" + persistent_disk_path = "/opt/prometheus" + project = "${var.project}" + public_ports = "${var.public_ports["thanos"]}" + region = "${var.region}" + service_account_email = "${var.service_account_email}" + source = "git::ssh://git@ops.gitlab.net/gitlab-com/gl-infra/terraform-modules/google/generic-stor.git?ref=v1.0.1" + tier = "inf" + use_new_node_name = true + vpc = "${module.network.self_link}" } ##################################