8.9 KiB
Atelier 18 mars 2023
Très courte description
CR | Atelier | Gestion de communauté (Mastodon/Matrix), gitlab runner
Participant⋅es
- ✅ kaiyou 🧪 ACIDES.org 🏴☠️🌈 Tedomum.net
- ✅ reminec 🤪 | 🧪 ACIDES.org 🏴☠️🌈 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.
- kaiyou approuve l'initiative et le fait de la ranger sous le labo 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
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
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
👩🎓 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
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 🏴☠️🌈 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.