Compare commits

...

4 commits

6 changed files with 682 additions and 1 deletions

View file

@ -0,0 +1,101 @@
# CR-2023-03-17 | Synapse | Tedomum.net
## Très courte description
Infra | Debug | Synapse - Pic d'utilisation CPUs
## Courte description
> _À L'occasion d'une session improvisée de **documentation croisée** : kaiyou debug l'instance synapse de (tedomum.net) qui rencontre des pics CPU. reminec prends des notes pour engrenger du savoir sur synapse / Matrix._
## Description
### Salons #Synapse
**#Synapse** modèlise la **relation** entre les **salons** via un **Graphe Orienté Acyclique** (DAG)[Voir plus bas].
Celui-ci se voit **distribué** et **répliqué** sur les différents serveurs.
> ⚠️ De temps en temps, ce processus peut occasionner des nécessités d'**opérations de maintenance**.
![Schéma de Graphe Orienté Acyclique](https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Tred-G.svg/220px-Tred-G.svg.png)
_Ne boucle pas sur lui même (Ex: les noeuds ne peuvent former un cercle)_
Voir [Wikipedia - Graphe Orienté Acyclique](https://fr.wikipedia.org/wiki/Graphe_orient%C3%A9_acyclique)
#### En savoir plus
* #Synapse Room DAG Concept (https://github.com/matrix-org/synapse/blob/develop/docs/development/room-dag-concepts.md)
* #Matrix - Rooms (https://spec.matrix.org/unstable/rooms/)
### Opérations de maintenance
#### Nettoyage des 'extremites' des salons
#Synapse peut rencontrer quelques défauts dus à la nature distribuée du **DAG** répliqué.
Des **pics de CPUs** interviennent lors de la résolution d'état des salons (room).
Une opération de maintenance peut être nécessaire.
Pour récupérer **la liste des salons à nettoyer**, executer cette requette SQL :
```sql
select room_id, count(*) c from event_forward_extremities group by room_id order by c desc limit 20;
```
Puis appeler l'API dédiée à cette effet
```sh
synadm DELETE 'v1/rooms/!fzfHhoTplYBEXfWOaI:matrix.org/forward_extremities'
```
### Bug connu
#### #Synapse - 'Extremites' des salons qui grossissent
Status : Ouvert
##### Description
_Le souci est toujours celui-là : https://github.com/matrix-org/synapse/issues/1760_
Il y a toujours des **défauts** dus à la nature distribuée du DAG répliqué, et l'algo de résolution d'état pour une room qui **explose en performances quand le nombre d'extrémités** (occurrences du défaut si l'on veut) **grandit**.
##### Correction
* **opération de maintenance** régulière : Nettoyage des extremities des salons
##### Détection
* pic de CPUs
### Définitions
#### Graphe Orienté Acyclique
**English** : _Directed acyclic graph_
Grosso modo un DAG c'est un arbre dont les branches peuvent se croiser, mais qui va dans une direction globale et ne boucle pas sur lui même.
[Illustration d'un DAG Graphe Orienté Acyclique]
##### Exemples
Un historique git.
##### En savoir plus
https://fr.wikipedia.org/wiki/Graphe_orient%C3%A9_acyclique
## Licenses
CC-BY-SA
## Auteurices
* kaiyou @ acides.org (Tedomum.net)
* reminec @ acides.org (Tedomum.net)
## Versions
### v1.0.1
_Date: 18 mars 2023 | Temps : 5min_
* Corrections mineurs sur le formatage
### v1.0.0
_Date : 17 mars 2023 | Temps rédaction : 1h_
* Initialisation du document & formatage

View file

@ -0,0 +1,281 @@
# Atelier 18 mars 2023
## Très courte description
CR | Atelier | Gestion de communauté (Mastodon/Matrix), gitlab runner
## Participant⋅es
* ✅ kaiyou 🧪 [ACIDES.org](https://acides.org) 🏴‍☠️🌈 [Tedomum.net](https://tedomum.net)
* ✅ reminec 🤪 | 🧪 [ACIDES.org](https://acides.org) 🏴‍☠️🌈 [Tedomum.net](https://tedomum.net)
## Ordre Du Jour (ODJ)
* 👋 Tour de table
* 📌 reminec présente et **candidate** pour un projet **ACIDES.org**
* 📌 **mise en place d'un salon vocal** dans l'**espace Matrix** Tedomum
* 📌 **mise en place** d'un **runner gitlab** sur le cluster kubernetes **kity**
* 📌 **Build** de l'image Element via le runner
* 📌 **M.à.j** du service Element
* 👋 Conclusion | 🕑 0-10min
## Description
L'atelier a durée ~1h15
### 📝 #Candidature #ACIDES
> * reminec **présente** l'ébauche de son initiative qu'il veut animer au sein du labo [ACIDES.org](https://acides.org).
> * kaiyou **approuve l'initiative** et le fait de la ranger sous le labo [ACIDES.org](https://acides.org)
L'ébauche se compose pour le moment d'une équipe ```lost-in-learn``` sur une instance cryptpad(😍) hébergée chez deuxfleur.fr
#### Présentation
[Voir le index.md](https://git.deuxfleurs.fr/ACIDES-hlilo/hlilo-website/src/branch/develop/data/pages/index.md)
#### A faire
* 📌 Trouver un nom qui respecte la convention posée par acides.org
* 📌 Mettre en place un espace Matrix
### 📝 #Tedomum
💡 Tedomum possède un **salon public** pour les **alertes de monitoring**.
#### 📝 #Tedomum - Gestion de communauté (#COMA)
_⚠ Attention à ne pas diluer le contenu tant qu'il n'y pas nécessité de segmenter_
##### 📝 #Mastodon
###### Tâches à réaliser
* 📌 Il faut au moins distinguer 2 comptes
* **Compte COMA** : Utiliser pour la communication externe
* **Compte status des services** : Utiliser pour annoncer les interruptions de services, les services actuellement en défaut.
###### Idées
* ⚖️ Il doit être possible de brancher les alertes de monitoring sur le compte mastodon dédiés au suivis des services.
* ⚠️ _Attention toutefois à ce que le monitoring ne flood pas les envois_
##### 📝 Salons Matrix
###### Tâches abouties
* ✅ **Salon vocal/visio créé** (Le salon vocal possède une zone de tchat écrit)
* ⚠️ Le **partage d'écran** ne marche que dans le **client Web**
* ✅ Salon ajouté à l'espace matrix Tedomum
* ✅ **Ajout des droits d'admins** de reminec sur les espaces Tedomum et ACIDES.
###### Tâches à réaliser
* 📌 Revoir la consistence dans le nommage des Espaces / Salons (et leur alias) | _S'inspirer de NixOS qui joue avec une arborescence de nommage._
Le but recherché est de **favoriser la distinction** entre le **salon général**, et l'**espace d'accueil**.
#### 📝 #Tedomum #K8s #Kity
* 💡 Le noeud Bambino est le moins sollicité.
##### Tâches effectuées
* ✅ Nouveau namespace ```tedomum-runner```
* ✅ Push du travail en l'état sur le repo FluxCD (HelmChart gitlab-runner)
* ✅ Nous avons **désactivé le runner global** pour taper sur le runner nouvellement mis en place.
* 💡_Nous avons un **runner global** hébergé en **dehors kity** (sur Japet, un dédié OVH pour les builds)._
~~**runner non fonctionnel en l'état**~~
### 📝 #K8s, #Gitlab & #GitlabRunner
> * 📝 Version déployée chez Tedomum au jours de l'écriture : gitlab-v15.9.3
> * 🔗 https://docs.gitlab.com/runner/executors/kubernetes.html
#### 📝 #HelmChart | gitlab-runner
* 🔗 https://artifacthub.io/packages/helm/gitlab/gitlab-runner
##### values.yaml
* ✅ Personnalisation des valeurs suivantes :
* gitlabUrl
* runnerRegistrationToken
* runnerToken
* concurrent
* nodeSelector
_WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens._
#### Difficultés rencontrés
##### Documentation & dépréciations
La documentation gitlab est un tantinet brouillonne :
* 🚨 L'ancienne façon d'enregistrer un runner est **dépréciée**.
* ⚠️ La nouvelle façon est documentée, mais **pas encore livrée dans l'interface** (prévu pour v15.10.x)
##### Vrac de la séance
###### 🪚 Premier essai - build Element via le runner
❌ Échec - Le build est plannifié sur le noeud chez Orlinum.
💡 #Tedomum #Kity Pas de traffic sortant depuis le noeud Orlinum.
> WARNING: The 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with a 'deploy' command. For more information, see #380872 (closed)
> The register command will be preserved with some changes, which should limit the impact to users.
_nodeSelector : Page de doc en 404 https://kubernetes.io/docs/user-guide/node-selection/_
###### 🪚 Deuxieme essai
* ⚠️ Échoué car il cherche à dialoguer via ipv6, non dispo pour le moment dans le cluster.
Après investigation, c'est la résolution DNS du cluster qui échouait pour 1/3 requtes, puisqu'un des pods du cluster-dns était sur un noeud dont le DNS était configuré en IPv6 mais ne disposant pas d'IPv6.
✅ En corrigeant le resolv.conf du noeud pour fournir un nameserver en IPv4, l'ensemble est reparti.
## Connaissances
### Vocabulaire
#### 👩‍🎓 Race condition
L'un dépend de l'autre mais la dépendance n'est pas respectée pendant l'execution.
#### 👩‍🎓 COMA - COmmunity MAnagement
Gestion de communauté
### 👩‍🎓 SOPS - Secrets OPerationS (by Mozilla)
#### Très courte definition
Permets de **chiffrer/déchiffrer** du texte ou du binaire.
#### Description
Il gère nativement les formats de fichiers suivants en **préservant les clefs** :
* json
* yaml
* env
* ini
Alternative à :
* ansible-vault
* HashiCorp vault
#### Voir plus loin
* https://blog.stephane-robert.info/post/devops-secret-sops/
### 👩‍🎓 lunarVim
Une configuration de neoVIM
### 👩‍🎓 bat
#### Courte Description
Clone de ```cat```, avec :
* La gestion de coloration de syntaxique
* l'intégration de git
* l'affichage des caractères non imprimable
* pagination automatique
#### Voir plus loin
* https://github.com/sharkdp/bat
## FAQ
### #Gitlab & #GitlabRunner
###### ❓ Est-ce que le nodeSelector est pour les builds ou pour le runner lui même ?
###### ❓ Comment choisir les noeuds sur lesquels les builds seront lancées ?
###### ❓ Comment on crée un runner via l'interface ?
L'ancienne façon est encore disponible, mais dépréciée.
La nouvelle est documenté mais pas encore livrée dans l'interface.
https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/
> Gitlab 15.9.x ne possède pas encore l'UI pour faire face à la dépréciation de l'ancienne façon.
> _Prévue pour v15.10.x_
###### ❓ Comment on configure un #GitlabRunner via le #HelmChart ?
* ✅ Il faut écrire un ```config.toml```,
* 🚨 c'est **déprécié** via le ```values.yaml```.
## #Astuces
### #Matrix
#### 💡 Salon de monitoring
Comme les salons sont distribués et répliqués entre les instances, il est recommandé de **rejoindre le salon de monitoring** avec un **2e compte hébergé ailleurs** que sur l'instance monitorée. Ainsi, les **messages seront consultable** via cette autre instance.
## Post-Scriptum
### 🤔 Evaluer la valeur ajoutée de l'atelier et du rendu
* la **pertinence d'un tel document**
* la pertinence de **prendre un temps imprévu** pour aborder des **sujets connexes** à l'atelier si ça **consomme du temps précieux** pour la réalisation de la **tâche initialement prévue**
### ⚖️ Réutilisation du contenu
Il y a t'il moyen de nourrir, extraire, et faciliter une curation de contenu via une convention qui se dessine :
* Objet
* Duree
* Topos
* Tâches
* aboutie
* effectuée
* à réaliser
* Difficultés
* Connaissances
* Vocabulaire
* Astuces
* FAQ
Dans l'idée, ça nourrit au moins une section 'Quoi de neuf chez Tedomum' via l'```objet``` qui se transformerait en ```titre``` et le ```topos``` en ```description```.
### ❓ Est-ce pertinent de vouloir s'approcher d'une documentation croisée dans un atelier où il est prévu de tomber des tâches ?
Choix cornélien qui se dessine :
* Peut-être opportun de ralentir un chouilla le rythme ?
* Au contraire, laisser filer
* Peut-être un mélange des 2 au cas par cas ?
## Licenses
CC-BY-SA
## Crédits
### Auteurices
* reminec 🤪 | 🧪 [ACIDES.org](https://acides.org) 🏴‍☠️🌈 [Tedomum.net](https://tedomum.net)
### Relectures
* kaiyou
## Versions
### v1.1.0
_Date: 30 mars 2023 | Temp rédaction : 30min | reminec_
* reformatage avant publication
### v1.0.0
_Date : 18 mars 2023 | Temps rédaction : 3h30 | reminec_
* Prise de notes durant l'atelier
* Interviews de kaiyou pour approfondir
* Enrichissement
* Formatage
## Remerciements
**kaiyou @ acides.org (Tedomum.net)** | Pour son expertise et le temps pris pour s'arrêter sur des sujets connexes à l'atelier.

View file

@ -0,0 +1,62 @@
# Pseudo
## Très courte description
Une ligne
## Description
Un ou plusieurs petit paragaphes.
## Occupations
### Une activité
Description de l'activité
### Une autre
### ...
## Profiles
* Fédiverse
* [Mastodon](https://xxx.yyy/@pseudo) | `@pseudo@xxx.yyy`
* Matrix
* Profils:
* `@pseudo:xxx.yyy`
* Me retrouver :
* [adresse](https://liendinvitation)
* forges
* https://git.xxx.yyy/pseudo
* forum
* https://forum.xxx.yyy/u/pseudo
## Détails
* 👀 Observe
* #...
* 🤔 Intention
* #...
* 🧐 Intéresse
* #...
* 🤓 Maitrise [---/+++]
* [-+] #...
* 🛸 Découvre
* #...
* 🪚 Pratique [---/+++]
* [-+] #...
* 😤 S'Indigne
* #...
* 😊 Espère
* #...
* ⚠️ Propension
* #...
* 😕 Remarque
* #...
* 🤨 Constate
* #...

View file

@ -0,0 +1,211 @@
# reminec
## Très courte définition
Ne travail plus à sa propre perte 😕 | Part vite dans la lune pour tout le reste 🤩
## Description
Trouve qu'on s'y prend gauche pour nos _engagements_.
Succincte liste :
1. Le rapport à l'autre, _c't'honte_ !
2. Le bouleversement climatique
3. Les tensions sur des _ressources_ finies
Nous trouvant bien malàdroite ;
Tente des trucs pour
* Faire face au 2. et 3.
* En commençant par régler le 1.
* Rester calme _~~Vieux cons !~~_
Parole de gaucher !
## Occupations
### ACIDES/hlilo 🧪 Labo [ACIDES.org](https://acides.org) 🏴‍☠️🌈 [Tedomum.net](https://tedomum.net)
#### Courte Description
_Hyper lost in learning, Overview_
> `ACIDES/hlilo` est une initiative pour tenter de facilité la croisée entre l'apprentissage et la pratique.
> C'est pour l'instant un endroit où quelques zinzins contribuent ensemble ;
> Ça pourrait aussi être un bidule culturel où l'on fabrique des trucs.
>
> _Bref ... ;_
Ça se passe sur l'**espace Matrix [#acides-hlilo:tedomum.net](https://matrix.to/#/#acides-hlilo:tedomum.net)** et les **salons recommandés**.
#### Voir aussi
> Laboratoire dinformatique démocratique, éthique et solidaire
>
> ACIDES (actions collectives pour une informatique démocratique, éthique et solidaire) est une initiative de soutien technique et logistique aux actions collectives locales pour une informatique plus adaptée à notre société et nos besoins. Plus démocratique, donnant à chacun sa place dacteur plutôt que dutilisateur, sa responsabilité et le contrôle des moyens mis en œuvre pour répondre à ses besoins. Plus éthique, au-delà de la licéité, en proposant et en reposant sur des modèles moraux dont les hypothèses, les choix et les limites sont explicités. Plus solidaire, en renforçant les possibilités et en incitant à lentraide entre acteurs modestes de lInternet.
>
> ACIDES na pas de forme légale établie. En tant que collectif de fait, nous privilégions laction : il sagit de participer pour y disposer dune voix. Toute forme de participation est la bienvenue, pas exclusivement technique ; la critique et les retours dexpérience sont les formes les plus précieuses de participation sur lesquelles nous comptons. En revanche, nous ne menons pas de réflexion exclusive, il sagit de prototyper, de publier, de documenter, afin de contribuer aux actions collectives.
### Offlure2023 (12-14 mai 2023)
#### Description
_Site en chantier, sortira-t-il un jour ?_
Offlure2023 est un évènement à côté du [NESP2023](https://www.nesp2023.com/appel-national).
> [NESP2023](https://www.nesp2023.com/appel-national) :
>
> _Nous, collectifs, coordinations, organisations syndicales, associatives et politiques, décidons de converger pour reconquérir nos services publics afin de faire de la lutte pour leur défense, leur développement et leur démocratisation un combat central pour les décennies à venir. Par cette dynamique pluraliste nous souhaitons notamment engager le débat public sur le choix de société que nous souhaitons._
[Signer l'appel !](https://www.nesp2023.com/appel-national)
### Culture & Mediation numérique
#### Description
**Accompagnement** d'un collectif _(p'tit label de musique indépendant)_ ;
Dans la **compréhension** et l'**usage** du numérique.
Ce qui devrais m'amener en toute logique à :
* Apporter une dose de **culture numérique**
* Apporter une dose d'exertises
* **documentation d'usages**
* des **conseils**
* des **formations**
* **Prendre le temps**
* Avant de déployer un outil
* Pour prendre du recul sur ceux déjà en place
* **Imaginer** des trucs
* **Pratiquer ensemble**
* Pour prendre en main les outils
## Profiles
* Fédiverse
* [Mastodon](https://mastodon.tedomum.net/@reminec) | `@reminec@mastodon.tedomum.net`
* Matrix
* Profils:
* `@reminec:tedomum.net`
* Me retrouver :
* [#tedomum:tedomum.net](https://matrix.to/#/#tedomum:tedomum.net)
* [#acides-space:tedomum.net](https://matrix.to/#/#acides-space:tedomum.net)
* [#acides-hlilo:tedomum.net](https://matrix.to/#/#acides-hlilo:tedomum.net)
* forges
* https://forge.tedomum.net/reminec
* https://git.deuxfleurs.fr/reminec
* forum
* https://forum.chatons.org/u/reminec
## Détails
* Observe
* @CHATONS
* @Framasoft
* #Education
* #Apprentissage
* #CultureTropRare
* #Malveillances
* #ACIDES
* #DesTrucsLunaires
* #PasDeMedNumSansCulture
* #ServicesDifficilementPublic
* #EtatPlusTresSocial
* #MacherSurLaTete
* #CestMieuxSurLesPieds
* #LesMafieuxBienSapes
* #ThierryBreton
* #...
* #EmmanuelMacron _(Fond du panier)_
* #LesMafieusesTropPolies
* #AnneLauvergeon
* #MyriamElKhomri
* Intentions
* #Collaborer
* #Partager
* #Pratiquer
* #Apprendre
* #FairedesTrucsCool
* #StopAuxTrucsMoches
* #EnAvant _(Vu qu'on court derrière)_
* #EcouterDeLaTechno24h _(si j'veux)_
* #CritiquesAutoCritiques
* #Penser
* #Impensées
* Intéresse
* #Fédiverse
* #EntreHebergement
* #K8s
* #WebSemantic
* #ActivityPub
* #CultureEtMedNum
* Maitrise [---/+++]
* [ - ] #Scss
* [-+] #Css3
* [ +] #Html5
* [-+] #Ansible
* [-+] #Docker
* [ +] #DockerCompose
* [-+] #Traefik
* [-+] #ApiPlatform
* [ +] #Symfony
* [ +] #Php
* Découvre
* #Coma _(COmmunity MAnagement)_
* #Pédagogie
* #Git _(Quand c'est bien fait)_
* #React
* #NextJS
* #StaticCms
* #ArchitectureLogiciel
* #GestionDeProjet
* Pratique [---/+++]
* [ +] #LinuxDebianUbuntuLinuxMint
* [-+] #Programmation
* [-+] #ArchitectureLogiciel
* [-+] #GestionDeProjet
* [-+] #COMA
* [-+] #CultureEtMedNum
* S'Indigne
* #Lâcheté
* #MauvaiseFois
* #CoupDeSang
* #PrendreDesGensPourDesCons
* #PrendreDesGensPourDesIncapables
* #OppressionsDansleBoulot
* #OppressionsToutCourt
* #QuandOnSaitPasDireOups
* Espère
* #FaireRedescendreLesSattelisés
* #FaireDecollerLesTerreATerre
* #EntreHebergement
* #AcidesHepto
* #ACidesHlilo
* #AcidesHopto
* #PleinDeReves
* #PleinDeRaves
* Propension
* #Indigner
* #Enthousiasmer
* #Sarcasme _(Cherche à bien le doser)_
* #Satire _(itou)_
* #TraitsDEsprits
* #BoireTropDeCafés
* #ManquerDeNicotine
* Remarque
* #MacherSurLaTete
* #NeSaisPasMarcherSurLaTete
* #NeVeuxMemePasEssayer
* #JeContinueDeDireQueCestUnEchec _(vu que ça n'a pas marché)_
* Constate
* #SeDroguerAuCafé
* #MarcherSurLaTete
* #CaMarchePas
* #CaFaitMalALaTete

View file

@ -0,0 +1,26 @@
# Changer l'adresse d'un salon Matrix
### Description
1. Aller dans les **paramètres du salon**
2. Trouver la section `Adresses des salons` et les `Adresses publiées`
1. **Dépubliée l'adresse principale** (en sélectionnant `non spécifiée`)
2. **Afficher** la liste des **adresses locales** (`en savoir plus `)
1. **Supprimer** l'ancienne adresse
2. **Ajouter** votre nouvelle adresse
3. **Vérifier** qu'elle est publiée où la **publier** si nécessaire.
## Licenses
CC-BY-SA
## Auteurices
* reminec 🤪 | 🧪 [ACIDES.org](https://acides.org) 🏴‍☠️🌈 [Tedomum.net](https://tedomum.net)
## Versions
### v1.0.0
_Date : 19 mars 2023 | Temps rédaction : 20min | reminec_
## Remerciements

View file

@ -52,7 +52,7 @@ Voir la section dans [Description](#description)/[Fonctionnement](#fonctionnemen
_**C'est encore l'binz ici 😬**._
0. L'idée est pour le moment **rejoindre l'espace Matrix [#acides-hilo:tedomum.net](https://matrix.to/#/#acides-hlilo:tedomum.net)** et les **salons recommandés**
0. L'idée est pour le moment **rejoindre l'espace Matrix [#acides-hlilo:tedomum.net](https://matrix.to/#/#acides-hlilo:tedomum.net)** et les **salons recommandés**
1. Vous arrivez depuis l'espace CryptPad(😍) ?
* 🔗 _Bientôt un guide pour rejoindre Matrix_
* #Ateliers prévu semaine 14 pour l'écrire (https://framadate.org/EHioQxwDwwSrxopR)