Neutrinet issueshttps://gitlab.domainepublic.net/groups/Neutrinet/-/issues2023-05-18T10:52:16Zhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/212Configuration de Matterbridge pour recevoir les messages depuis Matrix2023-05-18T10:52:16ZHgOConfiguration de Matterbridge pour recevoir les messages depuis MatrixHgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/210Ajout de la clé GPG de Célo2023-04-08T22:14:34ZHgOAjout de la clé GPG de CéloHgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/204Suppression des metrics http_response, ping et x509_cert de telegraf2023-04-08T11:46:24ZHgOSuppression des metrics http_response, ping et x509_cert de telegrafOn les a remplacées par le blackbox exporter, elles ne sont plus utiles à présent.
Il faut vérifier si l'alerting et grafana utilisent les metrics du blackbox exporter.On les a remplacées par le blackbox exporter, elles ne sont plus utiles à présent.
Il faut vérifier si l'alerting et grafana utilisent les metrics du blackbox exporter.https://gitlab.domainepublic.net/Neutrinet/backoffice/-/issues/21Component price is truncated when estimating total price2023-03-30T20:54:50ZHgOComponent price is truncated when estimating total priceI've just noticed that, when estimating the total price, the price of each component is truncated, leaving out everything after the decimal.
For instance, if a component costs 9.99€, the price used in the calculation would be 9€...
Thi...I've just noticed that, when estimating the total price, the price of each component is truncated, leaving out everything after the decimal.
For instance, if a component costs 9.99€, the price used in the calculation would be 9€...
This is because `parseFloat` doesn't parse correctly number with a comma (it expects a floating number to have a dot), see https://stackoverflow.com/questions/7571553/javascript-parse-float-is-ignoring-the-decimals-after-my-commaHgOHgOhttps://gitlab.domainepublic.net/Neutrinet/accounting/-/issues/2Add movement categories2023-03-28T10:44:48ZHgOAdd movement categoriesLors de [cette réunion](https://wiki.neutrinet.be/fr/rapports/2023/01-30) du 30 janvier, on a parlé de rajouter quelques catégories de mouvements dans accounting. On aimerait aussi faire une distinction entre une cotisation VPN et un don...Lors de [cette réunion](https://wiki.neutrinet.be/fr/rapports/2023/01-30) du 30 janvier, on a parlé de rajouter quelques catégories de mouvements dans accounting. On aimerait aussi faire une distinction entre une cotisation VPN et un don, quand c'est possible.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/209Mise à jour de Mattermost vers v7.8.12023-03-17T12:10:21ZHgOMise à jour de Mattermost vers v7.8.1HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh/-/issues/32Git detected dubious ownership in repository2023-03-15T08:09:40ZHgOGit detected dubious ownership in repositoryThere is an error when trying to upgrade with a recent version of git:
```
ERROR The operation 'Upgrade the 'neutrinet' app' could not be completed. Please share the full log of this operation using the command 'yunohost log share 202303...There is an error when trying to upgrade with a recent version of git:
```
ERROR The operation 'Upgrade the 'neutrinet' app' could not be completed. Please share the full log of this operation using the command 'yunohost log share 20230301-204532-app_upgrade-neutrinet' to get help
```
See also Yunohost CI : https://ci-apps.yunohost.org/ci/job/13962
We just need to fix ownership…HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/203Augmentation du timeout HAProxy pour Nextcloud2023-02-12T12:10:23ZHgOAugmentation du timeout HAProxy pour NextcloudPour permettre l'upload de gros fichiers (> 1Gb). Lors de l'opération MOVE vers le S3, Nextcloud rassemble tout les chunks du fichier uploadé avant d'envoyer le tout sur le S3. Problème : cela prend plus de 2min pour des fichiers de 1.8G...Pour permettre l'upload de gros fichiers (> 1Gb). Lors de l'opération MOVE vers le S3, Nextcloud rassemble tout les chunks du fichier uploadé avant d'envoyer le tout sur le S3. Problème : cela prend plus de 2min pour des fichiers de 1.8Gb.
Avec 5min, ça passe sans problème. Mais c'est peut-être mieux d'avoir quelque chose comme 10min ?HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/205Mise à jour de la clé GPG du repo influxdb (telegraf)2023-02-12T12:04:59ZHgOMise à jour de la clé GPG du repo influxdb (telegraf)https://www.influxdata.com/blog/linux-package-signing-key-rotation/
La nouvelle clé est téléchargeable ici : https://repos.influxdata.com/influxdata-archive_compat.keyhttps://www.influxdata.com/blog/linux-package-signing-key-rotation/
La nouvelle clé est téléchargeable ici : https://repos.influxdata.com/influxdata-archive_compat.keyHgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/207Monitoring de Accounting2023-01-30T17:48:11ZHgOMonitoring de AccountingHgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/206Monitoring de mobilizon.be2023-01-30T15:39:42ZHgOMonitoring de mobilizon.beComme mobilizon.be était en panne l'autre jour, je propose de monitorer ce service pour avoir une meilleure idée de l'heure à laquelle le crash se produit.Comme mobilizon.be était en panne l'autre jour, je propose de monitorer ce service pour avoir une meilleure idée de l'heure à laquelle le crash se produit.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/matrix-alertbot/-/issues/9Meilleure gestion des exceptions pour le serveur HTTP2023-01-29T20:48:35ZHgOMeilleure gestion des exceptions pour le serveur HTTPJ'ai remarqué cette exception dans les logs:
```
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: 2023-01-15 04:41:04,617 | aiohttp.server [ERROR] Error handling request
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: Traceback (most re...J'ai remarqué cette exception dans les logs:
```
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: 2023-01-15 04:41:04,617 | aiohttp.server [ERROR] Error handling request
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: Traceback (most recent call last):
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: resp = await request_handler(request)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: resp = await handler(request)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: return await handler(request)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/aiohttp_prometheus_exporter/middleware.py", line 111, in prometheus_middleware
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: raise e from None
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/aiohttp_prometheus_exporter/middleware.py", line 83, in prometheus_middleware
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: response = await handler(request)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/matrix_alertbot/webhook.py", line 107, in create_alerts
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: await create_alert(alert, room_id, request)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/matrix_alertbot/webhook.py", line 157, in create_alert
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: event = await send_text_to_room(
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/matrix_alertbot/chat_functions.py", line 72, in send_text_to_room
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: response_event = await matrix_client.room_send(
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/nio/client/async_client.py", line 1575, in room_send
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: await self.share_group_session(
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/nio/client/async_client.py", line 1918, in share_group_session
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: await self.keys_claim(missing_sessions)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/nio/client/async_client.py", line 1866, in keys_claim
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: return await self._send(KeysClaimResponse, method, path, data)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/nio/client/async_client.py", line 761, in _send
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: resp = await self.create_matrix_response(
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/nio/client/async_client.py", line 535, in create_matrix_response
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: resp = response_class.from_dict(parsed_dict, *data)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: File "/opt/matrix-alertbot/lib/python3.9/site-packages/nio/responses.py", line 178, in wrapper
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: return error_class.from_dict(parsed_dict, *args, **kwargs)
Jan 15 04:41:04 storage-01 matrix-alertbot[478]: TypeError: from_dict() missing 1 required positional argument: 'room_id'
```
A priori, cela s'est produit parce que le bot était en train de se reconnecter au moment où le serveur essayait d'envoyer l'alerte sur le salon… ce qui a fait complètement crasher le bot (plus d'alertes envoyées à partir de là).
Je vais donc faire en sorte que ce genre d'exception inattendue soit également gérée.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/176Configuration de Mitogen2023-01-25T22:15:33ZHgOConfiguration de MitogenMitogen est un strategy plugin pour Ansible : https://mitogen.networkgenomics.com/ansible_detailed.html
Il permet de multiplier par quelque chose comme x10 la vitesse d’exécution d’Ansible.
Il faut mettre le chemin vers le plugin, ce q...Mitogen est un strategy plugin pour Ansible : https://mitogen.networkgenomics.com/ansible_detailed.html
Il permet de multiplier par quelque chose comme x10 la vitesse d’exécution d’Ansible.
Il faut mettre le chemin vers le plugin, ce qui est un peu embêtant puisque la version de Python se trouve dans le chemin:
```
[defaults]
strategy_plugins = ./.env/lib/python3.10/site-packages/ansible_mitogen
strategy = mitogen_linear
```
Mais on pourra aussi le mettre dans la conf de l’environnement de variable, ce qui permettra de l’activer ou non selon ce qu’on veut.
```
ANSIBLE_STRATEGY
ANSIBLE_STRATEGY_PLUGIN
```
Pour l’installer :
```
pip install git+https://github.com/mitogen-hq/mitogen
```https://gitlab.domainepublic.net/Neutrinet/accounting/-/issues/1Listen on IPv6 addresses2023-01-24T20:17:14ZHgOListen on IPv6 addressesEn configurant les HAProxy, j'ai remarqué que l'app écoutait sur `0.0.0.0:3000`, et donc en IPv4 uniquement.
[De ce que j'ai compris](https://github.com/puma/puma/issues/2113), il faut modifier la config puma pour que l'app écoute sur `...En configurant les HAProxy, j'ai remarqué que l'app écoutait sur `0.0.0.0:3000`, et donc en IPv4 uniquement.
[De ce que j'ai compris](https://github.com/puma/puma/issues/2113), il faut modifier la config puma pour que l'app écoute sur `[::]:3000`, càd à la fois en IPv6 et IPv4.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/201Playbook pour Accounting2023-01-24T17:51:25ZHgOPlaybook pour AccountingPour le moment, [Accounting](https://git.domainepublic.net/Neutrinet/accounting) est déployé sur Heroku, mais on aimerait qu'il soit hébergé par Neutrinet, cela aurait plus de sens.Pour le moment, [Accounting](https://git.domainepublic.net/Neutrinet/accounting) est déployé sur Heroku, mais on aimerait qu'il soit hébergé par Neutrinet, cela aurait plus de sens.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/179Persistence des logs systemd2023-01-22T17:22:55ZHgOPersistence des logs systemdHgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/200Supprimer nbproc de la config HAProxy2023-01-14T20:07:21ZHgOSupprimer nbproc de la config HAProxyLa directive nbproc n'est plus reconnue par HAProxy [depuis la version 2.5](https://www.haproxy.com/fr/blog/announcing-haproxy-2-5/), ce qui empêche les HAProxy de démarrer lorsqu'on met à jour.La directive nbproc n'est plus reconnue par HAProxy [depuis la version 2.5](https://www.haproxy.com/fr/blog/announcing-haproxy-2-5/), ce qui empêche les HAProxy de démarrer lorsqu'on met à jour.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/199Mettre à jour Hedgedoc en v1.9.62023-01-14T19:57:19ZHgOMettre à jour Hedgedoc en v1.9.6HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/vpn/cleaning_old_certificate/-/issues/3Template de mail : Ajout des informations bancaires2022-12-20T19:44:33ZHgOTemplate de mail : Ajout des informations bancairesDans le premier mail, où l'on informe la personne que le certificat de son VPN expire dans 60 jours, je propose d'indiquer les informations bancaires pour que la personne puisse faire un don pour le service de VPN.Dans le premier mail, où l'on informe la personne que le certificat de son VPN expire dans 60 jours, je propose d'indiquer les informations bancaires pour que la personne puisse faire un don pour le service de VPN.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/198Mise à jour de Mattermost vers v7.1.42022-11-30T11:36:01ZHgOMise à jour de Mattermost vers v7.1.4HgOHgO