No description
Find a file
2026-08-23 16:37:18 +02:00
dns Add octoDNS pilot for guests zone 2026-07-30 16:27:34 +02:00
docs docs: add homelab infrastructure knowledge base 2026-08-14 18:57:58 +02:00
AGENTS.md docs: add homelab infrastructure knowledge base 2026-08-14 18:57:58 +02:00
README.md update README 2026-07-30 10:39:14 +02:00

Homelab Infrastructure

Ce dépôt constitue la source de vérité versionnée de l'infrastructure du Homelab.

Il doit permettre de :

  • documenter l'état réellement observé ;
  • distinguer les informations confirmées, historiques, supposées et à vérifier ;
  • préparer et valider les changements avant leur application ;
  • conserver les procédures de rollback ;
  • reconstruire les services critiques après incident ;
  • automatiser progressivement la génération et le déploiement des configurations.

Principes

  1. OpenBSD reste la référence pour le routage, le pare-feu, le DNS et le DHCP.
  2. Toute modification commence par des vérifications non destructives.
  3. Les configurations sont versionnées, validées et déployées de façon ciblée.
  4. Aucun secret réel ne doit être stocké dans Git.
  5. Une modification de service critique doit toujours avoir un point de retour testé.
  6. Les versions, adresses IP et chemins historiques ne sont jamais considérés comme actuels sans vérification.
  7. Les fichiers générés ne sont pas modifiés manuellement.
  8. Les changements sont documentés dans un fichier daté sous changes/.

Structure initiale

.
├── README.md
└── dns/
    ├── README.md
    ├── current-state.md
    ├── architecture.md
    ├── operations.md
    ├── testing.md
    ├── security.md
    ├── change-procedure.md
    ├── disaster-recovery.md
    ├── migration-plan.md
    ├── decisions/
    │   └── 0001-keep-bind-and-add-octodns.md
    └── changes/
        └── TEMPLATE.md

D'autres sous-répertoires seront ajoutés progressivement :

dhcp/
network/
firewall/
services/
compose/
inventory/
changes/

Gestion des secrets

Ne jamais committer :

  • clés TSIG ;
  • clé rndc.key ;
  • clés DNSSEC privées ;
  • tokens API ;
  • mots de passe ;
  • cookies ;
  • clés SSH privées ;
  • fichiers .env contenant des valeurs réelles.

Les exemples doivent utiliser des valeurs factices :

<REDACTED>
CHANGEME
env/VARIABLE_NAME

Workflow Git

diagnostic
   ↓
branche dédiée
   ↓
modification des sources
   ↓
génération
   ↓
validation syntaxique
   ↓
revue du diff
   ↓
sauvegarde
   ↓
déploiement ciblé
   ↓
tests
   ↓
journal de changement
   ↓
merge

État initial du dépôt

Le premier chantier documenté concerne le DNS du Homelab :

  • BIND sur OpenBSD ;
  • vues interne et externe ;
  • zones publiques et privées ;
  • DNS dynamique via ISC DHCP ;
  • future automatisation déclarative avec octoDNS ;
  • future étude de migration ISC DHCP vers Kea 3.x LTS.