From b6625638c304e042fc6b45523fd4364d46c7c806 Mon Sep 17 00:00:00 2001 From: pigeonmoelleux Date: Thu, 7 Mar 2024 01:29:46 +0100 Subject: [PATCH] Ajout README.md devshells et hosts --- devshells/README.md | 13 ++++++++++ hosts/README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++ hosts/vm/README.md | 15 ++++++++++++ modules/README.md | 1 + secrets/README.md | 1 + 5 files changed, 90 insertions(+) create mode 100644 hosts/vm/README.md diff --git a/devshells/README.md b/devshells/README.md index e69de29..fb29774 100644 --- a/devshells/README.md +++ b/devshells/README.md @@ -0,0 +1,13 @@ +# Devshells + +## Nix + +À l'heure actuelle, le devshell `nix` est le seul disponible : celui-ci est dans le fichier [`default.nix`](default.nix). Il contient tout ce qui est nécessaire à la bonne utilisation du langage `nix` pour le développement de cette configuration, à savoir : + +- `nil` : un serveur [LSP](https://en.wikipedia.org/wiki/Language_Server_Protocol) pour `nix` + +- `nixpkgs-fmt` : un formatter pour `nix` + +- `sops` : un paquet permettant de gérer les secrets pour la configuration. Vous pouvez voir [`../secrets/README.md`](../secrets/README.md) pour plus de détails. + +En étant à la racine de la configuration, vous pouvez utiliser ce devshell par la commande `nix develop`. diff --git a/hosts/README.md b/hosts/README.md index e69de29..e40f79b 100644 --- a/hosts/README.md +++ b/hosts/README.md @@ -0,0 +1,60 @@ +# Machines + +## Machines virtuelles + +À l'heure actuelle, seules des machines virtuelles tournent sous NixOS au Crans. Celles-ci se situent dans la baie de superviseurs sous Proxmox Sam-Daniel-Jack. La configuration de toutes les VMs se trouve dans le dossier [`vm`](vm). Vous pouvez trouver plus d'information dans [`vm/README.md`](vm/README.md). + +## Comment ajouter une nouvelle machine virtuelle ? + +Voici la liste des étapes à suivre pour ajouter une nouvelle machine virtuelle sous NixOS : + +- Créer la machine virtuelle avec Proxmox, et l'inscrire dans le LDAP administration en suivant le guide dans [la documentation nounous](https://gitlab.crans.org/nounous/documentation). + +- **Avant de démarrer la machine**, écrire la configuration de la machine (sauf le fichier `hardware-configuration.nix` qui est généré automatiquement). Il faut en particulier écrire la configuration réseau et le bootloader. Vous pouvez vous servir de la configuration minimale de la VM de test `two` dans le dossier [`vm/two`](vm/two). La configuration doit être ajoutée à ce dépôt (de préférence sur une branche autre que `main` le temps de la mise en place de la VM). + +- Vous pouvez maintenant démarrer la VM et commencer la configuration : + + ```bash + / $ sudo su + + / $ loadkeys fr # ou ce que vous voulez + + / $ mount /dev/sdX /mnt # monter le disque dur sur /mnt, usuellement sda. Attention, ce disque doit correspondre à celui déclaré dans la variable `boot.loader.grub.devices` dans la configuration de la machine. + + # On configure maintenant la configuration réseau + # Vous n'avez besoin que de configurer le minimum nécessaire pour que la VM ait accès à internet + + / $ systemctl stop dhcpd.service + + / $ ip addr add 172.16.10.XXX/24 dev [interface] # Faites attention à ce que l'interface réseau soit la bonne + + # Ajouter de la même façon les autres interfaces réseaux + + / $ ip route add default via XXX.XXX.XXX.XXX # Dépend des interfaces réseau configurées dans Proxmox et le LDAP + + / $ echo "nameserver 172.16.10.128" >> /etc/resolv.conf # Ajout du serveur DNS + + / $ ping auro.re # Pour tester la configuration réseau + + / $ nixos-generate-config --root /mnt + + / $ scp /mnt/etc/nixos/hardware-configuration.nix _user@zamok.crans.org:~/hardware-configuration.nix # zamok ou tout autre serveur facile d'accès + + # On copie le fichier hardware-configuration.nix par scp car on ne veut pas que root push sur le git. + + # Faites ce qu'il faut pour que le fichier hardware-configuration soit ajouté au bon endroit dans le dépôt git. + + / $ nix-shell -p git # Ajoute git au shell actuel + + / $ cd /mnt/etc + + /mnt/etc $ rm -rf nixos + + /mnt/etc $ git clone https://gitlab.crans.org/nounous/nixos.git + + /mnt/etc $ nixos-install --flake "/mnt/etc/nixos#" + + # Mettez un mot de passe quelconque pour le super utilisateur, il sera remplacé dans tous les cas. + + # Vous pouvez maintenant redémarrer la VM et vous ssh dessus en tant que votre utilisateur _user. + ``` diff --git a/hosts/vm/README.md b/hosts/vm/README.md new file mode 100644 index 0000000..58279f3 --- /dev/null +++ b/hosts/vm/README.md @@ -0,0 +1,15 @@ +# Machines virtuelles + +Voici la liste des machines virtuelles sur NixOS ainsi que leur utilisation (par ordre alphabétique). + +## neo + +Serveur Matrix (encore non déployé). + +## redite + +Serveur libreddit, accessible à https://redite.crans.org. + +## two + +Serveur NixOS de test. Vous pouvez vous en servir comme base pour la configuration d'une nouvelle machine. \ No newline at end of file diff --git a/modules/README.md b/modules/README.md index e69de29..016d434 100644 --- a/modules/README.md +++ b/modules/README.md @@ -0,0 +1 @@ +# Modules \ No newline at end of file diff --git a/secrets/README.md b/secrets/README.md index e69de29..6128225 100644 --- a/secrets/README.md +++ b/secrets/README.md @@ -0,0 +1 @@ +# Secrets \ No newline at end of file