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 Likes

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 Likes

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 Like

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 Likes

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 Like

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 Likes

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.