terraform { required_version = ">= 1.0" required_providers { talos = { source = "siderolabs/talos" version = "~> 0.4" } } } # Load variables from a .tfvars file variable "cluster_name" { description = "The name of the Talos cluster" type = string default = "evolved-npcs-cluster" } variable "memory_mb" { description = "Memory for each VM in MB" type = number default = 2048 } variable "vcpu_count" { description = "Number of vCPUs for each VM" type = number default = 2 } variable "talos_version" { description = "The version of Talos to use" type = string default = "v1.11.1" } # Configure providers provider "talos" {} # Generate machine secrets resource "talos_machine_secrets" "this" {} # Create control plane configuration data "talos_machine_configuration" "this" { cluster_name = var.cluster_name cluster_endpoint = "https://10.5.0.2:6443" machine_type = "controlplane" machine_secrets = talos_machine_secrets.this.machine_secrets talos_version = var.talos_version } data "talos_client_configuration" "this" { cluster_name = var.cluster_name client_configuration = talos_machine_secrets.this.client_configuration nodes = ["10.5.0.2"] } resource "null_resource" "talos_cluster" { triggers = { cluster_name = var.cluster_name memory_mb = var.memory_mb vcpu_count = var.vcpu_count } # Download Talos kernel and initramfs provisioner "local-exec" { command = <