Commit graph

11 commits

Author SHA1 Message Date
Tellsanguis
cf5ea11740 fix(flux): Update repository URL from infra to Homelab
All checks were successful
CI - Validation / Terraform Validation (push) Successful in 14s
CI - Validation / Ansible Validation (push) Successful in 55s
CI - Validation / Kubernetes Validation (push) Successful in 7s
CI - Validation / Security Scan (push) Successful in 12s
- Change GitRepository URL to match new repository name
- Repository renamed from 'infra' to 'Homelab'
2025-11-11 11:06:16 +01:00
Tellsanguis
78d3a46d31 feat(ci): Add HA support for node failures
Some checks are pending
CI - Validation / Terraform Validation (push) Waiting to run
CI - Validation / Ansible Validation (push) Waiting to run
CI - Validation / Kubernetes Validation (push) Waiting to run
CI - Validation / Security Scan (push) Waiting to run
Modified CI/CD workflows to gracefully handle Proxmox node failures:

CI Workflow (ci.yml):
- Terraform Plan only runs on main branch (faster CI on feature branches)
- Plan failures on unavailable nodes don't block validation
- Added warning message when plan fails

Deploy Workflow (deploy.yml):
- Added continue-on-error to all deploy jobs (pve1, pve2, pve3)
- Modified cluster validation to require 2/3 nodes (quorum)
- Enhanced deployment summary with success counter
- Exit codes: 0 if >=2 nodes, 1 if 1 node, 1 if 0 nodes

This ensures the infrastructure remains operational even when one
Proxmox node is down, maintaining HA principles.
2025-11-07 11:32:42 +01:00
Tellsanguis
495bf44ca5 fix(terraform): Add missing VM configurations to tfvars example
Added VM configuration objects for all three nodes:
- k3s_server_1_config: 6 cores, 12GB RAM, 100G disk
- k3s_server_2_config: 6 cores, 12GB RAM, 100G disk
- etcd_witness_config: 2 cores, 2GB RAM, 20G disk

Removed undeclared 'management_bridge' variable that was causing
warnings in terraform plan.

This allows terraform plan to execute successfully in CI with
the example configuration file.
2025-11-07 11:24:29 +01:00
Tellsanguis
6178f9f0bc fix(terraform): Update disk syntax for Proxmox provider v2.9
Changed from nested `disks` block (v3.0 syntax) to flat `disk` block
(v2.9 syntax):
- disks { scsi { scsi0 { disk {...} } } } → disk { slot = 0, ... }
- Added explicit slot, type, and iothread parameters
- Maintains same functionality with v2.9-compatible syntax
2025-11-07 11:20:07 +01:00
Tellsanguis
a7172070ee fix(terraform): Downgrade Proxmox provider to stable v2.9
The v3.0 provider is not yet available as a stable release in the
OpenTofu/Terraform registry. Downgraded to v2.9 which is the latest
stable version.

Also fixed minor yamllint issues in flux.yml:
- Added space after comment marker
- Removed trailing blank line
2025-11-07 10:51:53 +01:00
Tellsanguis
9f2cb11aeb fix(ansible): Resolve YAML linting violations
Fixed yamllint errors and warnings across all Ansible files:
- Reformatted long lines to stay within 80 character limit
- Standardized boolean values to use true/false instead of yes/no
- Fixed YAML folding syntax for multiline strings
- Removed erroneous triple quotes in k3s-server tasks

This resolves all yamllint issues reported by the CI pipeline.
2025-11-07 10:40:53 +01:00
Tellsanguis
052006adee feat(ci): Implement multi-module Terraform workflow 2025-11-07 10:27:09 +01:00
Tellsanguis
10ef8a6c1b fix(ci): Address tool findings and workflow errors 2025-11-07 10:21:55 +01:00
Tellsanguis
cb6b1d666b fix(ci): Resolve dependency issues in workflow 2025-11-07 10:13:09 +01:00
Tellsanguis
aa6ac62d92 fix: CI workflow errors (OpenTofu, sudo) 2025-11-07 10:08:20 +01:00
Tellsanguis
850045e7ed feat: Initial commit 2025-11-07 09:33:38 +01:00