mirror of https://gitlab.crans.org/nounous/nixos
58 lines
2.7 KiB
Markdown
58 lines
2.7 KiB
Markdown
# Modules Crans
|
|
|
|
Ce dossier contient tous les modules commun à la majorité des machines virtuelles du Crans. On y retrouve par exemple les utilisateurices, les `home_nounou`, etc.
|
|
|
|
Ces modules sont présentés sous forme d'option (si besoin), afin de pouvoir contrôler la présence ou l'absence de certains services.
|
|
|
|
## `default.nix`
|
|
|
|
Le fichier [`default.nix`](default.nix), comme tous les autres du même nom, importe tous les autres fichiers du dossier. De plus, il déclare des programmes utiles à avoir en permanence, tels que `ssh`, `git`, `nvim`, ... et importe les options par défaut qui sont utile pour la majorité des machines.
|
|
|
|
## `age.nix`
|
|
|
|
Le fichier [`age.nix`](age.nix) contient la configuration commune d'agenix (voir [`../../secrets/README.md`](../../secrets/README.md)).
|
|
|
|
## `home.nix`
|
|
|
|
Le fichier [`home.nix`](home.nix) monte les `home_nounou` par NFS à partir de `172.16.10.1` (à savoir `tealc`).
|
|
|
|
## `locale.nix`
|
|
|
|
Le fichier [`locale.nix`](locale.nix) déclare simplement les locales à utiliser.
|
|
|
|
## `monitoring.nix`
|
|
|
|
Le fichier [`monitoring.nix`] déploie une instance prometheus avec un exporteur node contactable sur le port `9100` par défaut, ainsi qu'un exporteur nginx (si pertinent) sur le port `9117`.
|
|
|
|
## `networking.nix`
|
|
|
|
Le fichier [`networking.nix`](networking.nix) contient toute la configuration réseau des machines : l'option `crans.networking.id` permet de configurer la majorité du réseau automatiquement (il faut alors déployer interface par interface).
|
|
|
|
## `ntp.nix`
|
|
|
|
Le fichier [`ntp.nix`](ntp.nix) active simplement le NTP (Network Time Protocol) en ajoutant le serveur `ntp.adm.crans.org` comme serveur de temps.
|
|
|
|
## `nullmailer.nix`
|
|
|
|
Le fichier [`nullmailer.nix`](nullmailer.nix) déploie un client SMTP sur chaque serveur afin de pouvoir envoyer des mails en le nom du Crans.
|
|
|
|
## `packages.nix`
|
|
|
|
Le fichier [`packages.nix`](packages.nix) contient la liste des programmes installés par défaut sur les machines du Crans.
|
|
|
|
## `restic_client.nix`
|
|
|
|
Le fichier [`restic_client`](restic_client.nix) permet de configurer un client restic sur chaque machine pour faire des backups et les envoyer sur le serveur thot.
|
|
|
|
## `ssh.nix`
|
|
|
|
Le fichier [`ssh.nix`](ssh.nix) contient la configuration SSH pour toutes les machines.
|
|
|
|
## `users.nix`
|
|
|
|
Le fichier [`users.nix`](users.nix) configure les `_users` à partir du LDAP d'administration, et configure les droits pour que les `_nounou` aient les accès `sudo`. Il configure également le user `root` en lui donnant son mot de passe haché à travers un fichier `age`.
|
|
|
|
## `virtualisation.nix`
|
|
|
|
Le fichier [`virtualisation.nix`](virtualisation.nix) contient des paramètres utiles pour la virtualisation (pour les VM en priorité donc).
|