- Reconnaissance : le serveur héberge déjà 6 autres projets derrière un Caddy partagé (80/443) ; tripoli-edge sera un service interne (décision prise avec l'utilisateur), pas un second frontal. - WireGuard : canal admin Mac <-> serveur (10.100.0.0/24, port 58212/udp après avoir découvert que 51820 était filtré par le pare-feu Hetzner Cloud, distinct de ufw). - Ansible : rôle base (confirme fail2ban/unattended-upgrades/ufw déjà en place, sans toucher aux règles des autres projets) + rôle wireguard (clé privée générée sur la cible, jamais stockée dans ce dépôt). - OpenTofu : serveur Hetzner référencé en data source lecture seule (jamais recréé/détruit - serveur partagé et déjà en prod) ; DNS tripoli.cloud géré via le provider OVH. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
23 lines
540 B
HCL
23 lines
540 B
HCL
terraform {
|
|
required_version = ">= 1.6.0"
|
|
required_providers {
|
|
hcloud = {
|
|
source = "hetznercloud/hcloud"
|
|
version = "~> 1.48"
|
|
}
|
|
ovh = {
|
|
source = "ovh/ovh"
|
|
version = "~> 1.1"
|
|
}
|
|
}
|
|
}
|
|
|
|
# Pas de bloc "provider" avec un token en dur : hcloud lit HCLOUD_TOKEN et
|
|
# ovh lit OVH_ENDPOINT / OVH_APPLICATION_KEY / OVH_APPLICATION_SECRET /
|
|
# OVH_CONSUMER_KEY dans l'environnement. Rien à mettre dans ce dépôt ni
|
|
# dans un fichier .tfvars.
|
|
provider "hcloud" {}
|
|
|
|
provider "ovh" {
|
|
endpoint = "ovh-eu"
|
|
}
|