---
Title: Configs
Description: Type de configuration très détaillé exploitant toutes les variables présentes dans les autres fichiers de configuration de type Infrastructure As Code (clusters et hosts), pour générer un système Direktil valide
Weight: 40
---

La *config* est le type de configuration le plus détaillé. Son rôle est de réunir toutes les variables spécifiées au sein des *clusters* et *hosts*, et de permettre la génération finale de systèmes à utiliser sur des machines virtuelles ou physiques. 

La *config* décrit plus spécifiquement ce qui se passe au démarrage d'un système, par exemple 
- Definir les *layers* du système (dont les versions sont référencées au niveau des {{< relref "configuration/hosts" >}}).
- Definir la configuration réseau.
- Créer les volumes nécessaire, au moins au premier démarrage.
- Créer les fichiers locaux statique, la plupart dans /etc/ (hosts, resolv.conf, sysctl.conf, services...)
- Inclure les certificats TLS

Le fichier de configuration utilise le [Go templating langage](https://pkg.go.dev/text/template) pour garantir un code concis et efficace respectant les préceptes du [DRY](https://fr.wikipedia.org/wiki/Ne_vous_répétez_pas). 



