200 lines
5.0 KiB
Plaintext
200 lines
5.0 KiB
Plaintext
# terraform.tfvars.example
|
|
# Fichier d'exemple pour la configuration Terraform du homelab
|
|
#
|
|
# Instructions :
|
|
# 1. Copiez ce fichier vers terraform.tfvars
|
|
# 2. Personnalisez les valeurs selon votre environnement
|
|
# 3. Le fichier terraform.tfvars est ignoré par Git pour la sécurité
|
|
|
|
#############################
|
|
# Configuration Proxmox
|
|
#############################
|
|
|
|
# URL de votre serveur Proxmox (REQUIS)
|
|
proxmox_url = "https://pve01.lab.home.arnodo.fr:8006"
|
|
|
|
# Token API Proxmox (REQUIS - À configurer dans Proxmox)
|
|
# Créer dans : Datacenter -> Permissions -> API Tokens
|
|
proxmox_api_token = "terraform@pve!terraform_token=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
|
|
|
|
# Nœud Proxmox cible (défaut: pve01)
|
|
target_node = "pve01"
|
|
|
|
#############################
|
|
# Configuration réseau
|
|
#############################
|
|
|
|
# Suffixe de domaine pour les VMs
|
|
domain_suffix = "lab.home.arnodo.fr"
|
|
|
|
#############################
|
|
# Configuration SSH
|
|
#############################
|
|
|
|
# Chemin vers votre clé SSH publique
|
|
admin_ssh_public_key_path = "~/.ssh/keys/id_rsa.pub"
|
|
|
|
# Utilisateur par défaut sur les VMs
|
|
default_vm_user = "damien"
|
|
|
|
#############################
|
|
# Machines virtuelles
|
|
#############################
|
|
|
|
virtual_machines = {
|
|
# Exemple VM de monitoring
|
|
"vision" = {
|
|
os = "debian"
|
|
cores = 2
|
|
memory = 4096
|
|
disk_gb = 30
|
|
ip = "192.168.1.161"
|
|
gateway = "192.168.1.254"
|
|
tags = ["monitoring", "grafana"]
|
|
}
|
|
|
|
# Exemples d'autres VMs (décommentez et adaptez selon vos besoins)
|
|
|
|
# # Serveur web
|
|
# "webserver" = {
|
|
# os = "ubuntu"
|
|
# cores = 2
|
|
# memory = 2048
|
|
# disk_gb = 20
|
|
# ip = "192.168.1.162"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["web", "nginx"]
|
|
# }
|
|
|
|
# # Base de données
|
|
# "database" = {
|
|
# os = "debian"
|
|
# cores = 4
|
|
# memory = 8192
|
|
# disk_gb = 50
|
|
# ip = "192.168.1.163"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["database", "postgresql"]
|
|
#
|
|
# # Disque supplémentaire pour les données
|
|
# additional_disks = [
|
|
# {
|
|
# interface = "scsi1"
|
|
# datastore = "local-lvm"
|
|
# size = 100
|
|
# }
|
|
# ]
|
|
# }
|
|
|
|
# # Node Kubernetes master
|
|
# "k8s-master" = {
|
|
# os = "ubuntu"
|
|
# cores = 4
|
|
# memory = 4096
|
|
# disk_gb = 40
|
|
# ip = "192.168.1.170"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["kubernetes", "master"]
|
|
# }
|
|
|
|
# # Node Kubernetes worker
|
|
# "k8s-worker1" = {
|
|
# os = "ubuntu"
|
|
# cores = 4
|
|
# memory = 8192
|
|
# disk_gb = 60
|
|
# ip = "192.168.1.171"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["kubernetes", "worker"]
|
|
# }
|
|
|
|
# # Serveur de fichiers/NAS
|
|
# "fileserver" = {
|
|
# os = "debian"
|
|
# cores = 2
|
|
# memory = 4096
|
|
# disk_gb = 40
|
|
# ip = "192.168.1.180"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["storage", "nas"]
|
|
#
|
|
# # Multiples disques pour le stockage
|
|
# additional_disks = [
|
|
# {
|
|
# interface = "scsi1"
|
|
# datastore = "local-lvm"
|
|
# size = 500
|
|
# },
|
|
# {
|
|
# interface = "scsi2"
|
|
# datastore = "local-lvm"
|
|
# size = 500
|
|
# }
|
|
# ]
|
|
# }
|
|
|
|
# # VM de développement
|
|
# "devbox" = {
|
|
# os = "ubuntu"
|
|
# cores = 4
|
|
# memory = 8192
|
|
# disk_gb = 80
|
|
# ip = "192.168.1.190"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["development", "docker"]
|
|
# }
|
|
}
|
|
|
|
#############################
|
|
# Conteneurs LXC (Futur)
|
|
#############################
|
|
|
|
# Configuration préparée pour les conteneurs LXC
|
|
# Actuellement désactivée - sera implémentée dans une future version
|
|
|
|
# lxc_containers = {
|
|
# # Exemple proxy léger
|
|
# "nginx-proxy" = {
|
|
# vm_id = 200
|
|
# template = "ubuntu-20.04-standard"
|
|
# cores = 1
|
|
# memory = 1024
|
|
# disk_gb = 8
|
|
# ip = "192.168.1.200"
|
|
# gateway = "192.168.1.254"
|
|
# tags = ["proxy", "nginx"]
|
|
# }
|
|
# }
|
|
|
|
#############################
|
|
# Maintien compatibilité (deprecated)
|
|
#############################
|
|
|
|
# Ancienne variable - sera supprimée dans une future version
|
|
# Utilisez virtual_machines à la place
|
|
monitoring_vms = {}
|
|
|
|
#############################
|
|
# Notes de configuration
|
|
#############################
|
|
|
|
# Templates requis sur Proxmox :
|
|
# - Template Ubuntu avec tags : ["ubuntu", "template"]
|
|
# - Template Debian avec tags : ["debian", "template"]
|
|
# - Template Alpine avec tags : ["alpine", "template"]
|
|
# - Template Rocky avec tags : ["rocky", "template"]
|
|
# - Template CentOS avec tags : ["centos", "template"]
|
|
|
|
# Réseau recommandé :
|
|
# - VLAN/Bridge : vmbr0
|
|
# - Plage IP : 192.168.1.0/24
|
|
# - Passerelle : 192.168.1.254
|
|
# - DNS : 8.8.8.8, 8.8.4.4 (ou votre DNS local)
|
|
|
|
# Ressources recommandées par type de service :
|
|
# - Monitoring : 2 CPU, 4GB RAM, 30GB disque
|
|
# - Web server : 2 CPU, 2GB RAM, 20GB disque
|
|
# - Database : 4 CPU, 8GB RAM, 50GB+ disque
|
|
# - Kubernetes : 4 CPU, 4GB+ RAM, 40GB+ disque
|
|
# - Development : 4 CPU, 8GB RAM, 80GB disque
|