diff options
-rw-r--r-- | config.toml | 4 | ||||
-rw-r--r-- | content/_index.md | 4 | ||||
-rw-r--r-- | content/formations/mediatheque/_index.md | 4 | ||||
-rw-r--r-- | content/formations/mediatheque/livres.md | 26 | ||||
-rw-r--r-- | content/operations/acces/_index.md | 1 | ||||
-rw-r--r-- | content/operations/acces/gpg.md | 11 | ||||
-rw-r--r-- | content/operations/acces/pass.md | 198 | ||||
-rw-r--r-- | content/operations/acces/ssh.md | 4 | ||||
-rw-r--r-- | content/operations/deploiement/noeud/guide_création_nœud.md | 3 | ||||
-rw-r--r-- | static/img/cover/France-contre-robots.jpg | bin | 0 -> 37434 bytes | |||
-rw-r--r-- | static/img/cover/carbon_democracy.jpg | bin | 0 -> 29851 bytes | |||
-rw-r--r-- | static/img/cover/surveiller-et-punir.jpg | bin | 0 -> 17161 bytes |
12 files changed, 233 insertions, 22 deletions
diff --git a/config.toml b/config.toml index 705c65e..8323294 100644 --- a/config.toml +++ b/config.toml @@ -19,6 +19,6 @@ title = "Guide Deuxfleurs" juice_logo_name = "Guide Deuxfleurs" juice_logo_path = "deuxfleurs_white.svg" #juice_extra_menu = [ -# { title = "Contribuer", link = "https://git.deuxfleurs.fr/Deuxfleurs/man.deuxfleurs.fr"} +# { title = "Contribuer", link = "https://git.deuxfleurs.fr/Deuxfleurs/guide.deuxfleurs.fr"} #] -repository_url = "https://git.deuxfleurs.fr/Deuxfleurs/man.deuxfleurs.fr" +repository_url = "https://git.deuxfleurs.fr/Deuxfleurs/guide.deuxfleurs.fr" diff --git a/content/_index.md b/content/_index.md index 7ea5686..142d528 100644 --- a/content/_index.md +++ b/content/_index.md @@ -8,7 +8,7 @@ sort_by = "weight" [Prise en main](./prise_en_main/) - Ce manuel vous accompagne dans la découverte de nos outils. C'est par là que vous devriez commencer si vous venez d'arriver, on vous explique comment utiliser nos outils pour reste en contact avec votre famille, organiser une réunion avec votre association ou encore publier une tribune sur le web. -[Se former](./formations/) - Ce manuel vous propose de vous former sur les questions portées par l'association, que ce soit sur l'impact social du numérique ou l'administration d'une machine Linux, avec dans l'idée que vous pourrez vous impliquer d'avantange dans nos activités après, en faisant des ateliers ou en participant à opérer les machines et les logicies. +[Se former](./formations/) - Ce manuel vous propose de vous former sur les questions portées par l'association, que ce soit sur l'impact social du numérique ou l'administration d'une machine Linux, avec dans l'idée que vous pourrez vous impliquer d'avantange dans nos activités après, en faisant des ateliers ou en participant à opérer les machines et les logiciels. [Vie associative](./vie_associative/) - Ce manuel traite de tout ce qui concerne l'association, comme ses aspects légaux, les délibérations, ou l'organisation des personnes. @@ -20,4 +20,4 @@ sort_by = "weight" Pour contribuer à ce guide, le plus simple est d'aggréger les modifications que vous voulez apporter dans un fichier texte ou LibreOffice et de nous l'envoyer par email à coucou (arobase) deuxfleurs.fr. Un membre de l'association reportera alors vos propositions sur le site web. -Si vous êtes plus expert·e, vous pouvez proposer [vos modifications directement sur notre forge](https://git.deuxfleurs.fr/Deuxfleurs/man.deuxfleurs.fr). +Si vous êtes plus expert·e, vous pouvez proposer [vos modifications directement sur notre forge](https://git.deuxfleurs.fr/Deuxfleurs/guide.deuxfleurs.fr). diff --git a/content/formations/mediatheque/_index.md b/content/formations/mediatheque/_index.md index 5681790..dee163c 100644 --- a/content/formations/mediatheque/_index.md +++ b/content/formations/mediatheque/_index.md @@ -13,7 +13,11 @@ sort_by = "weight" ![Couverture de technologie partout démocratie nulle part <](/img/cover/techno-partout.jpg) ![Couverture de Cyberstructure <](/img/cover/cyberstructure.jpg) ![Couverture de L'institution imaginaire de la société <](/img/cover/imaginaire.jpg) + ![Couverture de Permanent Record <](/img/cover/permanent-record.jpg) +![Couverture de La France contre les robots <](/img/cover/France-contre-robots.jpg) +![Couverture de Carbon Democracy de Timothy Mitchell <](/img/cover/carbon_democracy.jpg) +![Couverture de Surveiller et punir de Michel Foucault <](/img/cover/surveiller-et-punir.jpg) [↣ Consulter la page détaillée sur les livres](./livres/) diff --git a/content/formations/mediatheque/livres.md b/content/formations/mediatheque/livres.md index 6f3b21e..d1ff65e 100644 --- a/content/formations/mediatheque/livres.md +++ b/content/formations/mediatheque/livres.md @@ -66,4 +66,28 @@ Un ouvrage pour appuyer une citoyenneté informée, adaptée aux techniques du X ![Couverture de Permanent Record <](/img/cover/permanent-record.jpg) *Edward Snowden, the man who risked everything to expose the US government’s system of mass surveillance, reveals for the first time the story of his life, including how he helped to build that system and what motivated him to try to bring it down.* -[Fiche goodreads](https://www.goodreads.com/book/show/46223297-permanent-record)
\ No newline at end of file +[Fiche goodreads](https://www.goodreads.com/book/show/46223297-permanent-record) + +🇫🇷 **Georges Bernanos, « La France contre les robots », 1944, Castor Astral.** + +![Couverture de La France contre les robots <](/img/cover/France-contre-robots.jpg) +*Plus d'un demi-siècle après sa parution, ce pamphlet reste d'une incroyable actualité. Cette apologie de la liberté est un défi jeté aux idolâtries du profit et de la force. Georges Bernanos, dans une violente critique de la société industrielle, s'adresse à la «France immortelle» face à la «France périssable», celle des combinaisons politiques et des partis. L'auteur y estime que le progrès technique forcené limite la liberté humaine. Bernanos conteste l'idée selon laquelle la libre entreprise conduirait automatiquement au bonheur de l'humanité. En effet, selon lui, «il y aura toujours plus à gagner à satisfaire les vices de l'homme que ses besoins». Visionnaire, il explique ainsi qu'«un jour, on plongera dans la ruine du jour au lendemain des familles entières parce qu'à des milliers de kilomètres pourra être produite la même chose pour deux centimes de moins à la tonne» ; une étonnante préfiguration de ce que seront les délocalisations un demi-siècle plus tard !* + +[Fiche Babelio](https://www.babelio.com/livres/Bernanos-La-France-contre-les-robots/34162) - [Notice BNF](https://catalogue.bnf.fr/ark:/12148/cb416243136) + +🇫🇷 **Timothy Mitchell, « Carbon Democracy », 2013, La Découverte, traduit de l'anglais 🇬🇧.** + +![Couverture de Carbon Democracy de Timothy Mitchell <](/img/cover/carbon_democracy.jpg) +*Ceci est un « livre à thèse », une thèse forte et iconoclaste, qui déplace radicalement notre vision de l’histoire du XXe siècle : les contours et les transformations des régimes politiques dits « démocratiques » ont été largement déterminés par les propriétés géophysiques des principales énergies carbonées, le charbon d’abord, puis le pétrole. +Ainsi, la pesanteur du charbon, la nécessité de l’extraire des mines puis de le charger dans des convois, etc. ont donné à ses producteurs un pouvoir considérable ; en utilisant la menace d’en interrompre les flux, ils créèrent syndicats et partis de masse, à l’origine des premières démocraties de l’ère moderne. En face, les classes dominantes ont cherché à organiser la transition énergétique à l’échelle mondiale. En effet, grâce à sa fluidité, sa légèreté et son exceptionnelle concentration en énergie, le pétrole permettait de contourner les réseaux et pouvoirs anciens. +Un autre régime s’est ainsi progressivement mis en place, dans lequel la vie politique s’est retrouvée anémiée, la paix sociale et la prospérité des « démocraties » occidentales ont reposé sur l’autoritarisme moyen-oriental, et où la croissance illimitée s’est transformée en religion. Aujourd’hui, ce système est au bord de l’effondrement et nous pose une question cruciale : comment les énergies postpétrole pourront-elles donner naissance à des régimes réellement démocratiques ?* + +[Fiche Babelio](https://www.babelio.com/livres/Mitchell-Carbon-Democracy/931332) - [Notice BNF](https://catalogue.bnf.fr/ark:/12148/cb43611319m) + +🇫🇷 **Michel Foucault, « Surveiller et punir », 1975, Gallimard.** + +![Couverture de Surveiller et Punir de Michel Foucault <](/img/cover/surveiller-et-punir.jpg) +*Surveillance, exercices, manoeuvres, notations, rangs et places, classements, examens, enregistrements, toute une manière d'assujettir les corps, de maîtriser les multiplicités humaines et de manipuler leurs forces s'est développée au cours des siècles classiques, dans les hôpitaux, à l'armée, dans les écoles, les collèges ou les ateliers : la discipline. La prison est à replacer dans la formation de cette société de surveillance. +La pénalité moderne n'ose plus dire qu'elle punit des crimes ; elle prétend réadapter des délinquants. Peut-on faire la généalogie de la morale moderne à partir d'une histoire politique des corps ?* + +[Fiche Babelio](https://www.babelio.com/livres/Foucault-Surveiller-et-punir/1516) - [Notice BNF](https://catalogue.bnf.fr/ark:/12148/cb374882365.public) diff --git a/content/operations/acces/_index.md b/content/operations/acces/_index.md index 278f724..08824bc 100644 --- a/content/operations/acces/_index.md +++ b/content/operations/acces/_index.md @@ -5,3 +5,4 @@ sort_by = "weight" weight = 5 +++ +Ici l'on traite de comment gagner accès au cluster de Deuxfleurs, quand on a reçu la _terrible responsabilité_ de sysadmin. Vous êtes prêt⋅e ? Alors entrez dans [le dépôt des secrets](./pass/).
\ No newline at end of file diff --git a/content/operations/acces/gpg.md b/content/operations/acces/gpg.md deleted file mode 100644 index 24b5648..0000000 --- a/content/operations/acces/gpg.md +++ /dev/null @@ -1,11 +0,0 @@ -+++ -title = "GPG" -description = "GPG" -weight = 10 -+++ - -# Générer une clé - -# La partager - -# Signatures croisées diff --git a/content/operations/acces/pass.md b/content/operations/acces/pass.md index 62bf23a..357db2e 100644 --- a/content/operations/acces/pass.md +++ b/content/operations/acces/pass.md @@ -1,7 +1,197 @@ +++ -title = "Pass" -description = "Pass" -weight = 40 +title = "Le dépôt des secrets" +description = "Le dépôt des secrets" +weight = 10 +++ -https://www.passwordstore.org/ +We use [pass, 'the standard unix password manager'](https://www.passwordstore.org/), to manage our key store securely at Deuxfleurs. Getting access to our production involves publishing one's GPG key (through Gitea) and importing/verifying/signing every other sysadmin's key, before setting up `pass`. Lastly, you will be able to set your shell password on the desired cluster (`prod` or `staging`, at the time of writing). + +Our process was adapted from [this Medium article](https://medium.com/@davidpiegza/using-pass-in-a-team-1aa7adf36592) — thanks, David! + +## You are new and want to access the secrets repository + +You need a GPG key to start with. +If you do not already have one, you can generate a new one with: + +```bash +gpg2 --expert --full-gen-key +# Personnaly I use `9) ECC and ECC`, `1) Curve 25519`, and `5y` +``` + +In any case, you need to export your public key. Upload the output (public key) of the following command to [your Gitea account](https://git.deuxfleurs.fr/user/settings/keys). + + +```bash +gpg2 --export --armor <your email address> +``` + +It is now publicly accessible at `https://git.deuxfleurs.fr/<your_gitea_username>.gpg` + +Inform all the other sysadmins that you have published your key for them to import/verify/sign it. + +### Import/verify/sign every other sysadmin's key into your keychain + +You now need to import and sign every other sysadmin's GPG key. For example, import Quentin's key to your keychain as follow: + +```bash +gpg2 --import <(curl https://git.deuxfleurs.fr/quentin.gpg) +gpg2 --list-keys +# pub ed25519/0xE9602264D639FF68 2022-04-19 [SC] [expire : 2027-04-18] +# Empreinte de la clef = 8023 E27D F1BB D52C 559B 054C E960 2264 D639 FF68 +# uid [ ultime ] Quentin Dufour <quentin@deuxfleurs.fr> +# sub cv25519/0xA40574404FF72851 2022-04-19 [E] [expire : 2027-04-18] +``` + +> How to read this snippet: +> - the key id: `E9602264D639FF68` +> - the key fingerprint: `8023 E27D F1BB D52C 559B 054C E960 2264 D639 FF68` + +To perform the check, you need another communication channel (ideally physically, otherwise through the phone, Matrix if you already trusted the other person, or else). Compare the signature you read with the sysadmin's. If they match, you good. + +Now that you have verified the key, sign it: + +```bash +gpg --edit-key quentin@deuxfleurs.fr # by email +# or +gpg --edit-key E9602264D639FF68 # by key id +# gpg> lsign +# (say yes, maybe several times) +# gpg> save +``` + +Once you signed every sysadmin, ask an administrator to add your key to the secrets keystore. They will need to [Add a sysadmin](#add-a-sysadmin). + +Once your fellow admin has finished their job, you are ready to install `pass`: + +```bash +sudo apt-get install pass # Debian + Ubuntu +sudo yum install pass # Fedora + RHEL +sudo zypper in password-store # OpenSUSE +sudo emerge -av pass # Gentoo +sudo pacman -S pass # Arch Linux +brew install pass # macOS +pkg install password-store # FreeBSD +``` + +*Go to [passwordstore.org](https://www.passwordstore.org/) for more information about pass*. + +Download the repository: + +``` +mkdir -p ~/.password-store +cd ~/.password-store +git clone git@git.deuxfleurs.fr:Deuxfleurs/secrets.git deuxfleurs +``` + +Finally check that everything works: + +```bash +pass show deuxfleurs +``` + +If you see a listing, it worked. Last step is to select a shell password for yourself on the cluster you are now in charge of (`prod` or `staging`, at the time of writing). + + +Clone the nixcfg repository: + +``` +git clone git@git.deuxfleurs.fr:Deuxfleurs/nixcfg.git +cd nixcfg +``` + +Use the passwd utility to set your shell password: +``` +./passwd +> Usage: ./passwd <cluster name> <username> +> The cluster name must be the name of a subdirectory of cluster/ +``` + +This commited changes to Deuxfleurs' password store, do verify your modifications before pushing them: +``` +cd ~/.password-store/deuxfleurs +git diff +git push +``` + +You should now be able to `ssh` into our infrastructure with a unified shell password. This is explicated in `nixcfg` repo's [README](https://git.deuxfleurs.fr/Deuxfleurs/nixcfg#how-to-operate-a-node). Be cautious, and enjoy! + +> With great power comes great responsibility. + +--- + +--- + +## You are a sysadmin and want to operate the secrets repository + +## Initialise the pass store + +> These instructions are for _bootstrapping_ the pass store. **Don't do it on Deuxfleurs' secrets repository** (don't be like ADRN). You would override the existing sysadmins and generally have a bad time. + +Generate a new password store named deuxfleurs for you: + +``` +pass init -p deuxfleurs you@example.com +``` + +Add a password in this store, it will be encrypted with your gpg key: + +```bash +pass generate deuxfleurs/backup_nextcloud 20 +# or +pass insert deuxfleurs/backup_nextcloud +``` + +## Add a sysadmin + +Edit `~/.password-store/acme/.gpg-id` and add the id of the newbie: + +``` +alice@example.com +jane@example.com +bob@example.com +``` + +Make sure that you trust the keys of your new sysadmin: + +``` +$ gpg --edit-key jane@example.com +gpg> lsign +gpg> y +gpg> save +``` + +Now re-encrypt the secrets and push your modifications: + +``` +pass init -p deuxfleurs $(cat ~/.password-store/deuxfleurs/.gpg-id) +cd ~/.password-store/deuxfleurs +git commit +git push +``` + +They will now be able to decrypt any password: + +``` +pass deuxfleurs/backup_nextcloud +``` + +## Sharing with git + +To create the repo _on bootstrap exclusively_: + +```bash +cd ~/.password-store/deuxfleurs +git init +git add . +git commit -m "Initial commit" +# Set up remote +git push +``` + +To retrieve the repo: + +```bash +mkdir -p ~/.password-store +cd ~/.password-store +git clone https://git.example.com/org/repo.git deuxfleurs +``` diff --git a/content/operations/acces/ssh.md b/content/operations/acces/ssh.md index 5f92888..e053934 100644 --- a/content/operations/acces/ssh.md +++ b/content/operations/acces/ssh.md @@ -1,9 +1,9 @@ +++ title = "SSH" description = "SSH" -weight = 20 +weight = 100 +++ -Voir si on documented comment gérer SSH depuis GPG +Voir si on documente comment gérer SSH depuis GPG # Ajout de la clé au cluster diff --git a/content/operations/deploiement/noeud/guide_création_nœud.md b/content/operations/deploiement/noeud/guide_création_nœud.md index 28823d9..907d4a8 100644 --- a/content/operations/deploiement/noeud/guide_création_nœud.md +++ b/content/operations/deploiement/noeud/guide_création_nœud.md @@ -80,10 +80,13 @@ users.users.nomUtilisateur = { ``` environment.systemPackages = with pkgs; [ vim + git wget emacs ]; ``` +L'installation de git est nécessaire pour rejoindre un cluster Deuxfleurs. + Enfin activons le serveur SSH en décommentant : ``` services.openssh.enable = true; diff --git a/static/img/cover/France-contre-robots.jpg b/static/img/cover/France-contre-robots.jpg Binary files differnew file mode 100644 index 0000000..2185f7e --- /dev/null +++ b/static/img/cover/France-contre-robots.jpg diff --git a/static/img/cover/carbon_democracy.jpg b/static/img/cover/carbon_democracy.jpg Binary files differnew file mode 100644 index 0000000..3dc3089 --- /dev/null +++ b/static/img/cover/carbon_democracy.jpg diff --git a/static/img/cover/surveiller-et-punir.jpg b/static/img/cover/surveiller-et-punir.jpg Binary files differnew file mode 100644 index 0000000..fe50b69 --- /dev/null +++ b/static/img/cover/surveiller-et-punir.jpg |