Compare commits
1 commit
74c17b4061
...
b96dfbe92c
Author | SHA1 | Date | |
---|---|---|---|
b96dfbe92c |
4 changed files with 12 additions and 10 deletions
|
@ -14,21 +14,20 @@ l'infrastructure d'Aurore et se décompose en plusieurs parties :
|
|||
- [secrets](./secrets) : contient l'ensemble des secrets chiffrés avec
|
||||
[agenix](https://github.com/ryantm/agenix).
|
||||
|
||||
|
||||
## Gestion des secrets
|
||||
|
||||
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
|
||||
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
|
||||
disponibles dans [secrets](./secrets).
|
||||
|
||||
|
||||
## Installation d'une machine
|
||||
|
||||
Si la configuration est déjà présente dans ce projet, il vous suffit de suivre
|
||||
les étapes suivantes :
|
||||
|
||||
1. Assurez-vous que la machine a accès à Internet et possède un serveur DNS,
|
||||
1. Importez les fichiers de configuration,
|
||||
1. Si nécessaire, il faut générer le fichier `hardware-configuration.nix`
|
||||
|
@ -48,6 +47,7 @@ les étapes suivantes :
|
|||
1. Pensez à push la configuration ainsi écrite.
|
||||
|
||||
Remarque :
|
||||
|
||||
> 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
|
||||
> `/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.
|
||||
|
||||
Remarque :
|
||||
|
||||
> Si l'installation nécessite le déchiffrement de secrets, l'installation
|
||||
> pourrait échouer. Veuillez alors suivre la procédure décrite dans
|
||||
> [secrets](./secrets).
|
||||
|
||||
|
||||
## Formattage
|
||||
|
||||
La flake contient un formatter ([treefmt](https://github.com/numtide/treefmt-nix))
|
||||
|
@ -67,6 +67,7 @@ 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
|
||||
appliquer les modifications suggérées, il est alors possible d'exécuter la
|
||||
commande :
|
||||
|
||||
```bash
|
||||
$ nix fmt
|
||||
```
|
||||
|
|
|
@ -4,6 +4,7 @@ Un `devshell` permet de créer un environnement contenant des outils pour
|
|||
faciliter le développement de projet.
|
||||
|
||||
Pour activer un `devshell` il suffit d'exécuter la commande :
|
||||
|
||||
```bash
|
||||
$ nix develop
|
||||
```
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
++ defaultConfig;
|
||||
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 {
|
||||
specialArgs = inputs;
|
||||
modules = [
|
||||
|
|
|
@ -8,13 +8,11 @@ processus et tous les utilisateur⋅ices.
|
|||
Pour plus d'informations sur agenix, veuillez vous référer à la [documentation
|
||||
officielle](https://github.com/ryantm/agenix)
|
||||
|
||||
|
||||
## Pré-requis
|
||||
|
||||
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/).
|
||||
|
||||
|
||||
## Fonctionnement
|
||||
|
||||
### Génération des clés de (dé)chiffrement
|
||||
|
@ -27,6 +25,7 @@ indiquer à agenix.
|
|||
|
||||
Pour un⋅e utilisateur⋅ice, il convient de générer une clé ssh (ed25519) avec
|
||||
la commande :
|
||||
|
||||
```bash
|
||||
$ ssh-keygen -t ed25519
|
||||
```
|
||||
|
@ -36,9 +35,11 @@ l'emplacement le cas échéant). Rappelez-vous bien de la localisation car elle
|
|||
sera nécessaire par la suite.
|
||||
|
||||
Remarque :
|
||||
|
||||
> 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
|
||||
> la commande suivante :
|
||||
|
||||
```bash
|
||||
$ ssh-keygen -t ed25519 -C <quelque>@<chose>
|
||||
```
|
||||
|
@ -49,7 +50,6 @@ 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
|
||||
`/etc/ssh/ssh_host_ed25519_key.pub`.
|
||||
|
||||
|
||||
### Ajout des clés et rechiffrement
|
||||
|
||||
Une fois les clés générées, il faut alors les ajouter dans le fichier `secrets`
|
||||
|
@ -63,16 +63,17 @@ qui se trouve à la racine de ce projet.
|
|||
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
|
||||
commandes :
|
||||
|
||||
```bash
|
||||
$ nix develop
|
||||
$ agenix -r # -r ou --rekey
|
||||
```
|
||||
|
||||
Remarque :
|
||||
|
||||
> Ces commandes doivent également être effectuées lorsqu'une clé est changée ou
|
||||
> supprimée.
|
||||
|
||||
|
||||
### Créer et éditer un fichier
|
||||
|
||||
Pour éditer un fichier, il suffit d'utiliser les commandes :
|
||||
|
@ -92,7 +93,6 @@ 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
|
||||
le secrets).
|
||||
|
||||
|
||||
### Utiliser agenix dans une configuration
|
||||
|
||||
Pour utiliser agenix dans une configuration, il faut commencer par écrire le
|
||||
|
|
Loading…
Reference in a new issue