Phase 1 : socle & sécurité (WireGuard, Ansible, OpenTofu)
- 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>
This commit is contained in:
parent
5dbd3b96f6
commit
2fa16083c3
17 changed files with 427 additions and 1 deletions
40
tofu/README.md
Normal file
40
tofu/README.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# 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 une `resource` :
|
||||
ce serveur héberge six autres projets en production, et le gérer comme
|
||||
une ressource Tofu ferait courir le risque qu'un `apply` mal 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 de `tripoli.cloud` et
|
||||
`www.tripoli.cloud`, pointés sur l'IP du serveur ci-dessus. Seule la zone
|
||||
`tripoli.cloud` est 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 :
|
||||
|
||||
```bash
|
||||
export HCLOUD_TOKEN=...
|
||||
export OVH_ENDPOINT=ovh-eu
|
||||
export OVH_APPLICATION_KEY=...
|
||||
export OVH_APPLICATION_SECRET=...
|
||||
export OVH_CONSUMER_KEY=...
|
||||
```
|
||||
|
||||
## Lancer
|
||||
|
||||
```bash
|
||||
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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue