Compare commits
1 commit
74c17b4061
...
b96dfbe92c
Author | SHA1 | Date | |
---|---|---|---|
b96dfbe92c |
4 changed files with 12 additions and 10 deletions
|
@ -14,7 +14,6 @@ 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
|
||||||
|
@ -24,11 +23,11 @@ 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`
|
||||||
|
@ -48,6 +47,7 @@ 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,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
|
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
|
||||||
```
|
```
|
||||||
|
|
|
@ -4,6 +4,7 @@ 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
|
||||||
```
|
```
|
||||||
|
|
|
@ -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 = [
|
||||||
|
|
|
@ -8,13 +8,11 @@ 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
|
||||||
|
@ -27,6 +25,7 @@ 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
|
||||||
```
|
```
|
||||||
|
@ -36,9 +35,11 @@ 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>
|
||||||
```
|
```
|
||||||
|
@ -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
|
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,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
|
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 :
|
||||||
|
@ -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
|
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
|
||||||
|
|
Loading…
Reference in a new issue