Skip to content
Snippets Groups Projects
Commit 3be4abbf authored by Angedestenebres's avatar Angedestenebres :smiley_cat:
Browse files

Merge branch 'spellcheck' into 'master'

Spellcheck

See merge request acides/website!1
parents f06d9434 2d7733e1
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,7 @@ L'hébergement de services et de données sur Internet est aujourd'hui très ...@@ -8,7 +8,7 @@ L'hébergement de services et de données sur Internet est aujourd'hui très
centralisé, ce qui est néfaste à plusieurs titres : centralisé, ce qui est néfaste à plusieurs titres :
- pour la sécurité, l'appât du gain étant d'autant plus grand que les - pour la sécurité, l'appât du gain étant d'autant plus grand que les
victimes potentielles sont nombreux, et les principales plateformes victimes potentielles sont nombreuses, et les principales plateformes
n'ayant que peu d'intérêt à protéger les individus ; n'ayant que peu d'intérêt à protéger les individus ;
- pour la vie privée, l'accumulation de données rendant leur exploitation - pour la vie privée, l'accumulation de données rendant leur exploitation
lucrative, tant pour la commercialisation de services de ciblage que pour lucrative, tant pour la commercialisation de services de ciblage que pour
...@@ -30,7 +30,7 @@ ou bien les héberger à leur domicile, au détriment de la disponibilité, ...@@ -30,7 +30,7 @@ ou bien les héberger à leur domicile, au détriment de la disponibilité,
principalement en raison des aléas électriques et de l'accès à Internet. principalement en raison des aléas électriques et de l'accès à Internet.
hepto vise à faciliter l'hébergement au domicile, en permettant à plusieurs hepto vise à faciliter l'hébergement au domicile, en permettant à plusieurs
individus ou structure, domiciliés séparément mais disposant de connexions à individus ou structures, domiciliés séparément mais disposant de connexions à
Internet de qualité, de mettre en commun leurs ressources pour construire et Internet de qualité, de mettre en commun leurs ressources pour construire et
exploiter un *cluster* d'hébergement résilient. exploiter un *cluster* d'hébergement résilient.
...@@ -46,7 +46,7 @@ Les *clusters* résultants sont : ...@@ -46,7 +46,7 @@ Les *clusters* résultants sont :
composants, peut être hébergé pour parties en différents endroits ; composants, peut être hébergé pour parties en différents endroits ;
- résilients, c'est à dire qu'un service peut reposer sur un composant - résilients, c'est à dire qu'un service peut reposer sur un composant
déployé simultanément en plusieurs endroits et gérer automatiquement déployé simultanément en plusieurs endroits et gérer automatiquement
la réponse à incident ; la réponse à un incident ;
- économes en ressources, c'est à dire que les équipements requis pour - économes en ressources, c'est à dire que les équipements requis pour
héberger un cluster coûtent peu, consomment peu, et que les héberger un cluster coûtent peu, consomment peu, et que les
communications à travers Internet sont limitées lorsque possibles afin communications à travers Internet sont limitées lorsque possibles afin
...@@ -78,7 +78,7 @@ Le projet hepto était initialement nommé « hosto » (en référence simple à ...@@ -78,7 +78,7 @@ Le projet hepto était initialement nommé « hosto » (en référence simple à
*host*) ; il a ainsi débuté en juin 2019, regroupant principalement des *host*) ; il a ainsi débuté en juin 2019, regroupant principalement des
volontaires des deux associations CryptOn et TeDomum. volontaires des deux associations CryptOn et TeDomum.
En semptembre 2019, les premières orientations architecturales étaient fixées En septembre 2019, les premières orientations architecturales étaient fixées
et les premiers choix technologiques ont penché du côté de Wireguard et et les premiers choix technologiques ont penché du côté de Wireguard et
de Kubernetes pour débuter un laboratoire. Le laboratoire a été assemblé de Kubernetes pour débuter un laboratoire. Le laboratoire a été assemblé
à base de matériel récupéré et installé jusqu'en décembre 2019. à base de matériel récupéré et installé jusqu'en décembre 2019.
...@@ -90,4 +90,4 @@ version exploitable a ainsi vu le jour en mai 2020. ...@@ -90,4 +90,4 @@ version exploitable a ainsi vu le jour en mai 2020.
Il reste aujourd'hui de nombreux aspects à améliorer dans les configurations Il reste aujourd'hui de nombreux aspects à améliorer dans les configurations
proposées, mais hepto fournit un socle réutilisable pour déployer des proposées, mais hepto fournit un socle réutilisable pour déployer des
*clusters* de petits hébergeurs. Il compte 5 contributeurs actifs. *clusters* de petits hébergeurs. Il compte 5 contributeurs actifs.
\ No newline at end of file
...@@ -9,14 +9,14 @@ title: Architecture ...@@ -9,14 +9,14 @@ title: Architecture
Un *cluster* hepto est constitué : Un *cluster* hepto est constitué :
- d'hôtes physiques, possédés par les contributeurs au *cluster* ; - d'hôtes physiques, possédés par les contributeurs au *cluster* ;
- de noeuds du cluster, chaque noeud étant instancié sur un hôte physique ; - de nœuds du cluster, chaque nœud étant instancié sur un hôte physique ;
- d'une surcouche réseau, regroupant ces noeuds sur un même réseau privé - d'une surcouche réseau, regroupant ces nœuds sur un même réseau privé
virtuel (VPN) sécurisant les communications à suivre ; virtuel (VPN) sécurisant les communications à suivre ;
- d'une surcouche orchestration, exploitant le CPU, la RAM et le stockage - d'une surcouche orchestration, exploitant le CPU, la RAM et le stockage
des noeuds pour y déployer des applications et rendre des services ; des nœuds pour y déployer des applications et rendre des services ;
- d'une surcouche de contribution, permettant le travail collaboratif sur - d'une surcouche de contribution, permettant le travail collaboratif sur
les ressources du *cluster*, l'historisation des modifications, le les ressources du *cluster*, l'historisation des modifications, le
déploiement contrinu, etc. ; déploiement continu, etc. ;
- d'outils pré-déployés, tels que les *reverse proxy* d'accès aux services, - d'outils pré-déployés, tels que les *reverse proxy* d'accès aux services,
la gestion des certificats TLS, la supervision des ressources, la la gestion des certificats TLS, la supervision des ressources, la
collecte et le traitement des journaux, etc. collecte et le traitement des journaux, etc.
...@@ -25,14 +25,14 @@ Il est distribué, c'est à dire que les ressources sont mises à disposition ...@@ -25,14 +25,14 @@ Il est distribué, c'est à dire que les ressources sont mises à disposition
par des individus collaborant, mais pas nécessairement appartenant à la même par des individus collaborant, mais pas nécessairement appartenant à la même
association, entreprise, collectif, etc. Chaque contributeur peut par exemple association, entreprise, collectif, etc. Chaque contributeur peut par exemple
disposer d'un hôte à son domicile, et décider de l'allouer pour partie à un disposer d'un hôte à son domicile, et décider de l'allouer pour partie à un
noeud d'un premier *cluster*, pour partie à un noeud d'un autre *cluster*, et nœud d'un premier *cluster*, pour partie à un nœud d'un autre *cluster*, et
d'en conserver la maîtrise pour stocker ses documents personnels. d'en conserver la maîtrise pour stocker ses documents personnels.
Il est résilient, c'est à dire qu'une application déployée et ses données ne Il est résilient, c'est à dire qu'une application déployée et ses données ne
sont pas gérées sur le noeud d'un unique contributeur. En cas de panne de sont pas gérées sur le nœud d'un unique contributeur. En cas de panne de
courant, d'accès à Internet, de déménagement, ou simplement si le contributeur courant, d'accès à Internet, de déménagement, ou simplement si le contributeur
décide subitement de déconnecter son noeud, le *cluster* continue d'exister décide subitement de déconnecter son nœud, le *cluster* continue d'exister
et les applications continuent de fonctoinner sur les autres noeuds. et les applications continuent de fonctionner sur les autres nœuds.
Il est économe, c'est à dire qu'il peut reposer sur des machines à faible Il est économe, c'est à dire qu'il peut reposer sur des machines à faible
consommation, et que la somme des ressources peut approcher la somme des consommation, et que la somme des ressources peut approcher la somme des
...@@ -48,17 +48,17 @@ personnel de récupération ou d'un micro-serveur. Il peut être utilisé pour ...@@ -48,17 +48,17 @@ personnel de récupération ou d'un micro-serveur. Il peut être utilisé pour
contribuer à un ou plusieurs *clusters* hepto, voire servir en parallèle contribuer à un ou plusieurs *clusters* hepto, voire servir en parallèle
d'autres applications de son propriétaire. d'autres applications de son propriétaire.
Un noeud matérialise l'allocation de tout ou partie des ressources de Un nœud matérialise l'allocation de tout ou partie des ressources de
l'hôte sur lequel il repose au profit d'un *cluster* hepto. Un noeud est l'hôte sur lequel il repose au profit d'un *cluster* hepto. Un nœud est
concrètement constitué de deux programmes : la contribution à la surcouche concrètement constitué de deux programmes : la contribution à la surcouche
réseau et la contribution à la surcouche orchestration. réseau et la contribution à la surcouche orchestration.
Le *cluster* hepto est réalisé par l'ensemble des noeuds qui le constituent, Le *cluster* hepto est réalisé par l'ensemble des nœuds qui le constituent,
il fournit les primitives réseau et d'orchestration aux applications qui il fournit les primitives réseau et d'orchestration aux applications qui
y sont hébergées. y sont hébergées.
Dans le contexte de hepto, un *pod* peut techniquement faire référence à Dans le contexte de hepto, un *pod* peut techniquement faire référence à
un *pod* Podman, technologie employée pour gérer les noeuds, ou bien un un *pod* Podman, technologie employée pour gérer les nœuds, ou bien un
*pod* kubernetes, technologie employée pour la couche d'orchestration. *pod* kubernetes, technologie employée pour la couche d'orchestration.
Sauf précision, il s'agit d'un *pod* au sens kubernetes. Sauf précision, il s'agit d'un *pod* au sens kubernetes.
...@@ -73,10 +73,10 @@ laboratoires hepto. Elles sont susceptibles d'évoluer régulièrement : ...@@ -73,10 +73,10 @@ laboratoires hepto. Elles sont susceptibles d'évoluer régulièrement :
- les hôtes sont limités aux machines de l'architecture AMD64, avec - les hôtes sont limités aux machines de l'architecture AMD64, avec
au minimum 1Go de mémoire vive et 50Go de stockage ; au minimum 1Go de mémoire vive et 50Go de stockage ;
- les noeuds sont constitués par des *pods* Podman, eux-mêmes - les nœuds sont constitués par des *pods* Podman, eux-mêmes
organisés en deux conteneurs, l'un pour la surcouche réseau, l'autre organisés en deux conteneurs, l'un pour la surcouche réseau, l'autre
pour la surcouche orchestration ; pour la surcouche orchestration ;
- la surcouche réseau est opérée par wesher, qui négocie et conigure des - la surcouche réseau est opérée par wesher, qui négocie et configure des
VPN Wireguard en *full-mesh* entre tous les membres du cluster ; VPN Wireguard en *full-mesh* entre tous les membres du cluster ;
- la surcouche orchestration est opérée par k3s, une version allégée - la surcouche orchestration est opérée par k3s, une version allégée
de l'orchestration de conteneur kubernetes ; de l'orchestration de conteneur kubernetes ;
...@@ -92,18 +92,18 @@ d'administration du *cluster* au niveau de la surcouche d'orchestration ...@@ -92,18 +92,18 @@ d'administration du *cluster* au niveau de la surcouche d'orchestration
et dispose de l'ensemble des clés de sécurité du *cluster*, y compris et dispose de l'ensemble des clés de sécurité du *cluster*, y compris
celles protégeant la surcouche réseau. celles protégeant la surcouche réseau.
Un noeud hepto fait partie du *cluster*, et est donc sous la Un nœud hepto fait partie du *cluster*, et est donc sous la
responsabilité du responsable du *cluster*, de même que l'ensemble des responsabilité du responsable du *cluster*, de même que l'ensemble des
ressources qui y sont orchestrées, sauf délégation. ressources qui y sont orchestrées, sauf délégation.
Un hôte abritant un noeud hepto est sous la responsable du propriétaire Un hôte abritant un nœud hepto est sous la responsabilité du propriétaire
de l'équipement. Il peut s'agit de la même entité que le responsable du de l'équipement. Il peut s'agir de la même entité que le responsable du
*cluster*, mais il peut également s'agit d'un individu ou d'un groupement *cluster*, mais il peut également s'agir d'un individu ou d'un groupement
tiers. Par exemple, des associations peuvent mettre à disposition chacune tiers. Par exemple, des associations peuvent mettre à disposition chacune
des hôtes pour héberger les noeuds d'un *cluster* hepto géré en fédération des hôtes pour héberger les nœuds d'un *cluster* hepto géré en fédération
d'associations ; ou bien une association gérer un *cluster* hepto reposant d'associations ; ou bien une association gérer un *cluster* hepto reposant
pour une part sur des noeuds hébergés sur ses propres hôtes et sur des pour une part sur des nœuds hébergés sur ses propres hôtes et sur des
noeuds contribués par ses membes mais dont l'association n'est pas nœuds contribués par ses membes mais dont l'association n'est pas
propriétaire. propriétaire.
Au sein d'un *cluster* hepto, le responsable du *cluster* peut décider Au sein d'un *cluster* hepto, le responsable du *cluster* peut décider
...@@ -142,7 +142,7 @@ Aussi, il apparaît que les deux types de ressources doivent être gérés par ...@@ -142,7 +142,7 @@ Aussi, il apparaît que les deux types de ressources doivent être gérés par
deux technologies distinctes bien que complémentaires. En résultent deux deux technologies distinctes bien que complémentaires. En résultent deux
approches envisageables : approches envisageables :
- soit disposer d'une connectivité réseau sécurisée entre les noeuds du - soit disposer d'une connectivité réseau sécurisée entre les nœuds du
cluster, sur la base de laquelle l'orchestration est construite ; cluster, sur la base de laquelle l'orchestration est construite ;
- soit construire une orchestration indépendamment des propriétés de - soit construire une orchestration indépendamment des propriétés de
sécurité réseau et déployer en sus les outils pour sécuriser les sécurité réseau et déployer en sus les outils pour sécuriser les
...@@ -184,15 +184,15 @@ pour hepto est repoussée. ...@@ -184,15 +184,15 @@ pour hepto est repoussée.
#### VPN et mesh #### VPN et mesh
Pour qu'une surcouche réseau à base de VPN soit efficace, il faut que le Pour qu'une surcouche réseau à base de VPN soit efficace, il faut que le
trafic circule entre les noeuds sans transiter par un noeud central. Il faut trafic circule entre les nœuds sans transiter par un nœud central. Il faut
également que tous les noeuds puissent échanger avec tous les autres noeuds, également que tous les nœuds puissent échanger avec tous les autres nœuds,
et que chacun puisse disposer d'un espace d'adressage complet pour les et que chacun puisse disposer d'un espace d'adressage complet pour les
applications hébergées. applications hébergées.
Une telle infrastructure, dénommée *VPN full-mesh*, n'est pas triviale à Une telle infrastructure, dénommée *VPN full-mesh*, n'est pas triviale à
mettre en place. C'est en reprenant et en étendant un logiciel existant, mettre en place. C'est en reprenant et en étendant un logiciel existant,
« wesher », que hepto parvient à gérer un *VPN full-mesh* entre l'ensemble « wesher », que hepto parvient à gérer un *VPN full-mesh* entre l'ensemble
des noeuds garantissant la confidentialité et l'intégrité du trafic échangé, des nœuds garantissant la confidentialité et l'intégrité du trafic échangé,
et servant de base à la surcouche orchestration. et servant de base à la surcouche orchestration.
### Machines virtuelles, conteneurs, processus ### Machines virtuelles, conteneurs, processus
...@@ -205,4 +205,4 @@ TODO ...@@ -205,4 +205,4 @@ TODO
### Optimisations topologiques ### Optimisations topologiques
TODO TODO
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment