Neutrinet issueshttps://gitlab.domainepublic.net/groups/Neutrinet/-/issues2023-03-30T20:54:50Zhttps://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/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/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/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/208Ajout des headers de sécurité pour HAProxy2023-07-01T08:39:27ZHgOAjout des headers de sécurité pour HAProxyHgOHgOhttps://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/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/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/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/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/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/202Ajout d'un webhook pour Accounting2023-01-24T17:50:33ZHgOAjout d'un webhook pour AccountingComme suggéré dans !239 ...
Un peu comme on a fait avec le site web de la brique internet, on aurait un webhook qui serait déclenché à chaque merge dans le master.Comme suggéré dans !239 ...
Un peu comme on a fait avec le site web de la brique internet, on aurait un webhook qui serait déclenché à chaque merge dans le master.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/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/infra-ansible/-/issues/198Mise à jour de Mattermost vers v7.1.42022-11-30T11:36:01ZHgOMise à jour de Mattermost vers v7.1.4HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/matrix-alertbot/-/issues/8Renvoyer l'alerte quand on reçoit une RoomSendError2022-11-25T18:59:34ZHgORenvoyer l'alerte quand on reçoit une RoomSendErrorApparemment, la `RoomSendError` contient un attribut `retry_after_ms`. Au lieu d'émettre une exception, on pourrait juste attendre le temps nécessaire et essayer d'envoyer le message sur le serveur Matrix à nouveau. Au bout de x essais, ...Apparemment, la `RoomSendError` contient un attribut `retry_after_ms`. Au lieu d'émettre une exception, on pourrait juste attendre le temps nécessaire et essayer d'envoyer le message sur le serveur Matrix à nouveau. Au bout de x essais, on émettrait enfin l'exception.HgOHgOhttps://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/issues/197Ne pas supprimer le mot de passe root pour PBS2023-06-17T11:50:34ZHgONe pas supprimer le mot de passe root pour PBSOn a besoin du mot de passe root pour accéder à l'interface d'admin de Proxmox Backup Server.On a besoin du mot de passe root pour accéder à l'interface d'admin de Proxmox Backup Server.