46 lines
1.2 KiB
HCL
46 lines
1.2 KiB
HCL
/**
|
|
* 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. */
|
|
|
|
boot_hosts_count = 1
|
|
store_hosts_count = 2
|
|
store_db_hosts_count = 1
|
|
store_db_data_vol_size = 100
|
|
|
|
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 */
|
|
}
|
|
|
|
/* Settings specific to the test fleet/workspace. */
|
|
prod = {
|
|
db_do_type = "s-4vcpu-8gb"
|
|
db_ac_type = "ecs.c6.xlarge"
|
|
db_gc_type = "c2d-highcpu-4"
|
|
|
|
store_db_data_vol_size = 320
|
|
}
|
|
staging = {
|
|
/* Settings specific to the test fleet/workspace. */
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Makes fleet settings available under local.ws. */
|
|
locals {
|
|
ws = merge(local.env["defaults"], local.env[terraform.workspace])
|
|
}
|