Files
infra-live/envs/prod/main.tf
T

23 lines
871 B
Terraform

# Stack for the prod environment. Every file in vms/ becomes one module
# instance, keyed by its file name. Quai only ever edits the YAML.
locals {
vm_files = fileset("${path.module}/vms", "*.yaml")
vms = { for f in local.vm_files : trimsuffix(f, ".yaml") => yamldecode(file("${path.module}/vms/${f}")) }
}
module "vm" {
source = "../../modules/vm"
for_each = local.vms
name = each.key
environment = "prod"
template = each.value.template
cpu = each.value.cpu
memory_gb = each.value.memory_gb
disks = each.value.disks
vlan = each.value.network.vlan
ip = try(each.value.network.ip, null)
backup_policy = try(each.value.backup, false) ? try(each.value.backup_policy, "daily") : null
tags = merge(try(each.value.tags, {}), { owner = try(each.value.owner, "unknown") })
}