Changement des conditions d’utilisation de Mattermost OSS

Salut à tous·tes !

Je suis Gaëtan de chez Picasoft. On vient de découvrir après la mise à jour de Mattermost vers 9.5 LTS qu’il y a maintenant une limite du nombre de comptes actifs sur une instance fixée à 10 000 comptes dans la version OSS (Team Edition).

Notre instance a passé ce seuil courant 2023 (actuellement on a un peu moins de 10500 comptes), et les comptes administrateurs ont maintenant un bandeau d’erreur permanent pointant sur cette page : Mattermost error codes — Mattermost documentation
Les raisons invoquées nous semblent clairement abusives, on n’a pour l’instant aucun problème de performance sur notre instance, qui tourne sur un serveur avec un i5-6500, 16Go de RAM sur cette VM, PostgreSQL 15, et plein d’autres services sur cette même machine.

On va peut-être essayer de voir si on peut désactiver ou changer cette limite en compilant nous-même Mattermost. Si des personnes ont déjà tenté l’expérience, on aimerait bien savoir à quel point c’est complexe à réaliser.

S’il y a ici des CHATONS avec des «grosses» instances Mattermost, faîtes bien attention à cette nouvelle version. Je suppose que l’instance de Framasoft (Framateam) est aussi concernée par ce changement.

Amicalement,

Gaëtan

6 « J'aime »

Merci pour l’avertissement !

On utilise le Mattermost shippé avec Gitlab dans leur paquet Omnibus. Conséquence : on est encore en 9.4 (peut-être à cause de ce changement ? Genre Gitlab réfléchirait à quoi faire de ça ?).
Nous ne sommes donc pas encore concernés, mais j’imagine que ça ne saurait tarder.

On va regarder la compilation, oui. clairement.

2 « J'aime »

Tant que la limitation ne fait que mettre un warning dans les logs côté serveur et afficher une popup aux admins, le souci devrait être simple à régler :

  1. Forker GitHub - mattermost/mattermost: Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
  2. Tripatouiller la fonction shouldShowUserLimitsAnnouncementBar pour qu’elle retourne toujours false
  3. Compiler le front-end et l’utiliser à la place de l’officiel (cf la doc)

Quand il y aura une limite forte au niveau serveur, ça sera une autre affaire.

1 « J'aime »

C’est une toute petite constante à changer !

J’ai regardé, j’ai cru comprendre que le frontend query le serveur pour savoir si la limite est dépassée, donc normalement y’a que cette constante à changer.
J’ai essayé de voir si c’est possible d’éditer directement l’exécutable, mais je trouve pas comment faire ça simplement, donc go recompiler :yum:

3 « J'aime »

C’est plus facile de modifier et recompiler le frontend que le backend, à mon avis. Déjà vu qu’ils donnent une marche à suivre pour utiliser un frontend customisé.

1 « J'aime »

On considère une 3e option : override via le reverse proxy la route /api/v4/limits/users pour qu’elle renvoie un JSON statique comme ça par exemple :

{"maxUsersLimit":50000,"activeUserCount":10439}

D’ailleurs j’ai vérifié dans le code, et il me semble bien que le bandeau pour les admins est le seul comportement qui change une fois que la limite est dépassée.

4 « J'aime »

C’est ce qu’on a fait côté Picasoft du coup (commit).

Ça commence à se verrouiller de plus en plus : mattermost/server/channels/app/limits.go at master · mattermost/mattermost · GitHub

Et User limit enforcement (#26511) · mattermost/mattermost@b02d634 · GitHub, qui semble bloquer la création de compte si on dépasse la hard-limit.

Et pour lire plus en détails les raisons selon Mattermost : Feedback on Collaboration for Mission-Critical Work - #9 by it33_mattermost - Feedback - Mattermost Discussion Forums

@Chosto s’est motivé·e à faire avancer la discussion ! On attend leur réponse, sans grandes attentes.

1 « J'aime »

En attendant, à Framasoft, on a décidé de recompiler Mattermost en faisant sauter la limite (enfin, pas vraiment, mais on met une limite très, très haute) :slightly_smiling_face:

Liens :

2 « J'aime »

Juste un petit mot pour dire qu’on a renommé notre fork en Mostlymatter¹, suite à « Does Framasoft have a roadmap to change the name of the fork, so the IP would then be clean? ».

Les liens sont maintenant :

@Chosto, si tu veux bien dire ça au gars de Mattermost sur le forum, ce serait sympa (pas envie d’ouvrir encore un compte). Merci :slight_smile:

¹ quoi, comment ça, je me suis pas foulé sur le nom ? C’est bien vrai :stuck_out_tongue:

3 « J'aime »

On peut passer de mattermost à mostlymatter facilement ?
Les applications mobiles marchent avec ?

Normalement, y a qu’à remplacer le binaire de mattermost par celui de mostlymatter. L’interface web continuera à afficher Mattermost comme nom de soft, sauf dans le « À propos »

À noter :

  • on n’a pas encore testé mostlymatter. On a juste remplacé mattermost avec les binaires de mattermost recompilés sans la limite, mostlymatter a qq modifications en plus mais normalement y a pas de raison que quoi que ce soit se passe mal
  • on attend la màj de Gitlab qui amènera Mattermost 9.11 pour passer à Mostlymatter (notre Mattermost est installé via le paquet Gitlab Omnibus donc on suit ses montées en versions, mais on prévoit un de ces quatre, quand j’aurais le temps, de passer à une installation standalone de Mattermost).
2 « J'aime »

Ah bah on va pouvoir tester : y a une version bugfix de mattermost qui vient de sortir pour la 9.10 (la version qu’on utilise, donc), donc on va pouvoir utiliser le build mostlymatter 9.10.2 sur Framateam.

@Chosto Plus besoin de répondre sur le forum de Mattermost, j’ai répondu.