infra-shards/workspaces.tf

46 lines
1.2 KiB
Terraform
Raw Normal View History

2023-09-08 12:11:02 +00:00
/**
* This is a hacky way of binding specific variable
* values to different Terraform workspaces.
*
* Details:
* https://github.com/hashicorp/terraform/issues/15966
*/
locals {
env = {
defaults = {
/* Default settings for all fleets/workspaces. */
2023-09-18 10:13:52 +00:00
boot_hosts_count = 1
2023-09-08 13:48:13 +00:00
store_hosts_count = 2
2023-09-29 10:26:01 +00:00
store_db_hosts_count = 1
store_db_data_vol_size = 100
2023-09-18 10:13:52 +00:00
node_do_type = "s-1vcpu-2gb" /* DigitalOcean */
node_ac_type = "ecs.t5-lc1m2.small" /* Alibaba Cloud */
node_gc_type = "g1-small" /* Google Cloud */
db_do_type = "s-1vcpu-2gb" /* DigitalOcean */
db_ac_type = "ecs.t5-lc1m2.small" /* Alibaba Cloud */
db_gc_type = "g1-small" /* Google Cloud */
2023-09-08 12:11:02 +00:00
}
/* Settings specific to the test fleet/workspace. */
2023-09-08 12:11:02 +00:00
test = {
db_do_type = "s-2vcpu-4gb"
db_ac_type = "ecs.c6.large"
db_gc_type = "c2d-highcpu-2"
store_db_data_vol_size = 320
2023-09-08 12:11:02 +00:00
}
staging = {
/* Settings specific to the test fleet/workspace. */
}
2023-09-08 12:11:02 +00:00
}
}
/* Makes fleet settings available under local.ws. */
locals {
ws = merge(local.env["defaults"], local.env[terraform.workspace])
}