- add 5 vmstorage - add 3 vmselect - add 3 vminsert - update boilerplate config
53 lines
1.4 KiB
HCL
53 lines
1.4 KiB
HCL
locals {
|
|
node_name = "prodnxsr0013"
|
|
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
|
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
|
config = merge(local.config_common, local.config_specific)
|
|
instance_name = basename(get_terragrunt_dir())
|
|
}
|
|
|
|
inputs = merge(
|
|
{
|
|
name = local.instance_name
|
|
},
|
|
local.config
|
|
)
|
|
|
|
include "root" {
|
|
path = find_in_parent_folders("root.hcl")
|
|
}
|
|
|
|
include "instances" {
|
|
path = find_in_parent_folders("instances.hcl")
|
|
expose = true
|
|
merge_strategy = "deep"
|
|
}
|
|
|
|
dependencies {
|
|
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
|
}
|
|
|
|
terraform {
|
|
source = "${get_repo_root()}/modules/instance"
|
|
}
|
|
|
|
generate "incus" {
|
|
path = "incus.tf"
|
|
if_exists = "overwrite_terragrunt"
|
|
contents = <<-EOF
|
|
provider "incus" {
|
|
generate_client_certificates = true
|
|
accept_remote_certificate = true
|
|
|
|
remote {
|
|
name = "${basename(get_terragrunt_dir())}"
|
|
scheme = "https"
|
|
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
|
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
|
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
|
default = true
|
|
}
|
|
}
|
|
EOF
|
|
}
|