Différences
Ci-dessous, les différences entre deux révisions de la page.
technique:adminserv:mattermost:change_team_url [2023/11/25 01:23] – créée qduchemi | technique:adminserv:mattermost:change_team_url [2023/11/25 01:30] (Version actuelle) – qduchemi | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ## Changer l'URL d'une équipe | ||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | Depuis que la gestion des redirections est gérée [côté Traefik](https:// | ||
+ | |||
+ | Cette opération se fait en deux temps. | ||
+ | |||
+ | ### Changement en base de données | ||
+ | |||
+ | On se connecte à la base de données sur la machine où tourne Mattermost : | ||
+ | |||
+ | ```bash | ||
+ | # Le nom du conteneur peut changer, voir le fichier Compose de Mattermost | ||
+ | docker exec -it mattermost-db bash | ||
+ | # Shell PostgreSQL avec utilisateur mattermost | ||
+ | psql -U mattermost | ||
+ | ``` | ||
+ | |||
+ | Mattermost est bien fait de ce côté là : la chaîne servant à construire l'URL est stockée à un seul endroit et fait référence. Changer cette valeur est sans effet de bord, à part celui de casser les liens avant le changement (voir section suivante). | ||
+ | |||
+ | Exemple : on souhaite changer le nom de l' | ||
+ | |||
+ | ```sql | ||
+ | SELECT id, name FROM teams WHERE name=' | ||
+ | | ||
+ | ----------------------------+---------------- | ||
+ | | ||
+ | ``` | ||
+ | |||
+ | On met à jour ce nom : | ||
+ | |||
+ | ```sql | ||
+ | UPDATE teams SET name=' | ||
+ | UPDATE 1 | ||
+ | ``` | ||
+ | |||
+ | < | ||
+ | |||
+ | À partir de ce moment, l'URL `https:// | ||
+ | |||
+ | ### Mettre en place une redirection | ||
+ | |||
+ | Il faut modifier la [configuration dynamique de Traefik](https:// | ||
+ | |||
+ | En effet, Mattermost utilise le middleware `mattermost`, | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour rappel, Traefik peut appliquer des opérations entre le moment où il reçoit la requête et le moment où il la transmet à Mattermost. Ce sont des middlewares. Le type `chain` permet d' | ||
+ | |||
+ | Il suffira pour l' | ||
+ | |||
+ | ```yaml | ||
+ | mm-redirect-scenari: | ||
+ | redirectRegex: | ||
+ | regex: " | ||
+ | replacement: | ||
+ | permanent: true | ||
+ | ``` | ||
+ | |||
+ | < | ||
+ | Astuce : pour être certain·es que ça fonctionne, tu peux tester avec un exemple sur ce [bac à sable Go](https:// | ||
+ | </ | ||
+ | |||
+ | Il faut ensuite ajouter le middleware fraîchement créé au middleware Mattermost : | ||
+ | |||
+ | ```yaml | ||
+ | mattermost: | ||
+ | chain: | ||
+ | middlewares: | ||
+ | - mm-redirect-scenari | ||
+ | ``` | ||
+ | |||
+ | Et sauvegarder le fichier. Le middleware est immédiatement appliqué sans besoin de redémarrage. | ||
+ | |||
+ | Si ça ne fonctionne pas, modifier par essai/ | ||
+ | |||
+ | < | ||
+ | |||
+ | Plus qu'à commit, pousser. |