# 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.