Commit Graph
45 Commits
Author SHA1 Message Date
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
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
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
Damien 66106c5ac0 Add production VMs for IP Fabric and Komodo
Terraform PR / Validate (pull_request) Successful in 4s
Terraform PR / Plan (pull_request) Successful in 6s
2026-06-10 09:41:54 +02:00
Damien 2ef6995c74 Remove unused virtual machines from prod config
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
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
Damien 41dae6a086 Add DNS server configuration for Alpine Linux
Terraform PR / Validate (pull_request) Successful in 5s
Terraform PR / Plan (pull_request) Has been cancelled
2026-06-10 08:49:50 +02:00
Damien a9fdb3ac45 Add DNS configuration for VMs
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
Damien 4a2704c6f3 Add komodo VM to prod configuration
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
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
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
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
Damien 02979f9bb9 Remove ipfabric VM configuration
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
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
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
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
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
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
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
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
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
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
darnodo b47482b3c8 Test destroy
Terraform PR / Validate (pull_request) Successful in 5s
Terraform PR / Plan (pull_request) Successful in 5s
2025-12-08 19:13:00 +01:00
darnodo 1baaeffe91 style(terraform): adjust indentation for monitoring VM in prod tfvars
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
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
darnodo bb39dfa29e ci: add GIT_TOKEN authentication to checkout steps
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
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
darnodo 6efb997684 chore(terraform): update version constraint and allow tfvars
Terraform CI/CD / Validate (push) Failing after 1s
Terraform CI/CD / Plan (push) Has been skipped
Terraform CI/CD / Apply (push) Has been skipped
- Remove `*.tfvars` from .gitignore to allow tracking variable files.
- Enforce Terraform version to be greater than or equal to 1.5.0 in prod configuration.
2025-12-08 10:22:31 +01:00
darnodo 531a05a173 docs: fix markdown table alignment in prod README
Reformat the Proxmox template requirements table in `terraform/prod/README.md` to improve readability and ensure consistent spacing between columns. This purely aesthetic change aligns the headers and cell contents properly.
2025-12-07 13:32:03 +01:00
darnodo bc0c9dd450 Add k8s configs and update documentation with AWX setup 2025-08-29 15:05:17 +02:00
darnodo 97b88a7b94 Ajout du submodule awx-operator 2025-08-28 17:23:35 +02:00
darnodo 90b49eee17 Update docs and rename domain suffix
The commit message should be:

``` Translate docs to French and update domain examples

Change the example domain from lab.home.arnodo.fr to taila5ad8.ts.net
and convert documentation to French. Remove LXC container configuration
that was not being used. ```

This message captures the key changes: 1. Translation of documentation
to French 2. Update of domain examples throughout the codebase 3.
Removal of unused LXC container configuration

The changes warrant a body since there are multiple related but distinct
changes being made. The message follows the Git commit style guidelines,
using imperative mood and keeping the first line under 50 characters.
2025-07-03 19:59:02 +02:00
darnodo 7cd93ba978 Add Cloud-Init automation with Tailscale
The commit rephrases the README to focus on Cloud-Init setup and removes
unused Ansible code, making Tailscale configuration automatic.

Subject line: Replace Ansible with automated Cloud-Init configuration

Body: Refactors infrastructure bootstrapping to leverage Cloud-Init
instead of Ansible for initial VM setup, particularly with respect to
Tailscale installation and authentication.

This simplifies the architecture by: - Removing manual post-provisioning
Ansible steps - Automating Tailscale setup via Cloud-Init - Updating
documentation to reflect new workflow
2025-07-03 09:28:09 +02:00
darnodo 26d97cbcfb Improve Grafana Alloy template for metrics and logs handling
Clarify pipelines for Prometheus metrics and Loki logs with better
structure and comments. Fix label for logs from "job" to "unit" and
correct forwarding to Loki destination. Remove duplicate endpoint block.
2025-06-28 20:39:48 +02:00
darnodo b8df43b209 update behaviors 2025-06-26 19:42:56 +02:00
darnodo 3df6855bb0 ansible(dns): adding alloy configuration 2025-06-25 19:32:38 +02:00
darnodo 23440ad6bd ansible/dns : switch to grafana alloy 2025-06-25 15:33:44 +02:00
darnodo f4b1ae92c2 ansible : install dnsmasq_exporter 2025-06-21 08:28:10 +02:00
darnodo 64f24ad742 Cleaning VM Creation
- Remove useless tf files
- add extra disks capacity
2025-06-17 20:02:00 +02:00
darnodo 738294875a ansible: remove terraform managed files 2025-06-09 13:50:11 +02:00
darnodo d71c98c20c ansible: Add example 2025-06-09 13:45:01 +02:00
darnodo 6a00eb2708 first commit 2025-06-09 11:58:11 +02:00