Compare commits

..

1 commit

Author SHA1 Message Date
74c17b4061
doc: Improve 2025-09-28 16:57:45 +02:00
4 changed files with 10 additions and 12 deletions

View file

@ -14,20 +14,21 @@ l'infrastructure d'Aurore et se décompose en plusieurs parties :
- [secrets](./secrets) : contient l'ensemble des secrets chiffrés avec - [secrets](./secrets) : contient l'ensemble des secrets chiffrés avec
[agenix](https://github.com/ryantm/agenix). [agenix](https://github.com/ryantm/agenix).
## Gestion des secrets ## Gestion des secrets
Dans Nix, l'ensemble des fichiers est écrit dans `/nix/store`, ce qui est Dans Nix, l'ensemble des fichiers est écrit dans `/nix/store`, ce qui est
accessible et donc visible par tous les programmes (et tous les utilisateur⋅ices). accessible et donc visible par tous les programmes (et tous les utilisateur⋅ices).
De plus, l'ensemble des fichiers de configurations se trouvent sur un repo git De plus, l'ensemble des fichiers de configurations se trouvent sur un repo git
publique. Pour ces deux raisons, il est préférable de chiffrer les secrets à publique. Pour ces deux raisons, il est préférable de chiffrer les secrets à
l'aide de [agenix](https://github.com/ryantm/agenix). Plus de détails sont l'aide de [agenix](https://github.com/ryantm/agenix). Plus de détails sont
disponibles dans [secrets](./secrets). disponibles dans [secrets](./secrets).
## Installation d'une machine ## Installation d'une machine
Si la configuration est déjà présente dans ce projet, il vous suffit de suivre Si la configuration est déjà présente dans ce projet, il vous suffit de suivre
les étapes suivantes : les étapes suivantes :
1. Assurez-vous que la machine a accès à Internet et possède un serveur DNS, 1. Assurez-vous que la machine a accès à Internet et possède un serveur DNS,
1. Importez les fichiers de configuration, 1. Importez les fichiers de configuration,
1. Si nécessaire, il faut générer le fichier `hardware-configuration.nix` 1. Si nécessaire, il faut générer le fichier `hardware-configuration.nix`
@ -47,7 +48,6 @@ les étapes suivantes :
1. Pensez à push la configuration ainsi écrite. 1. Pensez à push la configuration ainsi écrite.
Remarque : Remarque :
> S'il n'y a pas suffisamment de place mémoire sur le disque d'installation lors > S'il n'y a pas suffisamment de place mémoire sur le disque d'installation lors
> du partitionnement des disques avec `disko`, il est possible d'étendre le > du partitionnement des disques avec `disko`, il est possible d'étendre le
> `/nix/store` en utilisant la RAM de la machine à l'aide de la commande : > `/nix/store` en utilisant la RAM de la machine à l'aide de la commande :
@ -55,11 +55,11 @@ Remarque :
> Cependant, vérifiez au préalable d'avoir suffisamment de RAM. > Cependant, vérifiez au préalable d'avoir suffisamment de RAM.
Remarque : Remarque :
> Si l'installation nécessite le déchiffrement de secrets, l'installation > Si l'installation nécessite le déchiffrement de secrets, l'installation
> pourrait échouer. Veuillez alors suivre la procédure décrite dans > pourrait échouer. Veuillez alors suivre la procédure décrite dans
> [secrets](./secrets). > [secrets](./secrets).
## Formattage ## Formattage
La flake contient un formatter ([treefmt](https://github.com/numtide/treefmt-nix)) La flake contient un formatter ([treefmt](https://github.com/numtide/treefmt-nix))
@ -67,7 +67,6 @@ qui s'exécute automatiquement lors d'un `nix flake check`. Si le repo n'est pas
formatté, une erreur sera alors retournée en suggérant des modifications. Pour formatté, une erreur sera alors retournée en suggérant des modifications. Pour
appliquer les modifications suggérées, il est alors possible d'exécuter la appliquer les modifications suggérées, il est alors possible d'exécuter la
commande : commande :
```bash ```bash
$ nix fmt $ nix fmt
``` ```

View file

@ -4,7 +4,6 @@ Un `devshell` permet de créer un environnement contenant des outils pour
faciliter le développement de projet. faciliter le développement de projet.
Pour activer un `devshell` il suffit d'exécuter la commande : Pour activer un `devshell` il suffit d'exécuter la commande :
```bash ```bash
$ nix develop $ nix develop
``` ```

View file

@ -53,7 +53,7 @@
++ defaultConfig; ++ defaultConfig;
in in
{ {
# VL: Peut-être avoir de l'auto-discovery: On a beaucoup trop de machines # VL: Peut-être avoir de l'auto-discovery: On a beaucoup trop de machines
jitsi = nixosSystem { jitsi = nixosSystem {
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [

View file

@ -8,11 +8,13 @@ processus et tous les utilisateur⋅ices.
Pour plus d'informations sur agenix, veuillez vous référer à la [documentation Pour plus d'informations sur agenix, veuillez vous référer à la [documentation
officielle](https://github.com/ryantm/agenix) officielle](https://github.com/ryantm/agenix)
## Pré-requis ## Pré-requis
La présente documentation présuppose que l'ordinateur exécutant les commandes La présente documentation présuppose que l'ordinateur exécutant les commandes
possède NixOS ou le gestionnaire de paquet [nix](nixos.org/download/). possède NixOS ou le gestionnaire de paquet [nix](nixos.org/download/).
## Fonctionnement ## Fonctionnement
### Génération des clés de (dé)chiffrement ### Génération des clés de (dé)chiffrement
@ -25,7 +27,6 @@ indiquer à agenix.
Pour un⋅e utilisateur⋅ice, il convient de générer une clé ssh (ed25519) avec Pour un⋅e utilisateur⋅ice, il convient de générer une clé ssh (ed25519) avec
la commande : la commande :
```bash ```bash
$ ssh-keygen -t ed25519 $ ssh-keygen -t ed25519
``` ```
@ -35,11 +36,9 @@ l'emplacement le cas échéant). Rappelez-vous bien de la localisation car elle
sera nécessaire par la suite. sera nécessaire par la suite.
Remarque : Remarque :
> Pour des raisons de préférence personnelle, il peut être préférable de ne pas > Pour des raisons de préférence personnelle, il peut être préférable de ne pas
> mettre le nom par défaut (`<username>@<host>`). Il convient alors d'utiliser > mettre le nom par défaut (`<username>@<host>`). Il convient alors d'utiliser
> la commande suivante : > la commande suivante :
```bash ```bash
$ ssh-keygen -t ed25519 -C <quelque>@<chose> $ ssh-keygen -t ed25519 -C <quelque>@<chose>
``` ```
@ -50,6 +49,7 @@ Pour une machine, les clés ssh sont automatiquement générées lors de
l'installation, et la clé publique se trouve (généralement) dans l'installation, et la clé publique se trouve (généralement) dans
`/etc/ssh/ssh_host_ed25519_key.pub`. `/etc/ssh/ssh_host_ed25519_key.pub`.
### Ajout des clés et rechiffrement ### Ajout des clés et rechiffrement
Une fois les clés générées, il faut alors les ajouter dans le fichier `secrets` Une fois les clés générées, il faut alors les ajouter dans le fichier `secrets`
@ -63,17 +63,16 @@ qui se trouve à la racine de ce projet.
Une fois ajoutée, il faut alors que quelqu'un ayant les secrets chiffrés pour Une fois ajoutée, il faut alors que quelqu'un ayant les secrets chiffrés pour
sa clé ssh rechiffre les secrets pour votre clé. Cela se fait avec les sa clé ssh rechiffre les secrets pour votre clé. Cela se fait avec les
commandes : commandes :
```bash ```bash
$ nix develop $ nix develop
$ agenix -r # -r ou --rekey $ agenix -r # -r ou --rekey
``` ```
Remarque : Remarque :
> Ces commandes doivent également être effectuées lorsqu'une clé est changée ou > Ces commandes doivent également être effectuées lorsqu'une clé est changée ou
> supprimée. > supprimée.
### Créer et éditer un fichier ### Créer et éditer un fichier
Pour éditer un fichier, il suffit d'utiliser les commandes : Pour éditer un fichier, il suffit d'utiliser les commandes :
@ -93,6 +92,7 @@ Une fois cela effectué, la commande pour créer le fichier est la même que cel
pour les éditer (excepté le `-i` puisque qu'il n'y a pas besoin de déchiffrer pour les éditer (excepté le `-i` puisque qu'il n'y a pas besoin de déchiffrer
le secrets). le secrets).
### Utiliser agenix dans une configuration ### Utiliser agenix dans une configuration
Pour utiliser agenix dans une configuration, il faut commencer par écrire le Pour utiliser agenix dans une configuration, il faut commencer par écrire le