aboutsummaryrefslogtreecommitdiff
path: root/opentofu/main.tf
blob: 3da604531062da6cf752cbf4b7189b2326e9eb86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
module "k8s_control_plane" {
  source = "./modules/k8s_control_plane"

  name              = "k8s-cp-01"
  desc              = "k8s control plane"
  agent             = 1
  target_node       = var.proxmox_node
  tags              = "debian;k8s"
  clone             = var.debian_server_bookworm_packer_image_name
  full_clone        = true
  qemu_os           = "other"
  cores             = 2
  sockets           = 1
  cpu_type          = "host"
  memory            = 6144
  scsihw            = "virtio-scsi-pci"
  bootdisk          = "scsi0"
  cloudinit_storage = "local-lvm"
  disk_storage      = "local-lvm"
  disk_size         = "32G"
  iothread          = true
  replicate         = false
  network_id        = 0
  network_model     = "virtio"
  network_bridge    = "vmbr0"
  ipconfig0         = "ip=dhcp"
  ciuser            = "mas"
  sshkeys           = var.ssh_public_key
}

module "k8s_worker" {
  source = "./modules/k8s_worker"

  vm_count          = var.k8s_worker_vm_count
  name_prefix       = var.k8s_worker_vm_name_prefix
  desc              = "k8s worker"
  agent             = 1
  target_node       = var.proxmox_node
  tags              = "debian;k8s"
  clone             = var.debian_server_bookworm_packer_image_name
  full_clone        = true
  qemu_os           = "other"
  cores             = 1
  sockets           = 1
  cpu_type          = "host"
  memory            = 2048
  scsihw            = "virtio-scsi-pci"
  bootdisk          = "scsi0"
  cloudinit_storage = "local-lvm"
  disk_storage      = "local-lvm"
  disk_size         = "32G"
  iothread          = true
  replicate         = false
  network_id        = 0
  network_model     = "virtio"
  network_bridge    = "vmbr0"
  ipconfig0         = "ip=dhcp"
  ciuser            = "mas"
  sshkeys           = var.ssh_public_key
}

module "ansible_provision_k8s" {
  source                = "./modules/ansible_provisioner"
  inventory_file_path   = local_file.ansible_inventory.filename
  vm_username           = var.vm_username
  ssh_private_key_path  = var.ssh_private_key_path
  ansible_playbook_path = var.k8s_ansible_playbook_path
}