## Description
Mettre en place un pipeline CI/CD Gitea Actions pour automatiser le déploiement Terraform de l'infrastructure homelab.
## Objectifs
### 1. Validation automatique (toutes les branches)
- [x] Exécution de `tflint --recursive` pour la validation des bonnes pratiques
- [x] Exécution de `terraform fmt --recursive` pour vérifier le formatage
### 2. Workflow PR (Pull Requests)
- [x] `terraform plan` exécuté automatiquement avant la review
- [x] Résultat du plan affiché dans un commentaire de la PR
- [x] `terraform apply` déclenché après merge
### 3. Workflow direct (push sur dev)
- [x] `terraform plan` + `terraform apply` automatique
## Contraintes techniques
### Runner Gitea
- Le runner est connecté à l'environnement via Tailscale (depuis le host)
- Accès au PVE01 via le réseau Tailscale
- Accès au backend S3 (object storage) déjà configuré
### Sécurité
- [x] Secrets à configurer :
- `PROXMOX_API_TOKEN` - Token API Proxmox
- `TAILSCALE_AUTH_KEY` - Clé d'authentification Tailscale
- `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` - Credentials backend S3
- `AWS_ENDPOINT_URL` - Endpoint S3 (si custom)
## Structure du workflow
```
.gitea/workflows/
└── terraform.yml
```
## Tasks
- [x] Créer le fichier workflow `.gitea/workflows/terraform.yml`
- [x] Configurer les secrets dans le repo Gitea
- [x] Tester le pipeline sur une PR
- [x] Documenter l'utilisation dans le README
## Références
- Répertoire Terraform : `terraform/prod/`
- Backend : S3 Object Storage (déjà configuré)
- Documentation Gitea Actions : https://docs.gitea.com/usage/actions/overview
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
Mettre en place un pipeline CI/CD Gitea Actions pour automatiser le déploiement Terraform de l'infrastructure homelab.
Objectifs
1. Validation automatique (toutes les branches)
tflint --recursivepour la validation des bonnes pratiquesterraform fmt --recursivepour vérifier le formatage2. Workflow PR (Pull Requests)
terraform planexécuté automatiquement avant la reviewterraform applydéclenché après merge3. Workflow direct (push sur dev)
terraform plan+terraform applyautomatiqueContraintes techniques
Runner Gitea
Sécurité
PROXMOX_API_TOKEN- Token API ProxmoxTAILSCALE_AUTH_KEY- Clé d'authentification TailscaleAWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY- Credentials backend S3AWS_ENDPOINT_URL- Endpoint S3 (si custom)Structure du workflow
Tasks
.gitea/workflows/terraform.ymlRéférences
terraform/prod/