diff options
author | clyhtsuriva <aimeric@adjutor.xyz> | 2025-03-03 21:17:33 +0100 |
---|---|---|
committer | clyhtsuriva <aimeric@adjutor.xyz> | 2025-03-03 21:17:33 +0100 |
commit | f8f9666a8e630d6d64a883bca25ccc4ba98d73e4 (patch) | |
tree | 81204d58b1be9461c1af4489f7ccde0ec7e09aa0 | |
parent | cbe2665fbb9130ec3bd736f4428ea02966b125f4 (diff) |
tofu: Use static IPs, clean up vars, reduce workers
-rw-r--r-- | opentofu/main.tf | 22 | ||||
-rw-r--r-- | opentofu/outputs.tf | 3 | ||||
-rw-r--r-- | opentofu/terraform.tfvars | 18 | ||||
-rw-r--r-- | opentofu/variables.tf | 10 |
4 files changed, 17 insertions, 36 deletions
diff --git a/opentofu/main.tf b/opentofu/main.tf index 1cbd21f..6fa477c 100644 --- a/opentofu/main.tf +++ b/opentofu/main.tf @@ -39,7 +39,7 @@ resource "proxmox_virtual_environment_vm" "docker_server" { initialization { ip_config { ipv4 { - address = "dhcp" + address = "192.168.1.150/24,gw=192.168.1.1" } } @@ -50,15 +50,6 @@ resource "proxmox_virtual_environment_vm" "docker_server" { } } -# Run Ansible playbook after VM creation to install Docker -module "ansible_provision_docker_server" { - source = "./modules/ansible_provisioner" - vm_ip = proxmox_virtual_environment_vm.docker_server.ipv4_addresses[1][0] # Use first ip & ensure this is a string - vm_username = var.vm_username - ssh_private_key_path = var.ssh_private_key_path - ansible_playbook_path = var.docker_ansible_playbook_path - depends_on = [proxmox_virtual_environment_vm.docker_server] -} # Master Node (Control Plane) resource "proxmox_virtual_environment_vm" "k3s_master" { @@ -67,6 +58,7 @@ resource "proxmox_virtual_environment_vm" "k3s_master" { node_name = var.proxmox_node tags = ["ubuntu", "k8s", "k3s_master"] + clone { vm_id = var.ubuntu_server_noble_packer_image_id full = true @@ -83,7 +75,7 @@ resource "proxmox_virtual_environment_vm" "k3s_master" { } memory { - dedicated = 4096 + dedicated = 2048 } disk { @@ -102,7 +94,7 @@ resource "proxmox_virtual_environment_vm" "k3s_master" { initialization { ip_config { ipv4 { - address = "dhcp" + address = "192.168.1.14${count.index}/24,gw=192.168.1.1" } } @@ -115,7 +107,7 @@ resource "proxmox_virtual_environment_vm" "k3s_master" { # Worker Nodes resource "proxmox_virtual_environment_vm" "k3s_worker" { - count = 2 + count = 1 name = "k3s-worker-${count.index}" node_name = var.proxmox_node tags = ["debian", "k8s", "k3s_worker"] @@ -136,7 +128,7 @@ resource "proxmox_virtual_environment_vm" "k3s_worker" { } memory { - dedicated = 2048 + dedicated = 512 } disk { @@ -155,7 +147,7 @@ resource "proxmox_virtual_environment_vm" "k3s_worker" { initialization { ip_config { ipv4 { - address = "dhcp" + address = "192.168.1.13${count.index}/24,gw=192.168.1.1" } } diff --git a/opentofu/outputs.tf b/opentofu/outputs.tf index 09a05d8..a2de653 100644 --- a/opentofu/outputs.tf +++ b/opentofu/outputs.tf @@ -1,6 +1,9 @@ +# Define all VMs locals { all_vms = flatten([ [proxmox_virtual_environment_vm.docker_server], + [for vm in proxmox_virtual_environment_vm.k3s_master : vm], + [for vm in proxmox_virtual_environment_vm.k3s_worker : vm] ]) } diff --git a/opentofu/terraform.tfvars b/opentofu/terraform.tfvars index f8094d4..ba8756b 100644 --- a/opentofu/terraform.tfvars +++ b/opentofu/terraform.tfvars @@ -1,11 +1,7 @@ -proxmox_api_url = "https://10.0.0.5:8006/api2/json" -proxmox_node = "pve" -debian_server_bookworm_packer_image_name = "debian-server-bookworm-12-9-0-amd64" -debian_server_bookworm_packer_image_id = "999" -ubuntu_server_noble_packer_image_id = "998" -ubuntu_server_noble_packer_image_name = "ubuntu-server-noble-24-04-1-amd64" -vm_username = "mas" -ssh_private_key_path = "~/.ssh/id_ecdsa" -ssh_public_key = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCtB9NZgJMVovVR4foT0OOV9GdHeHZoPtK1TGko2W4wli/reKjpUYBhlSPWbaWD9WUbl0RRqdzkODy1fB001zxs= mas@TMV2" -docker_ansible_playbook_path = "../ansible/playbooks/docker.yml" -k8s_ansible_playbook_path = "../ansible/playbooks/k8s.yml" +proxmox_api_url = "https://10.0.0.5:8006/api2/json" +proxmox_node = "pve" +debian_server_bookworm_packer_image_id = "999" +ubuntu_server_noble_packer_image_id = "998" +vm_username = "mas" +ssh_private_key_path = "~/.ssh/id_ecdsa" +ssh_public_key = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCtB9NZgJMVovVR4foT0OOV9GdHeHZoPtK1TGko2W4wli/reKjpUYBhlSPWbaWD9WUbl0RRqdzkODy1fB001zxs= mas@TMV2" diff --git a/opentofu/variables.tf b/opentofu/variables.tf index 30f20ec..30e82bf 100644 --- a/opentofu/variables.tf +++ b/opentofu/variables.tf @@ -35,13 +35,3 @@ variable "ssh_public_key" { type = string sensitive = true } - -variable "docker_ansible_playbook_path" { - description = "Path to the Ansible playbook for Docker installation" - type = string -} - -variable "k8s_ansible_playbook_path" { - description = "Path to the Ansible playbook for k8s installation" - type = string -} |