Compte-rendu de l’AG de JabberFR du 2020-01-13

Détails de la tenue

  • Date : 2020-01-13
  • Heure de début : 19h30
  • Président de séance : erwanb
  • Secrétaire de séance : mathieui
  • Nombre de membres présents : 8

Ordre du jour

  • Bilan d’activité pour 2020
  • Bilan financier
  • Nouvelles actions et projets à définir
  • Renouvellement du bureau

Bilan d’activité (mathieui)

Serveur

Un gros incident : https://news.jabberfr.org/2020/05/compte-rendu-dincident-du-22-04-2020-et-suivants/

5 incidents mineurs :

Et 2 maintenances planifiées :

Wiki

  • Réouverture des inscriptions
  • Amélioration significative des performances
  • Purge du spam
  • Gros travail de réécriture de pages et de modernisation principalement par anubis, Nicoss et elghinn

Site Web

  • Travail sur l’accessibilité (via l’outil WAVE notamment), ainsi que l’adaptativité aux mobiles
  • Thème sombre (avec détection automatique)
  • Ajout de la page de demande d’hébergement qui nous notifie des demandes
    Associé au dernier élément, la réouverture publique des hébergements de domaine. Pour rappel, ce service offert par JabberFR permet de nous déléguer l’hébergement d’un domaine XMPP (sous la forme d’un virtualhost sur le serveur JabberFR).

Autres

  • Mise à jour des CGU pour plus de transparence sur les sauvegardes : https://wiki.jabberfr.org/CGU
  • Mise en place d’un serveur TURN/STUN et sa configuration dans Prosody pour permettre aux clients qui l’implémentent de passer des appels audio ou vidéo.
  • Lutte encore et toujours contre le spam.

Questions sur le bilan d’activité

  • Naywel demande si meet.jabberfr.org fonctionne à nouveau
    • Réponse: Non, mais c’est prévu de le remettre sur pieds
    • Link Mauve précise également qu’on peut désormais faire du chat audio/vidéo à deux avec les clients compatibles sans passer par Jitsi Meet
  • Manu demande s’il y a des statistiques disponibles sur les comptes actifs, salons, etc

Bilan financier (erwanb)

JabberFR a commencé l’année avec 229.49€ sur le compte en banque, et la termine avec 310,53€.

Objectifs précédents (pour 2020)

  • L’association règle désormais les frais d’hébergement du serveur (18€/mois) par prélèvement SEPA, alors qu’auparavant c’était réglé par mathieui
  • Cela crée donc une problématique qui est de sortir 18€ tous les mois, ce qui actuellement n’est pas possible sur le long terme (un an représente les 2/3 de ce qu’on a en banque), on a donc pensé à des façon de simplifier la collecte de dons et de cotisations.
  • Nous avons donc créé un compte sur HelloAsso, qui va permettre d’adhérer et de donner très simplement via les formulaires suivants :

HelloAsso ne nous coûte rien, et repose sur une donation « volontaire » des gens qui nous envoient de l’argent. Et en plus de la simplicité (ajout de bénéficiaire dans sa banque, récupération du rib), il nous permet surtout d’accepter les adhésions & donations par carte bancaire.

On peut et on pourra toujours adhérer ou donner sans passer par ce service bien entendu, mais on espère que ça facilitera les différentes démarches qui sont actuellement fastidieuses, et ainsi augmenter le nombre et le montant des cotisations.

Il nous faudra un minimum de 216€ tous les ans sur le compte, uniquement pour le serveur; pour information, les cotisations reçues en 2020 s’élèvent à 177€, ce qui est presque suffisant.

Les problèmes liés au COVID pourraient revenir à la normale à un moment, et on va donc pouvoir à nouveau participer à des évènements, salons ou encore imprimer des goodies/stickers/flyers ou n’importe quoi d’autre. Cela nécessitera d’une plus de ressources financières, mais également un moyen d’accéder facilement à l’argent de l’association (le compte bancaire ne nous permet pas d’autres moyens de paiement que le chèque ou le prélèvement SEPA). Dans cette optique, un compte Paypal a été ouvert.

Les ressources financières et le nombre d’adhérents sont en hausse par rapport à l’année dernière, et nous avons démultiplié nos façons de recevoir et de dépenser de l’argent, ce qui devrait simplifier la suite.

Questions

  • Pulkomandy demande si on envisage un compte Liberapay
    • erwanb et mathieui sont pour
  • Nicoss suggère de faire apparaître les nouveaux moyens de contribution sur la page d’accueil du site
    • erwanb répond que c’est prévu
  • manu demande si le bilan financier pouvait être mis en ligne et pas seulement dans les AG, pour plus de transparence
  • pitchum suggère de faire peut-être une « jauge des finances », Pulkomandy également en citant le cas de Haiku
    • mathieui répond que c’est prévu, mais que jusqu’à maintenant le bilan était surtout « adhésions – frais de tenue de compte ». Un bilan ne peut par contre être fait que mensuellement car c’est la seule vue que nous avons sur les comptes.
    • erwanb est d’accord pour dire que c’est une bonne idée et qu’on va s’y atteler

Nouvelles actions et projets à définir (Link Mauve)

Présentation des projets en cours

  • Améliorer l’accès au service d’hébergement de domaines. Le problème principal est l’absence de visibilité et de contrôle que le propriétaire du domaine peut avoir dessus. On pense notamment à ouvrir/fermer les inscriptions, pouvoir inviter des gens, etc. Depuis quelques temps on travaille sur xmpp-account-manager, un gestionnaire de compte par et pour XMPP qui permet d’aider un domaine (https://linkmauve.fr/xmpp-account-manager/build/fr/ pour une démo).
  • On voudrait aussi améliorer le mécanisme de création de compte web, en utilisant le système conçu par le projet Snikket.
  • Rétablir notre instance Jitsi Meet
  • Demande d’aide si quelqu’un veut écrire un système d’identification OAuth pour le wiki pour laisser les gens utiliser leur JID pour l’éditer
  • Améliorer l’utilisabilité du site (et donc trouver des designers ou testeurs)

Questions

  • Pulkomandy demande si les appels à contribution sont visibles sur le site car l’AG n’est pas forcément le meilleur moyen de communication
    • Link Mauve indique que ça fait un peu partie de la discussion mais note la suggestion
  • Arnaud J. demande si le site est statique
    • Link Mauve répond avec l’adresse du dépôt git (qui n’est pas tout à fait à jour)
  • pitchum demande si on a envisagé de passer un appel à l’aide (par exemple sur Twitter) pour trouver des designers
    • mathieui et Link Mauve indiquent qu’il faut surtout des gens spécialisés en UX
  • discussion sur les frameworks pour l’organisation du contenu

Renouvellement du Bureau

Proposition de reconduite du bureau actuel, avec :

  • Link Mauve en tant que président
  • mathieui en tant que secrétaire
  • erwanb en tant que trésorier

La proposition de bureau est votée à l’unanimité.

Un appel à administrateurs est passé de nouveau, pour venir s’ajouter à Simon.

Nicoss accepte la proposition, et est élu à l’unanimité.

Compte-rendu d’incident du 22/04/2020 (et suivants)

Après les deux semaines compliquées qui viennent de passer pour JabberFR et la plupart des problèmes résolus, il est temps de faire le point sur la situation ainsi que d’expliquer en détail ce qu’il s’est passé.

Pour les gens qui ne veulent pas le détail technique et horodaté, sachez que tout JabberFR a été déplacé vers un serveur dédié chez Ikoula, quand il était précédemment chez Online depuis 2016, et que tout fonctionne à priori.

Historique

Le 21/04 : Tout à commencé le 21 avril par la dernière faille OpenSSL, qui permet de potentiellement provoquer un crash de service depuis un client en TLS 1.3, ce qui est assez gênant. Nous avons donc planifié une maintenance afin de relancer les services, et par la même occasion redémarrer avec un noyau LTS plus récent. Pour ça nous avons attendu la mise à disposition d’un paquet ArchLinux avec le correctif, qui est arrivé dans la nuit du 21. Une maintenance est planifiée.

Le 22/04 :

  • 13h25 : Un redémarrage du serveur est effectué, à la suite de la mise à jour des différents paquets.
  • 13h35 : Le serveur est toujours indisponible, nous basculons donc en mode « rescue » afin de diagnostiquer le problème
  • 13h35-15h50 : En dehors de quelques problèmes mineurs de fsck rapidement corrigés, nous ne trouvons rien de particulier. Quelques tentatives de reboot infructueuses et nous décidons d’ouvrir un ticket au service client pour éclaircir la situation.
  • 17h50 : Il y a visiblement un problème hardware avec notre disque, nous devons donc faire une sauvegarde, les autoriser à changer le disque, puis une réinstallation.
  • 18h30 : Mise en place d’un serveur temporaire avec l’espace disque suffisant chez Scaleway pour transférer les données, pendant qu’on trie un peu ce qu’on doit garder ou laisser tomber
  • 23h40 : Fin du transfert des données (ironiquement pas limité par la bande passante mais les entrées/sorties disque, les données Prosody étant composées de plusieurs centaines de milliers de fichiers mais faisant seulement 15 Gio, 1,7Gio après compression zstd)
  • 00h10 (le 23) : Demande de changement de disque faite auprès du service client
  • 01h25 (le 23) : Le disque a été remplacé

Le 23/04 :

  • 12h00 : Après avoir tenté en vain de démarrer sur une image ISO spécifique pour faire une installation personnalisée, il est décidé d’installer l’image ArchLinux standard puis de refaire une installation propre en chroot depuis le système de secours.
  • 16h06 : Après avoir fait l’installation, le système ne démarre toujours pas, et nous tombons pile pendant une plage de maintenance planifiée de la « console » online.net (qui contient à la fois les outils d’administration et de contact du support technique)
  • 17h00 : À la vue des nombreux problèmes rencontrés et après une journée complète d’indisponibilité, nous décidons de mettre en place un service temporaire ailleurs pour permettre une continuité de service, nous décidons de prendre une seconde machine temporaire (moins chère car avec moins d’espace disque et de ressources).
  • 18h47 : Le service principal est de retour sur l’IP 51.15.92.143, avec les enregistrements DNS à jour.
  • 20h00 : Le serveur Online est à nouveau disponible, nous mettons en place petit à petit notre installation personnalisée et rapatrions les backups.
  • 21h35 : Nous avions oublié de désactiver la limite de sécurité du nombre de fichiers ouverts par Prosody, qui a été assez vite atteinte, il est donc brièvement indisponible avant de revenir.

Le 24/04 :

  • 15h09 : Fin de la copie des backups, extinction du serveur Scaleway temporaire (utilisé uniquement pour stocker les backups).
  • 18h48 : Prosody arrête de répondre sur le serveur temporaire, suite à un bug dans un module tiers très utilisé, il n’est pas redémarré tout de suite afin d’enquêter sur le problème.

Le 25/04 :

  • 17h05 : L’installation du système est finalisée, mais un problème d’IPMI nous empêche d’y accéder après une demande de redémarrage.
  • 19h45 : Après avoir enchaîné les problèmes de redémarrage et un serveur à nouveau indisponible, la décision est prise de changer d’hébergeur plutôt que continuer avec un serveur plutôt vieux dont l’état matériel ne devrait pas aller en s’améliorant (et faute de trouver une offre équivalente au même endroit). Il se trouve qu’Ikoula avait à ce moment précis une promotion sur son serveur dédié Agile S qui offre la même configuration que celui qu’on avait chez Online, avec un CPU plus récent, la possibilité d’avoir un SSD, et un GPU inutile, pour 1€ de moins TTC.

Le 27/04 :

  • 22h10 : Prosody est à nouveau indisponible à cause d’un bug dans un module tiers. Le module est désactivé pour l’heure.

Du 26/04 au 08/05 : Mise en service progressive du serveur Ikoula, avec restauration des backups, tests, et amélioration de nos processus. Les services web sont les premiers à être remontés, avec un reverse-proxy depuis la machine temporaire. Nous y allons doucement car les jours précédents ont été un peu stressants.

Le 08/05 :

  • Le service est arrêté comme annoncé un peu après 22h, afin de garantir l’intégrité des données sur le nouveau serveur. Les enregistrements DNS sont mis à jour (on avait au préalable mis un TTL de 10 minutes).
  • 22h57 : Le service est lancé sur le nouveau serveur.
  • 23h01 : Le service est relancé avec les bons certificats 😀
  • 23h40 : Prosody est à nouveau en carafe à cause de module tiers, car nous avons oublié de les désactiver sur le nouveau serveur.
  • 23h42 : Le service est à nouveau disponible.

Détails de la nouvelle installation

Nous restons sous ArchLinux, qui est le système que nous savons le mieux administrer et qui nous apporte beaucoup de flexibilité.

En revanche, comme nous étions de toute façon partis pour faire une réinstallation complète dès le 22/04, nous avons décidé de mettre en place une configuration plus complexe mais qui sécurise plus les données de nos utilisateurs tout en nous facilitant la vie.

Après un certain temps passé dans des images de secours fournies par les opérateurs pas forcément aussi utiles qu’on le voudrait, on a également pris la décision de garder un système ArchLinux en clair de 5 Go, qui nous permet de démarrer dessus pendant les phases de maintenance longues, de monter les partitions du système principal voire de kexec dedans afin d’éviter un reboot et/ou des modifications du bootloader en série en cas de panne.

L’idée dès le départ a donc été de mettre en place un système chiffré via LUKS déverrouillable à travers SSH (nécessitant donc une clef SSH et la phrase de passe LUKS). Sous ArchLinux c’est plutôt simple à mettre en place à travers mkinitcpio-systemd-tool (nous comptons documenter un peu mieux la procédure pour pouvoir permettre à n’importe qui de faire de même).

À l’intérieur de ce volume LUKS chiffré, nous avons choisi une partition BTRFS, qui nous permet entre autre de gérer dynamiquement des subvolumes (partitions internes à la partitions, qui peuvent avoir des options différentes telles que de la compression à la volée, déduplication, etc), et qui permet des transferts de partitions incrémentaux sur le réseau plutôt sympathiques, par exemple « ssh serveur btrfs send | btrfs receive » (dd fonctionne aussi mais force à prendre tout l’espace alloué pour la partition, et ne permet pas de le faire en incrémental).

Le système de backups précédent utilisant duplicity était entre autres calibré pour les 100Go de backup FTP fournis par Online, ce qui n’est plus possible, il a fallu donc ré-évaluer nos possibilités. Pour le moment les backups sont donc effectués via borg, vers un espace mis à disposition sur un serveur de mathieui en attendant de prendre une décision, et englobent plus qu’auparavant (intégralité des données de prosody + configurations des logiciels dans /etc + données httpupload) pour un total d’une quarantaine de Go. Ils sont bien sûr chiffrés et la clef n’est pas présente sur le serveur distant.

Nous avons également mis en place etckeeper, plus pour garder une trace des changements (et ne pas les oublier lors de la prochaine réinstallation) que pour s’en servir comme point de restauration ou backup.

Conclusion

Cet incident nous aura permis de constater que la migration est plus simple qu’auparavant, mais qu’il nous faut un moyen de redondance rapide en cas de panne majeure du serveur principal. Les backups plus complets devraient être un bon pas dans cette direction, idéalement nous pourrions périodiquement faire un btrfs send/receive mais cela aurait un coût opérationnel trop important (payer un autre serveur en permanence en plus du principal).

Nous allons prendre le temps de faire des tests dans les semaines à venir pour voir si on peut faire repartir un service opérationnel à partir de ces backups en cas de grosse panne dans des délais raisonnables (en dessous de 2h si possible).

Pour les domaines utilisateurs

Les administrateurs de domaines « utilisateurs » (c’est à dire d’un service qui dont nous avons la gestion du service XMPP mais pas la main sur le DNS) sont invités à mettre à jour leur enregistrement DNS pour un CNAME qui pointe sur jabberfr.org, plutôt qu’un A qui pointerait sur une IP, ou un CNAME qui pointerait vers im/im2.apinc.org.

Compte-rendu de l’AG de JabberFR du 2019-10-09

Détails de la tenue

  • Date : 2019-10-09
  • Heure de début: 19h30
  • Président de séance : xbright
  • Secrétaire de séance : mathieui
  • Nombre de membres présents : 8

Ordre du jour

  • État des lieux des adhésions
  • Renouvellement du bureau
  • Bilan financier
  • Bilan de l’activité & activités prévues
  • Recrutement d’administrateur⋅ice⋅s

Déroulement

État des lieux des adhésions

On comptabilise 26 adhérents au total, dont environ 8 à jour de cotisation. Le montant des cotisations est plutôt supérieur au montant minimum requis, ce qui est une bonne chose.

Bureau

Le bureau précédent était composé de :

  • elghinn (président)
  • Omega (secrétaire)
  • xbright (trésorier)

Link Mauve et Jérémie étaient eux comptés parmi les administrateurs de l’association.

Un nouveau bureau est donc proposé, composé de :

  • Link Mauve (président)
  • mathieui (secrétaire)
  • xbright (trésorier)

Le nouveau bureau est élu à l’unanimité.

Bilan financier

Il y a à l’heure de l’AG 189.42€ présents sur le compte de l’association.

mathieui paye actuellement les frais d’hébergement, plusieurs pistes pour réduire les coûts sont proposées, qui nécessitent toutefois une simplification de la réinstallation de tous les services et l’import des données.

Bilan d’activité

L’activité de l’association a été principalement de maintenir et faire évoluer le serveur, en configurant ou écrivant les logiciels nécessaires, ainsi que représenter la communauté JabberFR au travers de différents évènements autour du libre, comme les RMLL ou le Capitole du Libre. JabberFR aura un stand au Capitole du Libre à Toulouse en Novembre 2019.

Recrutement d’administrateur⋅ice⋅s

Suite à la demande pour de nouveaux administrateurs (Link Mauve étant devenu président et Jérémie ayant arrêté son implication), Minos se propose et est élu à l’unanimité.

Discussion et questions libres

  • Nicosss suggère d’avoir des bulletins d’adhésion imprimés pour les évènements
  • mathieui propose de passer à helloasso pour gérer les adhésions
  • Arnaud J. fait remarquer l’existence de SimpleAsso qui est libre, mais qui nécessite plus de travail d’intégration
  • Arnaud J. indique qu’il aimerait être administrateur quand il aura du temps libre, c’est dûment noté.

Heure de fin: 20h55

Adhésion de JabberFR à CHATONS

L’association JabberFR fait maintenant partie du Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires. Nous arrivons donc avec la portée numéro quatre.

Cette adhésion est une suite logique de la démarche que JabberFR a toujours défendu : fournir un service Jabber de référence tout en accompagnant toutes les démarches indépendantes de création de serveurs et de communautés auto-hébergées.

N’hésitez pas à vous lancer, et rejoignez-nous sur le salon jabberfr@chat.jabberfr.org.

Ouverture d’un service de statut

Bonjour à toutes et à tous.

JabberFR se dote d’un outil de gestion de statut afin de pouvoir avoir en un coup d’œil l’état des services ainsi que les maintenances prévues.

Nous utilisons pour cela une instance de Cachet hébergé avec l’offre gratuite chez Alwaysdata, afin que le service soit disponible même si nous avons de grosses difficultés sur le serveur principal (ce qui est, quand même, un des objectifs).

Les données sont tout de même rentrées à la main, donc les mises à jour mettront le temps que nous nous rendions compte du problème, ou qu’un utilisateur nous le signale.

Nous n’abandonnerons bien sûr pas le blog pour les annonces de maintenance ou compte-rendus d’incidents, mais le nouveau service permet d’accéder aux informations importantes plus rapidement.

Le service est disponible sur statut.jabberfr.org, n’hésitez pas à vous abonner au flux RSS.

Maintenance du jeudi 13 juillet 23h50

Bonjour à toutes et à tous !

Le serveur sera redémarré brièvement ce jeudi 13 juillet à 23h50 afin d’opérer quelques ajustements découlant de l’incident du 19 juin, ainsi qu’une mise à jour de sécurité.

L’opération devrait être assez rapide, et nous tiendrons comme d’habitude ce billet à jour.

Mise à jour :

  • 23h50 : début de la maintenance
  • 23h58 : retour du serveur en ligne
  • 00h02 : constatation de problèmes techniques causant des erreurs aléatoires
  • 00h16 : redémarrage de prosody, retour à la normale

Création d’une page « Certificats »

Le passage aux certificats Let’s Encrypt nous offre la possibilité d’avoir des certificats valides et à jour gratuitement, ce qui est une très bonne chose. En revanche, un nombre non négligeable de clients affichent des messages d’avertissement à chaque changement, même si le certificat allait être périmé et que le nouveau est valide.

Dans ce cas, ou pour les gens qui préfèrent juste vérifier les empreintes (fingerprint) de certificat à la main, le travail de Zaak nous a permis de mettre en place une page « Certificats » qui affiche les empreintes des certificats utilisés par JabberFR pour son service XMPP.

Cette page est disponible à l’adresse suivante : https://jabberfr.org/certificats/.

Le code source de l’outil qui la génère est disponible ici : https://github.com/Zaaaak/show-certificate.

Maintenance du jeudi 8 septembre 2016

Pour résoudre un problème de fuite de mémoire, ainsi que quelques bugs (tels que des statistiques faussées et autres détails), le serveur XMPP va être redémarré ce jeudi 8 septembre autour de 23h30.

La reprise du service devrait être immédiate ou peu s’en faut, mais comme d’habitude les mises à jour (si nécessaire) se feront via des mises à jour de ce billet.

Édition du 08/09/2016 23h33 : tout s’est déroulé comme prévu, les services sont opérationnels.