31 Commits

Author SHA1 Message Date
827bac16cb Merge pull request '[deploy-opentofu]' (#307) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#307
2025-10-15 21:40:34 +00:00
75e02c447f Merge pull request '[deploy-opentofu]' (#306) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#306
2025-10-15 21:33:27 +00:00
5545341bd5 Merge pull request '[deploy-opentofu]' (#305) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#305
2025-10-15 21:21:55 +00:00
de26dbe2f0 Merge pull request '[deploy-opentofu]' (#304) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#304
2025-10-15 13:23:20 +00:00
ac61fdff12 Merge pull request '[deploy-opentofu]' (#303) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#303
2025-10-15 13:18:42 +00:00
3e00706c93 Merge pull request '[deploy-opentofu]' (#302) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#302
2025-10-15 12:55:14 +00:00
2fc7391161 Merge pull request '[deploy-opentofu]' (#301) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#301
2025-10-15 12:25:22 +00:00
d279104aea [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:30:25 +00:00
c75c4869e9 Merge pull request '[deploy-opentofu]' (#299) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#299
2025-10-15 10:25:13 +00:00
13872af0ac [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:08:35 +00:00
196b851e42 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:04:01 +00:00
8d96b54738 Merge pull request '[deploy-opentofu]' (#296) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#296
2025-10-14 22:02:17 +00:00
adbf69fefe Merge pull request '[deploy-opentofu]' (#295) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#295
2025-10-12 17:14:03 +00:00
5772fb36d2 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 17:08:43 +00:00
99afd901dc Merge pull request '[deploy-opentofu]' (#293) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#293
2025-10-12 16:55:07 +00:00
8a5c2ce64c Merge pull request 'Update documentation/Dockerfile' (#292) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#292
2025-10-12 10:52:33 +00:00
453ff5202e Merge pull request '[deploy-opentofu]' (#291) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#291
2025-10-12 09:38:23 +00:00
d24306ce8c Merge pull request '[deploy-opentofu]' (#290) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#290
2025-10-12 09:13:12 +00:00
b2533ac7cb Merge pull request '[deploy-opentofu]' (#289) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#289
2025-10-12 09:08:43 +00:00
00239da11c Merge pull request '[deploy-opentofu]' (#288) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#288
2025-10-12 09:04:09 +00:00
9911825872 Merge pull request '[deploy-opentofu]' (#287) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#287
2025-10-12 09:00:39 +00:00
1e0110fe1a Merge pull request '[deploy-opentofu]' (#286) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#286
2025-10-11 22:50:43 +00:00
5a24f06fd8 Merge pull request '[deploy-opentofu]' (#285) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#285
2025-10-11 22:37:41 +00:00
11e8997be8 Merge pull request '[deploy-opentofu]' (#284) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#284
2025-10-11 22:34:18 +00:00
d4811cbcfe Merge pull request '[deploy-opentofu]' (#283) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#283
2025-10-11 22:22:27 +00:00
6258d9e279 Merge pull request '[deploy-opentofu]' (#282) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#282
2025-10-11 22:13:01 +00:00
eaadf11a99 Merge pull request '[deploy-opentofu]' (#281) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#281
2025-10-11 22:09:51 +00:00
50e52fb839 Merge pull request '[deploy-opentofu]' (#280) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#280
2025-10-11 21:52:25 +00:00
43bd8914aa Merge pull request '[deploy-opentofu]' (#279) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#279
2025-10-11 21:44:21 +00:00
c457178d48 Merge pull request '[deploy-opentofu]' (#278) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#278
2025-10-11 21:33:00 +00:00
01d40d4120 Merge pull request '[deploy-opentofu]' (#277) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#277
2025-10-11 21:26:08 +00:00
8 changed files with 49 additions and 46 deletions

View File

@ -19,7 +19,7 @@ resource "proxmox_virtual_environment_download_file" "latest_ubunto_cloud_img" {
content_type = "iso" content_type = "iso"
datastore_id = "local" datastore_id = "local"
node_name = "fenix" node_name = "fenix"
url = "https://cloud-images.ubuntu.com/jammy/20251206/jammy-server-cloudimg-amd64.img" url = "https://cloud-images.ubuntu.com/jammy/20250725/jammy-server-cloudimg-amd64.img"
file_name = "jammyservercloudimgamd64.img" file_name = "jammyservercloudimgamd64.img"
} }
@ -105,7 +105,6 @@ resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" {
cpu { cpu {
cores = 2 cores = 2
type = "host"
} }
memory { memory {
@ -117,12 +116,14 @@ resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" {
file_id = proxmox_virtual_environment_download_file.latest_ubunto_cloud_img.id file_id = proxmox_virtual_environment_download_file.latest_ubunto_cloud_img.id
interface = "scsi0" interface = "scsi0"
file_format = "qcow2" file_format = "qcow2"
size = 64
} }
# Configuração da interface de rede # Configuração da interface de rede
network_device { network_device {
bridge = "vmbr0" # rede de gestão para comunicação com Cluster B bridge = "vmbr0" # rede de gestão para comunicação com Cluster A
}
network_device {
bridge = "vmbr2"
} }
initialization { initialization {
@ -135,6 +136,11 @@ initialization {
} }
} }
ip_config {
ipv4 {
address = "dhcp"
}
}
user_data_file_id = proxmox_virtual_environment_file.cloud_init_yaml.id user_data_file_id = proxmox_virtual_environment_file.cloud_init_yaml.id
} }
} }
@ -149,12 +155,10 @@ resource "proxmox_virtual_environment_vm" "k8s_vms" {
clone { clone {
vm_id = proxmox_virtual_environment_vm.proxmox-kubernetes-VM-template.id vm_id = proxmox_virtual_environment_vm.proxmox-kubernetes-VM-template.id
full = true
} }
cpu { cpu {
cores = each.value.cores cores = each.value.cores
type = "host"
} }
memory { memory {
@ -167,16 +171,6 @@ resource "proxmox_virtual_environment_vm" "k8s_vms" {
interface = "scsi1" interface = "scsi1"
} }
# Bloco dinâmico para lista de hostpci
dynamic "hostpci" {
for_each = try(each.value.hostpci, [])
content {
device = hostpci.value.device
pcie = try(hostpci.value.pcie, true)
mapping = hostpci.value.mapping
}
}
initialization { initialization {
ip_config { ip_config {
ipv4 { ipv4 {
@ -184,6 +178,12 @@ resource "proxmox_virtual_environment_vm" "k8s_vms" {
gateway = each.value.gateway gateway = each.value.gateway
} }
} }
ip_config {
ipv4 {
address = each.value.ip2
gateway = each.value.gateway
}
}
user_data_file_id = proxmox_virtual_environment_file.vm_user_data[each.key].id user_data_file_id = proxmox_virtual_environment_file.vm_user_data[each.key].id
} }
@ -192,3 +192,28 @@ resource "proxmox_virtual_environment_vm" "k8s_vms" {
enabled = true enabled = true
} }
} }
resource "null_resource" "add_api_ip" {
for_each = {
for vm in var.proxmox_k8s_vms : vm.name => vm
}
triggers = {
vm_id = each.value.vm_id
}
provisioner "remote-exec" {
inline = [
"sudo ip addr add ${each.value.ip3} dev eth0"
]
connection {
type = "ssh"
host = split("/", each.value.ip)[0] // remove a máscara para conectar
user = each.value.extra_users[0].name
password = each.value.extra_users[0].password
timeout = "4m"
agent = false
}
}
}

View File

@ -42,11 +42,6 @@ variable "proxmox_k8s_vms" {
ip = string ip = string
ip2 = string ip2 = string
ip3 = string ip3 = string
hostpci = optional(list(object({
pcie = bool
device = string
mapping = string
})))
cores = optional(number) cores = optional(number)
memory = optional(number) memory = optional(number)
data_store = optional(string) data_store = optional(string)

View File

@ -1,13 +0,0 @@
[master]
master1 ansible_host=192.168.1.99 ansible_user=user ansible_ssh_pass=pass ansible_ssh_common_args='-o StrictHostKeyChecking=no'
[workers]
worker-192-168-1-101 ansible_host=192.168.1.101 ansible_user=user ansible_ssh_pass=pass ansible_ssh_common_args='-o StrictHostKeyChecking=no'

View File

@ -1 +0,0 @@
proxmox-ssh.example.com

View File

@ -1 +0,0 @@
https://vaultwarden.example.com

View File

@ -1,6 +1,6 @@
#proxmox_server = "proxmox.example.com" proxmox_server = "proxmox.example.com"
#PM_API_TOKEN_ID = "tokenid" PM_API_TOKEN_ID = "tokenid"
#PM_API_TOKEN_SECRET = "tokensecret" PM_API_TOKEN_SECRET = "tokensecret"
# tokenid is read automatically from PM_API_TOKEN_ID # tokenid is read automatically from PM_API_TOKEN_ID
# token is read automatically from PM_API_TOKEN_SECRET # token is read automatically from PM_API_TOKEN_SECRET
@ -20,7 +20,6 @@ proxmox_k8s_vms = [
vm_id = 3001 vm_id = 3001
node_name = "node" node_name = "node"
ip = "192.168.1.99/24" ip = "192.168.1.99/24"
ip3 = "192.168.1.199/24"
cores = 2 cores = 2
memory = 2000 memory = 2000
disk_size = 32 disk_size = 32
@ -34,14 +33,13 @@ proxmox_k8s_vms = [
} }
] ]
extra_packages = [] extra_packages = []
extra_runcmd = ["sudo ip addr add 192.168.1.199/24 dev eth0"] extra_runcmd = []
}, },
{ {
name = "k8s-worker-01" name = "k8s-worker-01"
vm_id = 3002 vm_id = 3002
node_name = "node" node_name = "node"
ip = "192.168.1.101/24" ip = "192.168.1.101/24"
ip3 = "192.168.1.201/24"
cores = 1 cores = 1
memory = 2000 memory = 2000
disk_size = 32 disk_size = 32
@ -55,6 +53,6 @@ proxmox_k8s_vms = [
} }
] ]
extra_packages = [] extra_packages = []
extra_runcmd = ["sudo ip addr add 192.168.1.201/24 dev eth0"] extra_runcmd = []
}, },
] ]