From defaa850666c13564dd2d3da07daf2b8eaa401f6 Mon Sep 17 00:00:00 2001 From: ogrechko Date: Sun, 28 Dec 2025 07:25:34 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20terraform/main.tf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- terraform/main.tf | 63 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/terraform/main.tf b/terraform/main.tf index 0167d4b..573def0 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -1,34 +1,57 @@ + + api_token = "root@pam!terraform=7efd89b1-7cbc-46be-a47f-f7523837b28a" + terraform { required_providers { proxmox = { - source = "bpg/proxmox" - version = "0.70.0" # Актуальная версия на 2025 + source = "bpg/proxmox" + version = "0.70.0" } } + # Backend для хранения стейта в Gitea + backend "http" {} } provider "proxmox" { - endpoint = "https://10.33.33.10:8006/" - api_token = "root@pam!terraform=7efd89b1-7cbc-46be-a47f-f7523837b28a" - insecure = true + endpoint = var.proxmox_api_url + api_token = "${var.proxmox_api_token_id}=${var.proxmox_api_token_secret}" + insecure = true } -resource "proxmox_virtual_machine" "k8s_node" { - count = 3 - name = "k8s-node-${count.index}" - node_name = "pve" - - cpu { cores = 4 } - memory { dedicated = 8192 } +resource "proxmox_virtual_machine" "k8s_nodes" { + for_each = var.vm_nodes + name = each.value.name + node_name = "pve" # Имя вашего узла в Proxmox + vm_id = each.value.id - network_device { bridge = "vmbr0" } - - os { - debian_referencing_standard = true # Proxmox 9 базируется на Debian 13 + cpu { + cores = 2 + } + memory { + dedicated = 4096 } - backend "http" { - # Адрес формируется динамически в Semaphore + network_device { + bridge = "vmbr0" } - -} + + disk { + datastore_id = "local-lvm" + file_id = "local:iso/debian-13-generic-amd64.iso" # Ваш образ + interface = "virtio0" + size = 20 + } + + initialization { + ip_config { + ipv4 { + address = "${each.value.ip}/24" + gateway = "10.33.33.1" + } + } + user_account { + username = "ubuntu" + keys = ["ssh-ed25519 AAAAC3..."] # ВАШ ПУБЛИЧНЫЙ КЛЮЧ + } + } +} \ No newline at end of file