80 Commits

Author SHA1 Message Date
Damien
eaa329e70d Update prod VM disk size to 80GB
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 7s
Terraform Deploy / Apply (push) Successful in 4m0s
2026-06-21 13:01:37 +02:00
Damien
eee527a9bc Increase IP Fabric VM disk size to 64GB
Some checks failed
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Failing after 2m24s
2026-06-21 12:58:30 +02:00
d0e49254ab Merge pull request 'Add IP Fabric VM to production' (#19) from feat/ipfabric_vm into dev
Some checks failed
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 6s
Terraform Deploy / Apply (push) Failing after 1m22s
Reviewed-on: #19
2026-06-21 10:55:01 +00:00
Damien
fc32f62aa2 Add IP Fabric VM to production
All checks were successful
Terraform PR / Validate (pull_request) Successful in 7s
Terraform PR / Plan (pull_request) Successful in 6s
2026-06-21 12:40:48 +02:00
Damien
28e0ee7369 Update prod VM configuration for Komodo
All checks were successful
Terraform Deploy / Validate (push) Successful in 6s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Successful in 2m27s
Replace IP Fabric VM with Komodo VM using Alpine OS and increased
resources
2026-06-14 15:39:47 +02:00
Damien
df9934b48a Remove komodo VM from prod configuration
Some checks failed
Terraform Deploy / Validate (push) Successful in 6s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Has been cancelled
2026-06-14 15:35:24 +02:00
Damien
09d3c84a87 Update user creation and Tailscale setup
Add Debian/Ubuntu/Rocky-specific user configuration
Improve Tailscale installation and bringup reliability
2026-06-10 10:49:49 +02:00
Damien
b1b165c752 Add komodo VM to production
All checks were successful
Terraform Deploy / Validate (push) Successful in 4s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Successful in 49s
2026-06-10 10:43:28 +02:00
Damien
0e2593234a Remove komodo virtual machine from prod
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Successful in 8s
2026-06-10 10:42:09 +02:00
Damien
842c24acd8 Unlock user account on Alpine
Use `passwd -u` workaround for reliable unlocking
2026-06-10 10:41:40 +02:00
Damien
adbc4ff64b Add komodo VM to production
All checks were successful
Terraform Deploy / Validate (push) Successful in 9s
Terraform Deploy / Plan (push) Successful in 9s
Terraform Deploy / Apply (push) Successful in 1m1s
2026-06-10 10:10:34 +02:00
Damien
fa33c842db Remove komodo virtual machine from prod configuration
All checks were successful
Terraform Deploy / Validate (push) Successful in 10s
Terraform Deploy / Plan (push) Successful in 11s
Terraform Deploy / Apply (push) Successful in 17s
2026-06-10 10:08:56 +02:00
Damien
06df079bfb Add lock_passwd false to Alpine user config 2026-06-10 10:08:06 +02:00
9bce5603fc Merge pull request 'Add production VMs for IP Fabric and Komodo' (#18) from vm/ipfabric_komodo into dev
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Successful in 1m35s
Reviewed-on: #18
2026-06-10 07:44:02 +00:00
Damien
66106c5ac0 Add production VMs for IP Fabric and Komodo
All checks were successful
Terraform PR / Validate (pull_request) Successful in 4s
Terraform PR / Plan (pull_request) Successful in 6s
2026-06-10 09:41:54 +02:00
6c4e3c31b0 Merge pull request 'Remove unused virtual machines from prod config' (#17) from vm/delete_all into dev
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 6s
Terraform Deploy / Apply (push) Successful in 11s
Reviewed-on: #17
2026-06-10 07:40:24 +00:00
Damien
2ef6995c74 Remove unused virtual machines from prod config
All checks were successful
Terraform PR / Validate (pull_request) Successful in 5s
Terraform PR / Plan (pull_request) Successful in 8s
2026-06-10 09:32:32 +02:00
Damien
3ce22b493c Add shell specification to Terraform plan steps
Some checks failed
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Apply (push) Has been cancelled
Terraform Deploy / Plan (push) Has been cancelled
2026-06-10 09:29:24 +02:00
452ebb1ac0 Merge pull request 'Add DNS server configuration for Alpine Linux' (#16) from fix/alpine_dns into dev
Some checks failed
Terraform Deploy / Validate (push) Successful in 4s
Terraform Deploy / Apply (push) Has been cancelled
Terraform Deploy / Plan (push) Has been cancelled
Reviewed-on: #16
2026-06-10 07:15:26 +00:00
a5d1e2b817 Merge branch 'dev' into fix/alpine_dns
Some checks failed
Terraform PR / Validate (pull_request) Successful in 4s
Terraform PR / Plan (pull_request) Has been cancelled
2026-06-10 07:12:31 +00:00
Damien
41dae6a086 Add DNS server configuration for Alpine Linux
Some checks failed
Terraform PR / Validate (pull_request) Successful in 5s
Terraform PR / Plan (pull_request) Has been cancelled
2026-06-10 08:49:50 +02:00
43ba14df60 Merge pull request 'chore/fix_qemu_alpine' (#15) from chore/fix_qemu_alpine into dev
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Successful in 15m18s
Reviewed-on: #15
2026-06-10 06:22:44 +00:00
Damien
a9fdb3ac45 Add DNS configuration for VMs
All checks were successful
Terraform PR / Validate (pull_request) Successful in 5s
Terraform PR / Plan (pull_request) Successful in 5s
2026-06-10 08:18:37 +02:00
Damien
a66142632c Add Alpine and systemd cloud-init templates 2026-06-10 08:09:42 +02:00
Damien
f3f84168c3 Remove legacy cloud-init template
The user-data.yml.tftpl file was replaced with OS-specific templates to
support
different init systems. The new templates are
user-data-systemd.yml.tftpl and
user-data-alpine.yml.tftpl, selected based on the VM's OS type.
2026-06-10 08:09:36 +02:00
b652694b26 Merge pull request 'Add komodo VM to prod configuration' (#14) from vm/komodo into dev
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Successful in 15m14s
Reviewed-on: #14
2026-06-09 17:35:44 +00:00
Damien
4a2704c6f3 Add komodo VM to prod configuration
All checks were successful
Terraform PR / Validate (pull_request) Successful in 9s
Terraform PR / Plan (pull_request) Successful in 5s
2026-06-09 17:22:20 +02:00
Damien
96394ab1b1 Update Terraform workflow file paths and output handling
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Successful in 1m39s
- Change single quotes to double quotes in path filters for consistency
- Modify command redirection to use > instead of | tee for cleaner
  output handling
- Add explicit cat command to display plan output in logs
- Standardize whitespace formatting throughout files
2026-05-03 21:07:27 +02:00
Damien
1ff49e1a2e Fix virtual_machines variable declaration syntax
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Has been skipped
Remove redundant outer object wrapper in virtual_machines declaration
that was causing Terraform configuration error.
2026-05-03 20:15:21 +02:00
Damien
befd57f21f Add IPFabric VM configuration to production Terraform variables
All checks were successful
Terraform Deploy / Validate (push) Successful in 4s
Terraform Deploy / Plan (push) Successful in 7s
Terraform Deploy / Apply (push) Has been skipped
The virtual_machines map is now populated with configuration for an
IPFabric VM, including specifications for OS, CPU, memory, disk size, IP
address, gateway, and associated tags.
2026-05-03 20:02:31 +02:00
12e413f2a7 Merge pull request 'feat: support SSH key injection via Gitea secrets for CI pipelines' (#12) from feat/ci-ssh-key-support into dev
All checks were successful
Terraform Deploy / Validate (push) Successful in 7s
Terraform Deploy / Plan (push) Successful in 9s
Terraform Deploy / Apply (push) Has been skipped
Reviewed-on: #12
2026-05-03 17:41:11 +00:00
f57f68b6f3 feat: add SSH key env vars to PR workflow
All checks were successful
Terraform PR / Validate (pull_request) Successful in 6s
Terraform PR / Plan (pull_request) Successful in 10s
Inject PROXMOX_SSH_PRIVATE_KEY and ADMIN_SSH_PUBLIC_KEY
secrets as TF_VAR_ environment variables for CI.
2026-05-03 17:04:10 +00:00
b4fa69f00a feat: add SSH key env vars to deploy workflow
Inject PROXMOX_SSH_PRIVATE_KEY and ADMIN_SSH_PUBLIC_KEY
secrets as TF_VAR_ environment variables for CI.
2026-05-03 17:03:33 +00:00
8fcf033145 feat: support SSH public key content for CI
Use admin_ssh_public_key content when provided, otherwise
fall back to reading from admin_ssh_public_key_path file.
2026-05-03 17:03:00 +00:00
c495b40def feat: support SSH private key injection for CI
Use proxmox_ssh_private_key variable when available, otherwise
fall back to SSH agent for local development.
2026-05-03 17:02:47 +00:00
3bb9c97d69 feat: add SSH key variables for CI support
Add proxmox_ssh_private_key for provider SSH in CI pipelines.
Add admin_ssh_public_key as content-based alternative to file path.
Both default to empty string for backward compatibility with local usage.
2026-05-03 17:02:31 +00:00
Damien
02979f9bb9 Remove ipfabric VM configuration
All checks were successful
Terraform Deploy / Validate (push) Successful in 5s
Terraform Deploy / Plan (push) Successful in 7s
Terraform Deploy / Apply (push) Has been skipped
2026-04-15 11:36:38 +02:00
Damien
e4889aa9bc feat(prod): add IP Fabric virtual machine configuration
All checks were successful
Terraform Deploy / Validate (push) Successful in 12s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Has been skipped
Update the production terraform variables to define the 'ipfabric'
virtual machine. This replaces the empty VM map with specific
resource allocations:

- Resources: 4 vCPUs, 16GB RAM, 128GB Storage
- Network: Static IP 192.168.1.161
- OS tag: ipfabric

This configuration enables the provisioning of the IP Fabric node in the
production environment.
2026-02-05 13:53:37 +01:00
darnodo
e412154bef chore(prod): remove netlab vm configuration from tfvars
All checks were successful
Terraform Deploy / Validate (push) Successful in 15s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Has been skipped
Remove the configuration for the "netlab" virtual machine (192.168.1.161).
This clears the virtual_machines map in the production environment, effectively decommissioning the instance.
2026-01-12 17:47:38 +01:00
darnodo
03fbc40de2 Remove IPFabric VM
Some checks failed
Terraform Deploy / Validate (push) Has been cancelled
Terraform Deploy / Plan (push) Has been cancelled
Terraform Deploy / Apply (push) Has been cancelled
2025-12-20 14:50:02 +01:00
darnodo
1fa826ae7a feat(prod): add ipfabric virtual machine configuration
Some checks failed
Terraform Deploy / Validate (push) Has been cancelled
Terraform Deploy / Plan (push) Has been cancelled
Terraform Deploy / Apply (push) Has been cancelled
Adds the 'ipfabric' instance to the production virtual_machines inventory.
This provisions the server with 8 cores, 16GB memory, and 128GB disk
assigned to IP 192.168.1.162.
2025-12-17 20:38:59 +01:00
darnodo
df71a05e92 feat(terraform): replace centos with ipfabric in supported os list
Some checks failed
Terraform Deploy / Validate (push) Has been cancelled
Terraform Deploy / Plan (push) Has been cancelled
Terraform Deploy / Apply (push) Has been cancelled
Update the `supported_os` local variable in `01-virtual-machines.tf` to
reflect current provisioning requirements. This change removes `centos`
and adds `ipfabric` to the set of allowed operating system templates.
2025-12-17 17:01:42 +01:00
darnodo
3f5a82d87a Create NetLab VM
All checks were successful
Terraform Deploy / Validate (push) Successful in 6s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Has been skipped
2025-12-14 16:47:07 +01:00
darnodo
293ce5be0d Remove Netlab VM
All checks were successful
Terraform Deploy / Validate (push) Successful in 6s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Has been skipped
2025-12-13 14:33:52 +01:00
darnodo
6d7a0e64ab feat(vm): enable qemu-guest-agent and set stop_on_destroy
All checks were successful
Terraform Deploy / Validate (push) Successful in 14s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Has been skipped
- Add `qemu-guest-agent` enable/start command to `user-data.yml.tftpl` to ensure the agent is active immediately after provisioning.
- Set `stop_on_destroy = true` in the Proxmox VM resource definition to ensure graceful shutdown during Terraform destroy operations.
2025-12-11 19:12:31 +01:00
darnodo
2ce5c373f2 feat(prod): configure 'netlab' virtual machine in terraform
All checks were successful
Terraform Deploy / Validate (push) Successful in 6s
Terraform Deploy / Plan (push) Successful in 5s
Terraform Deploy / Apply (push) Has been skipped
Add the configuration for the "netlab" VM in the production environment. This machine is provisioned with:
- OS: Debian
- 8 CPU cores
- 16GB RAM
- 64GB Disk
- Static IP 192.168.1.161
2025-12-09 20:51:31 +01:00
9b0fc389c5 Merge pull request 'Test destroy' (#9) from destroy_TestVM into dev
All checks were successful
Terraform Deploy / Validate (push) Successful in 4s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Has been skipped
Reviewed-on: #9
2025-12-08 18:13:48 +00:00
darnodo
b47482b3c8 Test destroy
All checks were successful
Terraform PR / Validate (pull_request) Successful in 5s
Terraform PR / Plan (pull_request) Successful in 5s
2025-12-08 19:13:00 +01:00
7bae079670 refactor(ci): remove old unified workflow
Replaced by:
- terraform-pr.yml (for pull requests)
- terraform-deploy.yml (for push to dev)

Refs #3
2025-12-08 16:27:03 +00:00
804b94a837 feat(ci): create dedicated deploy workflow for Terraform
All checks were successful
Terraform Deploy / Validate (push) Successful in 4s
Terraform Deploy / Plan (push) Successful in 4s
Terraform Deploy / Apply (push) Has been skipped
- Separate workflow for push events to dev only
- Apply job runs when plan detects changes
- Use has_changes output (true/false) instead of exitcode

Refs #3
2025-12-08 16:26:44 +00:00