You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
terraform {
|
|
required_version = ">= 0.13"
|
|
required_providers {
|
|
libvirt = {
|
|
source = "dmacvicar/libvirt"
|
|
version = ">=0.6.3"
|
|
}
|
|
local = {
|
|
source = "hashicorp/local"
|
|
version = ">=2.0.0"
|
|
}
|
|
template = {
|
|
source = "hashicorp/template"
|
|
version = ">=2.2.0"
|
|
}
|
|
ignition = {
|
|
source = "community-terraform-providers/ignition"
|
|
version = "2.1.2"
|
|
}
|
|
gandi = {
|
|
version = "2.0.0"
|
|
source = "github/go-gandi/gandi"
|
|
}
|
|
}
|
|
}
|
|
|
|
locals {
|
|
master_nodes = { for i in libvirt_domain.master : i.name => i.network_interface.0.addresses[0] }
|
|
worker_nodes = { for i in libvirt_domain.worker : i.name => i.network_interface.0.addresses[0] }
|
|
bootstrap_nodes = { for i in libvirt_domain.bootstrap : i.name => i.network_interface.0.addresses[0] }
|
|
additional_nodes = { (libvirt_domain.lb.name) = cidrhost(var.network_ip_range, 4), (libvirt_domain.storage.name) = libvirt_domain.storage.network_interface.0.addresses[0] }
|
|
all_nodes = merge(local.additional_nodes, local.master_nodes, local.worker_nodes, local.bootstrap_nodes)
|
|
}
|
|
|
|
output "machines" {
|
|
value = local.all_nodes
|
|
}
|
|
|