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.
Terraform Configuration - Production Environment
Ce dossier contient la configuration Terraform pour déployer l'infrastructure du homelab sur Proxmox VE.
Structure des fichiers
01-virtual-machines.tf- Configuration et déploiement des machines virtuelles02-cloud-init.tf- Configuration Cloud-Init pour l'initialisation automatique des VMsproviders.tf- Configuration des providers Terraformvariables.tf- Définition des variablesterraform.tfvars- Valeurs des variables (à personnaliser)terraform.tfvars.example- Exemple de configuration
Configuration rapide
1. Prérequis
- Terraform installé
- Accès à l'API Proxmox VE
- Templates VM configurés sur Proxmox avec les tags appropriés
- Clés SSH configurées
- Compte Tailscale avec une clé d'authentification
2. Configuration
# Copier le fichier d'exemple
cp terraform.tfvars.example terraform.tfvars
# Éditer avec vos valeurs
vim terraform.tfvars
Variables importantes à configurer :
proxmox_url: URL de votre serveur Proxmoxproxmox_api_token: Token d'API Proxmoxtailscale_auth_key: Clé d'authentification Tailscalevirtual_machines: Configuration de vos VMs
3. Déploiement
# Initialisation
terraform init
# Vérification
terraform plan
# Déploiement
terraform apply
Configuration des VMs
Les VMs sont configurées dans terraform.tfvars :
virtual_machines = {
"monitoring" = {
os = "debian"
cores = 2
memory = 4096
disk_gb = 30
ip = "192.168.1.161"
gateway = "192.168.1.254"
tags = ["monitoring"]
}
}
Options disponibles
- os : Template à utiliser (ubuntu, debian, alpine, rocky, centos)
- cores : Nombre de cœurs CPU
- memory : RAM en MB
- disk_gb : Taille du disque principal en GB
- ip : Adresse IP statique
- gateway : Passerelle réseau
- tags : Tags pour l'organisation
- additional_disks : Disques supplémentaires (optionnel)
- username : Utilisateur de la VM (optionnel, défaut: root)
Templates requis
Les templates doivent être présents sur Proxmox avec les tags correspondants :
| OS | Tags requis |
|---|---|
| Ubuntu | ["ubuntu", "template"] |
| Debian | ["debian", "template"] |
| Alpine | ["alpine", "template"] |
| Rocky | ["rocky", "template"] |
| CentOS | ["centos", "template"] |
Fonctionnalités automatiques
- Cloud-Init : Configuration automatique des VMs au premier démarrage
- Tailscale : Installation et connexion automatique au réseau Tailscale
- SSH : Configuration des clés SSH pour l'accès sécurisé
- QEMU Guest Agent : Installation automatique pour une meilleure intégration
Maintenance
Ajouter une VM
- Ajouter la configuration dans
terraform.tfvars - Exécuter
terraform apply
Supprimer une VM
- Retirer la configuration de
terraform.tfvars - Exécuter
terraform apply
Modifier une VM
- Modifier la configuration dans
terraform.tfvars - Exécuter
terraform planpour voir les changements - Exécuter
terraform apply
Dépannage
Problèmes courants
- Template non trouvé : Vérifier les tags sur Proxmox
- IP déjà utilisée : Vérifier les conflits d'adresses
- Erreur SSH : Vérifier le chemin de la clé publique
- Tailscale : Vérifier la validité de la clé d'authentification
Logs détaillés
TF_LOG=DEBUG terraform apply
Sécurité
- Authentification par clés SSH uniquement
- Connexion sécurisée via Tailscale
- Isolation réseau des VMs
- Tokens API sécurisés