Cesium+ Pod > Nouvelle version 1.8.0

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. :slight_smile:
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 !

5 Likes

C’est @poka qui génère un fichier json des profiles avec coordonnées geo. Je ne sais pas comment il fait…

Actuellement la worldwotmap doit piocher dans les index de Duniter et dans Cesium+ pour construire la carte (et bouger et ajouter des points, calculer et ajouter plein de métadonnées), je ne sais pas si le GeoJSON me servira. J’essaierai de m’en servir si je refais le générateur de la worldwotmap en Rust (ce qui devra bien arriver un jour, à moins que gexplore le remplace).

6 messages ont été scindés en un nouveau sujet : Génération de carte des profils Cesium+

7 messages ont été scindés en un nouveau sujet : Pourquoi certains Pod Cesium+ n’apparaissaient plus dans la vue réseau?

Salut, j’aimerais bien mettre mon pod Cesium+ à jours, mais je ne connais pas la commande pour le faire, peux-tu me l’indiquer stp ?
Merci
PS: Mon pod Cesium+ fonctionne mais il n’apparaît plus dans la liste des pods, je ne comprends pas pourquoi. Le pod => g1.data.adn.life

Salut !
Il n’y a pas de commande automatique pour la mise a jour.
Il faut donc que tu stoppe ton Pod, puis que tu télécharge le dernier zip, tu l’installe ou tu veux et copie dedans le répertoire data de ton ancien Pod.
Tu peux aussi copier le fichier config/elastisearch.yml en conservant celui livré dans le zip, pour le comparer au tien et vérifier les nouvelles options éventuelles.

Voilou :slight_smile:

Pour le pod qui n’apparaît pas, je me demande en effet si je n’ai pas une régression dans la transmission des fiche de Pair. J’investiguerai la semaine prochaine

1 Like