Commit Graph

73 Commits

Author SHA1 Message Date
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
349f967fc0 feat(ci): create dedicated PR workflow for Terraform
- Separate workflow for pull_request events only
- No Apply job visible in PR checks
- Simplified checkout using gitea.head_ref directly

Refs #3
2025-12-08 16:26:26 +00:00
e22b8c4aaf Merge pull request 'VM Test' (#8) from deploy_TestVM into dev
All checks were successful
Terraform CI/CD / Validate (push) Successful in 5s
Terraform CI/CD / Plan (push) Successful in 4s
Terraform CI/CD / Apply (push) Has been skipped
Reviewed-on: #8
2025-12-08 16:21:13 +00:00
darnodo
1baaeffe91 style(terraform): adjust indentation for monitoring VM in prod tfvars
All checks were successful
Terraform CI/CD / Validate (pull_request) Successful in 6s
Terraform CI/CD / Plan (pull_request) Successful in 6s
Terraform CI/CD / Apply (pull_request) Has been skipped
Update the indentation of the `virtual_machines` map in `terraform/prod/terraform.tfvars` from 4 spaces to 2 spaces to maintain consistency with the surrounding HCL code style. No functional changes were made to the configuration values.
2025-12-08 17:20:05 +01:00
darnodo
aa3b32ee53 VM Test
Some checks failed
Terraform CI/CD / Validate (pull_request) Failing after 5s
Terraform CI/CD / Plan (pull_request) Has been skipped
Terraform CI/CD / Apply (pull_request) Has been skipped
2025-12-08 17:16:28 +01:00
bf80e60d7f fix(ci): use head_ref for PR checkout instead of ref_name
All checks were successful
Terraform CI/CD / Validate (push) Successful in 5s
Terraform CI/CD / Plan (push) Successful in 5s
Terraform CI/CD / Apply (push) Has been skipped
- gitea.ref_name returns PR number for pull_request events
- Use gitea.head_ref (source branch) for PRs
- Use gitea.ref_name for push events
- Remove unnecessary git checkout sha step
- Clean up redundant Save Plan Output step

Refs #3
2025-12-08 15:56:31 +00:00
darnodo
bb39dfa29e ci: add GIT_TOKEN authentication to checkout steps
All checks were successful
Terraform CI/CD / Validate (push) Successful in 6s
Terraform CI/CD / Plan (push) Successful in 8s
Terraform CI/CD / Apply (push) Has been skipped
The workflow was failing to checkout the repository in certain contexts or was requiring authentication that wasn't previously provided. This change:
- Adds the `GIT_TOKEN` secret to the environment variables.
- Updates the `git clone` commands in the `terraform-plan`, `terraform-apply`, and `terraform-destroy` jobs to include the `${GIT_TOKEN}@` prefix in the clone URL.

This ensures that the workflow can successfully clone the repository even if it's private or requires authenticated access.
2025-12-08 11:56:05 +01:00
darnodo
a02582aaea ci(workflow): hardcode gitea server url in terraform workflow
Some checks failed
Terraform CI/CD / Validate (push) Failing after 2s
Terraform CI/CD / Plan (push) Has been skipped
Terraform CI/CD / Apply (push) Has been skipped
Replaces the dynamic `${{ gitea.server_url }}` variable with the explicit URL `https://gitea.arnodo.fr` in the Terraform workflow configuration. This change affects git clone operations and API calls for posting PR comments, likely to resolve issues with variable expansion or DNS resolution within the runner environment.
2025-12-08 11:31:46 +01:00