doc: améliorations...

parent 7ead6036
Ce dépot contient la configuration du serveur hébergeant les services
de l'infrastructure `markas.fr`.
Cette infrastructure est en version beta et ne doit donc pas être
considérée comme stable.
La documentation est disponible [ici](https://documentation.markas.fr).
Infrastructure collaborative markas.fr
=======================================
Markas a pour objectif de fournir des services numériques respectant
nos libertés, nos données personnelles et notre vie privée.
Utiliser
--------
Les services proposés sont détaillés dans le `guide d'utilisation de
Markas <https://documentation.markas.fr/utiliser.html>`_.
Rendez-vous sur `<https://cloud.markas.fr>`_ pour la création d'un compte!
L'infrastructure markas.fr est actuellement en version beta. Nous
n'assurons actuellement **aucune sauvegarde**. À tout moment, une
panne matérielle du serveur pourrait corrompre vos données.
Contribuer
----------
- Pour démarrer le serveur localement
::
./start-infrastructure
Ce script lance une machine virtuelle, puis une instance
Firefox. Cette instance Firefox permet d'accèder aux services web
hebergés par la machine virtuelle (via un proxy SOCKS).
- Nous rejoindre sur le chan #markas sur irc.geeknode.org
- La section `contribuer <https://documentation.markas.fr/contribuer.html>`_ de la documentation
En savoir plus
--------------
- `Documentation <https://documentation.markas.fr>`_
- `Guide d'utilisation <https://documentation.markas.fr/utiliser.html>`_
- `Description de l'infrastructure <https://documentation.markas.fr/description.html>`_
- `Contact <https://documentation.markas.fr/contact.html>`_
......@@ -69,7 +69,7 @@ VPN
Un VPN est utilisé pour accéder certains des services de
l’infrastructure:
- journald: <vpn.markas.fr:19531>
- journald: http://vpn.markas.fr:19531
Ce VPN est basé sur Wireguard. La clé publique du VPN est
``jngKolQu7KZUw+vqKUjDRHF3C9PO8nnly69lPg8pbX0=``.
......
......@@ -13,4 +13,21 @@ Note : n'hésitez pas à poser vos questions, mais les gens ne sont pas forcéme
Par courriel
============
contact (a) markas (point) fr
TODO: créer une addresse redirigée vers plusieurs addresses de membre.
Sur FramaGit
============
Il est possible de `créer un ticket
<https://framagit.org/markas/infrastructure/-/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=>`_
sur notre forge pour poser une question, remonter un problème,
demander une amélioration.
Sur Framavox
============
Vous pouvez suivre et participer à nos discussions autour de la
gestion de notre projet. Rejoignez-nous sur `Framavox
<https://framavox.org/markas/>`__.
# Contribuer à markas.fr
Vous pouvez suivre et participer à nos discussions autour de la gestion de notre projet [CHATONS](https://chatons.org/).
Rejoignez-nous sur [Framavox](https://framavox.org/markas/).
Le dépôt contenant le code de l'infrastructure markas.fr est
<https://framagit.org/markas/infrastructure>
Ce dépôt contient également des
[tickets](https://framagit.org/markas/infrastructure/-/issues)
décrivant les prochaines tâches à réaliser.
## Prérequis
L'infrastructure repose fortement sur l'outil
[Nix](https://nixos.org/nix/) et la distribution NixOS. Pour
contribuer, il faut donc installer le gestionnaire de paquet Nix. Ce
gestionnaire de paquet fonctionne sur toutes les distributions en
n'entre pas en conflit avec les paquets de votre distribution.
Pour installer Nix:
curl https://nixos.org/nix/install | sh
Si besoin, le [manuel Nix](https://nixos.org/nix/manual/#chap-quick-start)
fournit plus d'information et d'options d'installation.
## Essayer le serveur localement
Il est possible de construire et démarrer une machine virtuelle
correspondant à la configuration du serveur. Cette machine peut être
utilisée pour tester un changement ou étudier la configuration du
serveur.
Pour construire et démarrer cette machine:
./start-infrastructure
Note: cette machine virtuelle utilise QEMU. Il est vivement conseillé
d'activer KVM afin de profiter de l'accéleration matérielle fournie
par le processeur. La documentation Ubuntu suivante fournies les
informations nécessaire à l'activation de KVM
<https://doc.ubuntu-fr.org/kvm>.
Une fois la machine virtuelle démarrée, il est possible de
s'authentifier avec le compte `root` et un mot de passe vide.
Les services suivant sont accessibles directement depuis la machine
hôte:
- graphana: <http://localhost:3000> (utiliser le username `admin` et
le password `admin`)
- prometheus server: <http://localhost:9090>
- prometheus node exporter: <http://localhost:9100>
- ssh: `ssh -p 2222 root@localhost`
- nextcloud: <http://localhost:30443>. Plusieurs comptes admin sont
créés dont le compte admin (username `admin` password `admin`).
Note: La machine virtuelle ne démarre pas si les ports 3000, 9090,
9100 de la machine hôte sont utilisés.
## Tester un changement ou une Merge Request
Des [tests NixOS](https://nixos.org/nixos/manual/index.html#sec-nixos-tests)
sont disponibles pour valider certaines fonctionnalités du serveur. Pour jouer
ces tests:
nix-build -A tests
La documentation explique également comment [jouer ces tests
intéractivement](https://nixos.org/nixos/manual/index.html#sec-running-nixos-tests-interactively).
## Soumettre une modification du serveur
Le serveur applique toute les minutes la configuration définie dans la
branche master de ce dépôt. Pour appliquer une modification, il faut
donc soumettre une Merge Request (MR) à destination de la branche
master. Une fois que cette MR est mergée, le serveur se met à jour une
minute plus tard.
Lorsque ce dépôt est récupéré, la signature du commit `HEAD` est vérifiée avec
les clés publiques contenues dans le répertoire
[./keys](https://framagit.org/markas/infrastructure/-/tree/master/keys). La
configuration est alors uniquement déployée si la signature est valide. Cela
permet de s'assurer qu'un attaquant ne puisse pas compromettre le dépôt de
configuration.
## Contribuer à la documentation
La documentation se trouve dans
[./docs](https://framagit.org/markas/infrastructure/-/tree/master/docs), est
écrite en Markdown ou ReST et rendu par Sphinx. Pour générer le site statique:
nix-build -A documentation
firefox ./result/index.html
Il suffit ensuite de modifier un fichier et relancer cette commande. Une
Merge Request peut être créée avec ces modifications.
.. _contribuer:
Contribuer à markas.fr
======================
Vous pouvez suivre et participer à nos discussions autour de la gestion
de notre projet `CHATONS <https://chatons.org/>`__. Rejoignez-nous sur
`Framavox <https://framavox.org/markas/>`__.
Le dépôt contenant le code de l’infrastructure markas.fr est
https://framagit.org/markas/infrastructure
......@@ -15,11 +13,11 @@ décrivant les prochaines tâches à réaliser.
Prérequis
---------
L’infrastructure repose fortement sur l’outils
`Nix <https://nixos.org/nix/>`__ et la distribution NixOS. Pour
contribuer, il faut donc installer le gestionnaire de paquet Nix. Ce
gestionnaire de paquet fonctionne sur toutes les distributions en
n’entre pas en conflit avec les paquets de votre distribution.
L’infrastructure repose fortement sur l’outil `Nix
<https://nixos.org/nix/>`__ et la distribution NixOS. Pour contribuer,
il faut donc installer le gestionnaire de paquet Nix. Ce gestionnaire
de paquet fonctionne sur toutes les distributions en n’entre pas en
conflit avec les paquets de votre distribution.
Pour installer Nix:
......@@ -31,6 +29,8 @@ Si besoin, le `manuel
Nix <https://nixos.org/nix/manual/#chap-quick-start>`__ fournit plus
d’information et d’options d’installation.
.. _essayer:
Essayer le serveur localement
-----------------------------
......@@ -55,7 +55,7 @@ Pour démarrer le serveur localement
Ce script lance une machine virtuelle, puis une instance
Firefox. Cette instance Firefox permet d'accèder aux services web
hebergés par la machine virtuelle.
hebergés par la machine virtuelle (via un proxy SOCKS).
Une fois la machine virtuelle démarrée, il est possible de
s’authentifier avec le compte ``root`` et un mot de passe vide.
......
Description de l'infrastructure
-------------------------------
L'infrastructure est actuellement composé d'un serveur.
L'infrastructure est actuellement composé d'un unique serveur.
Environement
************
......@@ -9,31 +9,55 @@ Environement
Hébergement
~~~~~~~~~~~
Le serveur est hébergé par Kimsufi à Paris.
Le serveur est un `serveur KS-2
<https://www.kimsufi.com/fr/serveurs.xml>`_ (4GB RAM, CPU Atom N2800,
HDD 1x1 To) hébergé par Kimsufi à Paris dans le datacenter GRA1 (Rack
G131B32), loué au nom de Antoine Eiche. L'objectif est de transférer
cette machine à une association (que nous devons créer).
DNS
~~~
Nom de domaine
~~~~~~~~~~~~~~
Le nom de domaine markas.fr est géré par Gandi.
Le nom de domaine `markas.fr` est géré par Gandi au nom de Antoine
Eiche. L'objectif est de transférer ce nom de domaine à une
association (que nous devons créer).
Les services d'infrastructures
******************************
Système d'exploitation
~~~~~~~~~~~~~~~~~~~~~~
Afin de faire fonctionner les services utilisateurs, des services
d'infrastructures sont nécessaires.
Nous utilisons la distribution NixOS en version |nixpkgs-branch|. La révision
NixOS actuellement déployé est |nixpkgs-revision|_. Nous configurons
ensuite cette distribution pour l'adapter à nos besoins. La révision
de la configuration Markas actuellement déployée est
|markas-revision|_.
Version des logiciels
~~~~~~~~~~~~~~~~~~~~~
Mode de déploiement
~~~~~~~~~~~~~~~~~~~
TODO: donner la version de quelque logiciels clés (kernel, nginx,
nextcloud,...).
La configuration du serveur est décrite dans le dépôt
|repository|. Toutes les minutes, un service systemd récupère le
contenu de ce dépôt sur le serveur et applique les potentiels
changements.
Liste des membres ayant des droits d'administreurs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avant d'appliquer un changement, le serveur vérifie que le commit HEAD
de la branche master a bien été signé par une personne autorisée.
TODO: lister les droits root, ssh admin nextcloud,...
Politique de sécurité
~~~~~~~~~~~~~~~~~~~~~
TODO: expliquer que l'on fait des mises à jour régulièrement, qu'on
limite les accès admin, que l'on ne fait pas de backup...
Contributeurs
~~~~~~~~~~~~~
https://framagit.org/markas/infrastructure/-/graphs/master
Les services d'infrastructures
******************************
Afin d'assurer le bon fonctionnement des services utilisateurs, des
services d'infrastructures sont nécessaires.
Monitoring et alerting
~~~~~~~~~~~~~~~~~~~~~~
......@@ -45,7 +69,8 @@ Logs
Les logs du serveur sont exposés par `systemd-journal-gatewayd
<https://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html>`_.
Ces logs ne sont actuellement ni exportés, ni sauvegardés.
Ces logs ne sont accessible que par le VPN et ne sont actuellement ni
exportés, ni sauvegardés.
VPN
~~~
......@@ -54,9 +79,13 @@ Un VPN est utilisé pour permettre aux membres d'accéder à des données
privées, telles que les logs. Le VPN utilisé est `Wireguard
<https://www.wireguard.com/>`_.
Mode de déploiement
~~~~~~~~~~~~~~~~~~~
Révisions de markas
*******************
La configuration du serveur est décrite dans le dépôt
|repository|. Toutes les minutes, un service systemd récupère le
contenu de ce dépôt sur le serveur et applique les potentiels
changements.
La révision de markas actuellement déployée est |markas-revision|_, qui est
basée sur la release NixOS |nixpkgs-branch| en révision |nixpkgs-revision|_.
Avant d'appliquer un changement, le serveur vérifie que le commit HEAD
de la branche master a bien été signé par une personne autorisée.
.. Markas documentation master file, created by
sphinx-quickstart on Sun Apr 5 15:58:13 2020.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Infrastructure collaborative markas.fr
=======================================
Bienvenue sur l'infrastructure markas.fr
========================================
Markas a pour objectif de fournir des services numériques respectant
nos libertés, nos données personnelles et notre vie privée. Les
services proposés sont détaillés dans le :ref:`guide d'utilisation
<utiliser>` de Markas.
Rendez-vous sur `<https://cloud.markas.fr>`_ pour la création d'un compte!
.. warning::
L'infrastructure markas.fr est actuellement en version beta et ne doit
pas être considérée comme stable!
L'infrastructure markas.fr est actuellement en version beta. Nous
n'assurons actuellement **aucune sauvegarde**. À tout moment, une panne
matérielle du serveur pourrait corrompre vos données.
Nos motivations: pourquoi Markas?
---------------------------------
Nous construisons Markas pour contribuer à `l\\'écosystème
<https://chatons.org/fr/find>`_ permettant de nous défaire de
l'omniprésence des `GAFAM
<https://fr.wikipedia.org/wiki/GAFAM>`_. Nous avons donc pour souhait
de rejoindre `le Collectif des Hébergeurs Alternatifs, Transparents,
Ouverts, Neutres et Solidaires <https://chatons.org>`_ et nous allons
proposer notre candidature dans les mois à venir.
L'infrastructure Markas est gérée collaborativement. Nous sommes
particulièrement attachés à la notion de **transparence** et
d\\'**ouverture**.
La **transparence** permet à n'importe quel utilisateur de savoir comment
est construite l'infrastructure et quelles sont les actions qui y sont
réalisées. La majorité des actions sont réalisées à travers `notre
dépôt Git <https://framagit.org/markas/infrastructure>`_ dont
`l'historique est publique
<https://framagit.org/markas/infrastructure/-/commits/master/>`_.
L\\'**ouverture** vise à permettre aux utilisateurs de contribuer au
projet. Les utilisateurs doivent donc pouvoir étudier, reproduire et
modifier l'infrastructure. Nous fournissons un moyen simple permettant
d\\':ref:`essayer le serveur localement <essayer>`. Afin de permettre
aux utilisateurs de contribuer à l'infrastructure, toutes les
modifications sont réalisées via des `demandes de fusion
<https://framagit.org/markas/infrastructure/-/merge_requests>`_. Sur
le long terme, nous visons l'absence de droits d'administration. Voir
la section :ref:`contribuer` pour davantage de détails.
Sommaire
--------
.. toctree::
:maxdepth: 2
......
Utiliser les services de markas.fr
----------------------------------
.. _utiliser:
Nextcloud
~~~~~~~~~
Guide d'utilisation
-------------------
Nexcloud est un logiciel libre permettant notament l'hébergement de
fichiers, la gestion de calendriers et de contacts. Ce service est
disponible à l'addresse https://cloud.markas.fr et requiert un compte
utilisateur.
Les services numériques de Markas
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nous fournissons des services permettant de partager des fichiers et
gérer des agendas en ligne. Ces services sont basés sur le logiciel
libre `Nextcloud <https://nextcloud.com/>`_.
Création d'un compte utilisateur
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
La création de compte est actuellement manuelle. Prennez contact avec
contact@markas.fr.
.. warning::
L'infrastructure markas.fr est actuellement en version beta. Nous
n'assurons actuellement **aucune sauvegarde**. À tout moment, une panne
matérielle du serveur pourrait corrompre vos données.
Pour créer un compte:
1. Rendez-vous https://cloud.markas.fr
2. Cliquer sur `S'enregistrer`
3. Saisissez une addresse courriel valide puis cliquez sur `Demander un lien de vérification`
4. Vous recevrez un courriel de registration@markas.fr
5. Cliquez sur le lien de vérification
6. Votre compte doit désormais être activé par un administrateur qui
confirmera la création de votre compte
Une fois votre compte activé, vous pourrez vous authentifier
https://cloud.markas.fr.
Services disponibles
^^^^^^^^^^^^^^^^^^^^
Notre instance Nextcloud permet de
- stocker des fichiers (5Go par défaut)
- partager des fichiers
- gérer des agendas en lignes
- synchroniser des contacts
Modèle économique
~~~~~~~~~~~~~~~~~
Nous n'avons actuellemnent pas défini de modèle économique.
A faire: définir un modèle économique
Les conditions générales d'utilisation (CGU)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
À faire: reprendre les `CGU de Framasoft <https://framasoft.org/fr/cgu/>`_
......@@ -9,6 +9,11 @@
enableACME = true;
locations."/".root = pkgs.markas-documentation;
};
"markas.fr" = {
forceSSL = true;
enableACME = true;
locations."/".root = pkgs.markas-documentation;
};
};
};
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment