Une nouvelle version de Cesium+ Pod est disponible
Nouveautés
Corrections
Limitation (quota) de requêtes par IP
Les quotas sur les requêtes (par IP) s’appliquaient mal, si le Pod tournait derrière un proxy web (ex: nginx ou apache), si ce proxy n’était pas sur la même machine. L’adresse IP du client faisant la requête n’était pas prise en compte.
Ces derniers mois ceci a du impacter de nombreuses fonctions de Cesium notamment :
- la création des profiles Cesium+
- l’envoi des messages privés, etc.
Retour du service de notification par email
Le service était en panne (sur mon noeud) à cause d’une librairie incompatible avec les nouvelles versions de Java.
Il s’agissait d’un problème d’authentification auprès du serveur SMTP.
Suppression de 10 457 faux profiles Cesium+
Et oui, il m’a fallu dire au revoir au très joli « G », dessiné sur la carte Cesium+, autour de Clermont-Ferrand.
5314 profiles formait cette superbe figure, réalisé par un petit plaisantin.
4600 et 543 autres profiles (créés dans durant la même période) ont également été supprimés.
J’ai bien rigolé, et cela m’a obligé à mettre en place la sécurité anti-spam. donc merci à son auteur, c’était bon enfant, malgré tout.
Pour info, je peux maintenant généré très simplement une carte GEOJSON de tous les profiles. Ca intéresse quelqu’un ??
@ManUtopiK j’imagines que tu la regenère pour le site monnaie-libre ?
@tuxmain aussi, pour WotWorldMap ?
Autres corrections mineures
- Compatibilité Java 11 : une option obsolète de la ligne de commande JAVA empêchait le script de lancement
elasticsearch.in.sh
de fonctionner correctement. Le contournement que nous devions appliquer à la main (retiré l’option du fichier) n’est plus nécessaire.
Améliorations
Autorisation d’IP sans quota
En cas de doute sur la configuration du proxy web, il est maintenant possible d’ajouter une whitelist
grâce à une nouvelle option. Typiquement : renseignez l’IP de votre serveur nginx/apache :
## Par défaut : ["127.0.0.1", "::1"]
duniter.security.whitelist: ["127.0.0.1", "192.168.0.x"]
De même, j’ai ajouté l’option inverse, pour blacklister complètement une IP :
duniter.security.blacklist: ["<IPv4_ou_IPv6>", ... ]
Refactoring du code
Un refactoring de code a été effectué, pour utiliser la lib duniter4j en version 1.5.3+.
Pour mémoire, cette petite lib sert à interrogé le réseau Duniter, via une API Java.
La v1.5.3 de Duniter4j permet une compatibilité avec les dernières version de Spring-Boot, ElasticSearch, etc. Tout ceci en préparation de la migration vers les Pod Cesium+ v2s.
L’architecture des Pod Cs+ sera complètement revu :
- Spring Boot en frontal, pour gérer la configuration, la sécurité, le cache, etc. (via les annotations Java).
- les noeuds ES ne seront donc plus accessible directement, mais bien derrière le serveur SpringBoot.
- il n’y aura donc plus de « plugins ES » maison à maintenir (moins de dépendances avec l’API et le code d’ES)
- il sera plus simple d’intégrer une MQ, comme ActiveMQ, pour gérer toute la partie asynchrone (envoi des emails, notifications, et pourquoi pas SMS ?)
Voilou !