- 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>
1.3 KiB
1.3 KiB
OpenTofu — serveur & DNS en code
Ce que ça gère
data "hcloud_server": référence en lecture seule le serveur Hetzner existant (tripoli-cloud). Volontairement pas uneresource: ce serveur héberge six autres projets en production, et le gérer comme une ressource Tofu ferait courir le risque qu'unapplymal aligné le recrée ou le détruise. Cette IaC documente le serveur, elle ne le pilote pas.ovh_domain_zone_record: les enregistrements A detripoli.cloudetwww.tripoli.cloud, pointés sur l'IP du serveur ci-dessus. Seule la zonetripoli.cloudest touchée — les autres domaines du même compte OVH (lecheminvert.tech, etc.) ne sont pas dans le champ de ce projet.
Identifiants
Aucun token dans ce dépôt ni dans un .tfvars. Les providers lisent
directement l'environnement :
export HCLOUD_TOKEN=...
export OVH_ENDPOINT=ovh-eu
export OVH_APPLICATION_KEY=...
export OVH_APPLICATION_SECRET=...
export OVH_CONSUMER_KEY=...
Lancer
tofu init
tofu plan
tofu apply
tofu init et tofu validate ont déjà été exécutés dans cette session
(sans toucher à l'infra réelle) pour vérifier la syntaxe. plan/apply
nécessitent les identifiants ci-dessus, qui n'ont pas été demandés ni
extraits automatiquement.