Commit Graph
4 Commits
Author SHA1 Message Date
Damien 6036783cd5 feat(ci): Add Terraform CI/CD pipeline (#4)
## Description

Mise en place d'un pipeline CI/CD Gitea Actions pour automatiser le déploiement Terraform.

## Changements

- Ajout du workflow `.gitea/workflows/terraform.yml`
- Utilisation de l'image custom `gitea.arnodo.fr/damien/terraform-ci:latest` (Terraform 1.5.7 + TFLint)
- Exécution dans des containers Docker (pas sur le host)

## Pipeline

| Job | Trigger | Actions |
|-----|---------|---------|
| **validate** | Push + PR | `terraform fmt -check`, `tflint`, `terraform validate` |
| **plan** | Push + PR | `terraform plan` + commentaire automatique sur la PR |
| **apply** | Push sur `dev` uniquement | `terraform apply` (si changements détectés) |

## Secrets configurés

- [x] `AWS_ACCESS_KEY_ID`
- [x] `AWS_SECRET_ACCESS_KEY`
- [x] `PROXMOX_URL`
- [x] `PROXMOX_API_TOKEN`
- [x] `TAILSCALE_AUTH_KEY`
- [x] `GIT_TOKEN`

## Test

Cette PR va déclencher les jobs `validate` et `plan`. Le job `apply` se déclenchera après le merge sur `dev`.

Closes #3

Reviewed-on: #4
2025-12-08 08:52:43 +00:00
Damien f4d55cc062 fix: use legacy S3 backend syntax for Terraform compatibility
Replace 'endpoints' block with 'endpoint' string and remove
unsupported arguments for older Terraform versions.
2025-12-07 13:33:55 +00:00
Damien 086bc029c0 feat: add Scaleway S3 backend for Terraform state
Configure remote state storage using Scaleway Object Storage bucket
'netlab-terraform-backend' for centralized state management.
2025-12-07 13:31:02 +00:00
Damienanddarnodo 90232da467 docs: add Proxmox setup guide for Terraform (#2)
## Summary

Add Proxmox setup documentation for Terraform with dedicated role and minimal privileges.

## Changes

- Add `docs/proxmox-setup.md` with complete setup guide
- Dedicated `TerraformRole` (no Administrator role needed)
- Both Web UI and CLI procedures
- SSH configuration for bpg/proxmox provider

## Privileges (Proxmox 9.1)

| Category  | Privileges |
|-----------|------------|
| Datastore | `Allocate`, `AllocateSpace`, `AllocateTemplate`, `Audit` |
| System    | `Audit`, `Console`, `Modify` |
| VM        | `Allocate`, `Audit`, `Clone`, `Config.*`, `Console`, `Migrate`, `PowerMgmt`, `Snapshot`, `Snapshot.Rollback`, `GuestAgent.Audit`, `GuestAgent.FileRead` |
| Pool      | `Allocate`, `Audit` |
| SDN       | `Use` |

> ⚠️ `VM.Monitor` deprecated in Proxmox 9 — use `VM.GuestAgent.Audit` and `VM.GuestAgent.FileRead` instead.

## Related

Closes #1

Co-authored-by: darnodo <sepales.pret0h@icloud.com>
Reviewed-on: #2
2025-12-07 13:08:16 +00:00