105 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
7c46db0253 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 21:40:03 +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
218ca3fc2f [deploy-opentofu]
[deploy-opentofu]
2025-10-15 21:32:42 +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
58d080dadd a 2025-10-15 21:19:39 +00:00
f797aa6d8b [deploy-opentofu] 2025-10-15 21:19:11 +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
8b16085acf [deploy-opentofu] 2025-10-15 13:22:39 +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
47102e563d [deploy-opentofu] 2025-10-15 13:17:55 +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
d9f9620123 [deploy-opentofu] 2025-10-15 12:54:20 +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
905b749a09 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 12:24:17 +00:00
d279104aea [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:30:25 +00:00
992a949b6d [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:29:20 +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
387702c3c3 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:24:21 +00:00
13872af0ac [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:08:35 +00:00
1bf18d13a3 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:07:32 +00:00
196b851e42 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:04:01 +00:00
de1ea64e04 [deploy-opentofu]
[deploy-opentofu]
2025-10-15 10:02:47 +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
9edc3fe55d [deploy-opentofu]
[deploy-opentofu]
2025-10-14 22:01:28 +00:00
fd0763593f Update vaultwarden.tf 2025-10-12 21:41:12 +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
fc5ae6402f [deploy-opentofu]
[deploy-opentofu]
2025-10-12 17:13:27 +00:00
5772fb36d2 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 17:08:43 +00:00
5412e499f2 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 17:08:08 +00:00
fa25d7073b [deploy-opentofu] 2025-10-12 17:02:14 +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
2e81ffcdb1 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 16:54:12 +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
8d7636a925 Update documentation/Dockerfile 2025-10-12 10:51:57 +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
49c5457547 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 09:37:42 +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
9b00c6d3f4 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 09:12:36 +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
7c1d265e75 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 09:08:10 +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
b6c3b5e80f [deploy-opentofu]
[deploy-opentofu]
2025-10-12 09:03:21 +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
1f41c3dd53 [deploy-opentofu]
[deploy-opentofu]
2025-10-12 08:59:28 +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
461c145e39 [deploy-opentofu]
[deploy-opentofu]
2025-10-11 22:50:06 +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
aa106310ea [deploy-opentofu]
[deploy-opentofu]
2025-10-11 22:36:45 +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
3d0a49f4fe [deploy-opentofu]
[deploy-opentofu]
2025-10-11 22:33:46 +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
f0823e5716 [deploy-opentofu]
[deploy-opentofu]
2025-10-11 22:21:47 +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
3c6731405d [deploy-opentofu]
[deploy-opentofu]
2025-10-11 22:12:30 +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
0f346a4c73 [deploy-opentofu]
[deploy-opentofu]
2025-10-11 22:09:15 +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
916944a150 [deploy-opentofu]
[deploy-opentofu]
2025-10-11 21:51:52 +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
69150c506f [deploy-opentofu]
[deploy-opentofu]
2025-10-11 21:43:18 +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
0304eb6927 [deploy-opentofu]
[deploy-opentofu]
2025-10-11 21:32:14 +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
46da80161a [deploy-opentofu] 2025-10-11 21:22:48 +00:00
337f1f573c [deploy-opentofu]
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#276
2025-10-11 21:20:43 +00:00
6d3ca1edb3 [deploy-opentofu] 2025-10-11 21:19:21 +00:00
d300e27f9e Merge branch 'fenix-admin' into dev 2025-10-11 21:09:33 +00:00
06b3f73d8d [deploy-opentofu]
a
2025-10-11 21:07:22 +00:00
be6e459be5 Merge pull request '[deploy-opentofu]' (#274) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#274
Reviewed-by: fenix <tomaslimpinho@gmail.com>
2025-10-02 08:17:51 +00:00
9e6e9bd147 [deploy-opentofu] 2025-10-02 08:17:10 +00:00
fe60e4d672 Merge pull request '[deploy-opentofu]' (#273) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#273
2025-10-02 07:54:42 +00:00
585bda0bd2 [deploy-opentofu] 2025-10-02 07:53:42 +00:00
21e645a72c Merge pull request '[deploy-opentofu]' (#272) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#272
2025-09-21 15:18:33 +00:00
9e0efc4f59 [deploy-opentofu] 2025-09-21 15:17:39 +00:00
13c30fa900 Merge pull request '[deploy-opentofu]' (#271) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#271
2025-09-21 11:48:23 +00:00
7513e9f600 [deploy-opentofu] 2025-09-21 11:47:39 +00:00
4d3492c94a Merge pull request '[deploy-opentofu]' (#270) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#270
2025-09-21 11:39:03 +00:00
c7bf70d14c Update main.tf 2025-09-21 11:38:09 +00:00
a045a6593e Merge pull request '[deploy-opentofu]' (#269) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#269
2025-09-21 11:30:15 +00:00
ef49235842 [deploy-opentofu] 2025-09-21 11:29:33 +00:00
7ade4e335c Merge pull request '[deploy-opentofu]' (#268) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#268
2025-09-21 11:17:29 +00:00
82faecd162 [deploy-opentofu] 2025-09-21 11:16:26 +00:00
250b5ec5a0 Merge pull request '[deploy-opentofu]' (#267) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#267
2025-09-21 11:13:19 +00:00
c6db073f7e [deploy-opentofu] 2025-09-21 11:12:15 +00:00
525490ac84 Merge pull request '[deploy-opentofu]' (#266) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#266
2025-09-21 11:08:00 +00:00
97aefe288a [deploy-opentofu] 2025-09-21 11:07:14 +00:00
cce724f9d7 Merge pull request '[deploy-opentofu]' (#265) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#265
2025-09-21 10:56:34 +00:00
3cf575d2d1 [deploy-opentofu] 2025-09-21 10:55:50 +00:00
e9abf54677 Merge pull request '[deploy-opentofu]' (#264) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#264
2025-09-21 10:51:59 +00:00
04e1cb7c9a [deploy-opentofu] 2025-09-21 10:51:06 +00:00
0d510e4941 Merge pull request '[deploy-opentofu]' (#263) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#263
2025-09-21 10:44:21 +00:00
a7ad7a0338 [deploy-opentofu] 2025-09-21 10:43:37 +00:00
2ee2d36f16 Merge pull request '[deploy-opentofu]' (#262) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#262
2025-09-21 10:40:54 +00:00
46cc36b013 [deploy-opentofu] 2025-09-21 10:40:11 +00:00
16878eec71 Merge pull request 'fenix-admin' (#261) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#261
2025-09-21 10:38:33 +00:00
f45492d630 [deploy-opentofu] 2025-09-21 10:37:49 +00:00
a594314bb1 Update .gitea/workflows/ci-test.yaml 2025-09-21 10:37:32 +00:00
4e36161371 Merge pull request '[deploy-opentofu]' (#260) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#260
Reviewed-by: fenix <tomaslimpinho@gmail.com>
2025-09-21 10:34:19 +00:00
8ecd94f08c Merge branch 'dev' into fenix-admin 2025-09-21 10:32:28 +00:00
67dd8b490c [deploy-opentofu] 2025-09-21 10:30:11 +00:00
468a7c0d78 Merge pull request '[deploy-opentofu]' (#259) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#259
2025-09-21 10:21:12 +00:00
035427e956 [deploy-opentofu] 2025-09-21 10:20:22 +00:00
27132cf022 Merge pull request '[deploy-opentofu]' (#258) from fenix-admin into dev
Reviewed-on: fenix-gitea-admin/iac-opentofu-private#258
2025-09-21 10:09:59 +00:00
ce73cf8a9a [deploy-opentofu] 2025-09-21 10:08:15 +00:00
8 changed files with 114 additions and 25 deletions

View File

@ -1,12 +1,12 @@
name: IAC
on:
on:
push:
branches: [ dev ]
workflow_dispatch:
jobs:
hello:
hello:
#precisa da imagem costum do opentofu
runs-on: [ fenix-opentofu ]
env:
@ -35,6 +35,11 @@ jobs:
run: |
apt-get update -y
- name: Install setup
run: |
apt install -y curl jq
curl -fsSL https://deb.nodesource.com/setup_18.x
- name: Cloning iac repository
uses: actions/checkout@v4
with:
@ -60,7 +65,8 @@ jobs:
- name: Install dante-server
run: |
apt-get install -y dante-server
apt-get install -y dante-server openssl
#libssl1.1
- name: Configure dante-server
@ -85,12 +91,17 @@ jobs:
- name: vaultwarden urls as secrets
working-directory:
run: |
echo "config"
echo "$VAULTWARDEN_LINK"
bw config server $VAULTWARDEN_LINK
echo "login"
bw login --apikey
echo "session"
BW_SESSION=$(bw unlock "$BW_PASSWORD" --raw)
echo "$BW_SESSION"
echo "getting item"
bw get item "iac.proxmox.ssh.link" --session "$BW_SESSION"
bw get item "iac.proxmox.ssh.link" --session "$BW_SESSION" | jq -r '.notes' > "proxmox-ssh-link.txt"
- name: Start cloudflared Access TCP -> SOCKS5 (background)
@ -131,7 +142,7 @@ jobs:
run: |
pkill danted || true
danted -f /etc/danted.conf -D > dante.log 2>&1 &
sleep 3
sleep 3
cat dante.log
@ -139,6 +150,7 @@ jobs:
working-directory: infra/iac
run: |
BW_SESSION=$(bw unlock "$BW_PASSWORD" --raw)
echo "$BW_SESSION"
# Ler o arquivo de referência
for secret in $(jq -c '.secrets[]' secrets/vault-secrets-map.json); do
@ -156,6 +168,7 @@ jobs:
elif [ "$type" == "note" ]; then
echo "note get"
bw get item "$name" --session "$BW_SESSION" | jq -r '.notes' > "$output"
#cat $output
fi
done

View File

@ -1,23 +1,31 @@
FROM ghcr.io/opentofu/opentofu:1.9-minimal AS tofu
FROM ubuntu:24.04
# Copy the tofu binary
COPY --from=tofu /usr/local/bin/tofu /usr/local/bin/tofu
# Install dependencies
# Atualizar pacotes e instalar dependências básicas
RUN apt-get update && apt-get install -y \
git \
curl \
nodejs \
npm \
git \
unzip \
jq \
gnupg \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN curl -L -o /tmp/bw.zip https://github.com/bitwarden/cli/releases/download/v1.22.1/bw-linux-1.22.1.zip \
&& unzip /tmp/bw.zip -d /usr/local/bin \
&& chmod +x /usr/local/bin/bw \
&& rm /tmp/bw.zip
# Instalar Node.js 18 via NodeSource
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install -y nodejs
# Verificar versões (opcional para debug)
RUN node -v && npm -v
RUN npm install -g @bitwarden/cli
WORKDIR /workspace

View File

@ -5,7 +5,7 @@ https://opentofu.org/docs/intro/ - quick start and explaning who to work in team
https://opentofu.org/docs/intro/ - CICD for opentofu explained
tofu init
tofu plan --var-file=opentofu-varfile.json
yes

View File

@ -6,7 +6,7 @@ terraform {
}
bitwarden = {
source = "maxlaverse/bitwarden"
version = ">= 0.15.0"
version = ">= 0.16.0"
}
proxmox = {
source = "bpg/proxmox"

View File

@ -120,7 +120,10 @@ resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" {
# Configuração da interface de rede
network_device {
bridge = "vmbr0"
bridge = "vmbr0" # rede de gestão para comunicação com Cluster A
}
network_device {
bridge = "vmbr2"
}
initialization {
@ -132,6 +135,12 @@ initialization {
address = "dhcp"
}
}
ip_config {
ipv4 {
address = "dhcp"
}
}
user_data_file_id = proxmox_virtual_environment_file.cloud_init_yaml.id
}
}
@ -169,6 +178,12 @@ resource "proxmox_virtual_environment_vm" "k8s_vms" {
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
}
@ -177,3 +192,28 @@ resource "proxmox_virtual_environment_vm" "k8s_vms" {
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

@ -40,6 +40,8 @@ variable "proxmox_k8s_vms" {
vm_id = number
node_name = string
ip = string
ip2 = string
ip3 = string
cores = optional(number)
memory = optional(number)
data_store = optional(string)

View File

@ -1,7 +1,7 @@
{
"secrets": [
{
"name": "iac.opentofu.consul.secrets",
"name": "iac.opentofu.consul.secrets",
"type": "note",
"output": "../secrets/secrets/consul.secrets.tfvars"
},

View File

@ -16,6 +16,13 @@ resource "vaultwarden_account_register" "vaultwarden-acount-fenix" {
password = var.vaultwarden_master_password
}
resource "bitwarden_item_login" "administrative-user" {
name = "teste"
username = "teste"
password = "teste"
collection_ids = [vaultwarden_organization_collection.vaultwarden-collection-iac.id]
}
resource "vaultwarden_organization" "vaultwarden-organization-fenix-iac" {
name = "fenix-iac"
}
@ -26,9 +33,28 @@ resource "vaultwarden_organization_collection" "vaultwarden-collection-iac" {
}
resource "bitwarden_item_login" "administrative-user" {
name = "teste"
username = "teste"
password = "teste"
resource "bitwarden_item_secure_note" "hosts-ini" {
name = "iac.ansible.hosts.ini"
notes = <<EOT
${local.hosts_ini}
EOT
organization_id = vaultwarden_organization.vaultwarden-organization-fenix-iac.id
collection_ids = [vaultwarden_organization_collection.vaultwarden-collection-iac.id]
}
reprompt = true
}
locals{
hosts_ini = <<EOT
[master]
master1 ansible_host=${split("/", var.proxmox_k8s_vms[0].ip)[0]} ansible_user=${var.proxmox_k8s_vms[0].extra_users[0].name} ansible_ssh_pass=${var.proxmox_k8s_vms[0].extra_users[0].password} ansible_ssh_common_args='-o StrictHostKeyChecking=no'
[workers]
%{ for i, vm in var.proxmox_k8s_vms ~}
%{ if i != 0 }
worker-${replace(split("/", vm.ip)[0], ".", "-")} ansible_host=${split("/", vm.ip)[0]} ansible_user=${vm.extra_users[0].name} ansible_ssh_pass=${vm.extra_users[0].password} ansible_ssh_common_args='-o StrictHostKeyChecking=no'
%{ endif }
%{ endfor }
EOT
}