Cesium+ Pod > Nouvelle version ~~v1.6.4~ v1.6.5 : avec modération!

Une nouvelle version 1.6.4 1.6.5 de Cesium+ Pod est disponible !

Nouveautés

Executable bin/cesium-plus-pod (Linux)

Un nouvel executable qui va vous faciliter la vie : bin/cesium-plus-pod.

Le plus simple est un petit exemple :

cd cesium-plus-pod/bin
./cesium-plus-pod --help 
Usage: ./cesium-plus-pod {start|stop|restart|status} OPTIONS

NAME

  start        Start the Cesium+ Pod
  stop         Stop the Cesium+ Pod
  restart      Do a stop/start on the Cesium+ Pod
  status       Say if the the Cesium+ Pod is running

OPTIONS

  -Dproperty=value             Configures an Elasticsearch specific property, like -Dnetwork.host=127.0.0.1

  --property=value             Configures an elasticsearch specific property, like --network.host 127.0.0.1
  --property value

PROPERTIES

  --cluster.remote.host        Remote host to join the pod (outside your local network)
  --cluster.remote.port        Remote port to join the pod (outside your local network)
  --network.host               The local network interface to use
  --http.port                  The local port to use. Can be a range, like --http.port 9200-9210

Règles de modération automatique

Chaque Pod peut choisir de limiter les Like ou les signalements de profiles, via deux nouvelles options de configuration (à ajouter dans fichier config/elasticsearch.yml) :

  • duniter.user.document.abuse.issuer.requirements : Limiter les signalements;
  • duniter.user.document.like.issuer.requirements : Limiter les likes.

Les valeurs possibles sont :

  • wasMember : la clef publique de l’émetteur (du like ou de signalement) a été membre de la G1;
  • member : il est toujours membre (à la date de réception du document, qui peut être différentes de la date d’émission);
  • profile : le compte a saisit un profil Cesium+.

Bien entendu, vous pouvez combiner les trois, ou ne mettre aucune limitation.

Exemple :

#  Allow any member (or member, to report abuse)
# (Default value: ['member'])
duniter.user.document.abuse.issuer.requirements: ['wasMember', 'member']

# Allow any account to send a like on a Cs+ profile
# (Default value: [] - no requirement)
# duniter.user.document.like.issuer.requirements: []

Ces règles s’appliquent également à la synchronisation P2P des données, entre les Pod.
Cela permet d’avoir des règles différentes, au bon vouloir de chaque administrateur.

Pour la suite, on pourra par exemple ajouter des règles géographiques, pour n’autoriser (et synchroniser) que les données d’une région particulière.

Modérateurs

Chaque Pod peut également déclarer des modérateurs (leur pubkey). Il faut ajouter l’option duniter.document.moderators.pubkeys dans votre fichier config/elasticsearch.yml.

A noter que l’administrateur du pod a toujours les droits de modérations.

Les modérateurs pourront :

  • être prévenu des signalements, par une notification (dans Cesium). Typiquement pour un signalement sur un profile Cesium+ douteux, ou obsolète;
  • Supprimer un profile Cesium+ (accessible dans Cesium, depuis la v1.5.11)

Bien entendu, ils ne pourront agir que sur les pod où ils ont été déclaré modérateurs.
Ainsi, un modérateur peut supprimer un profil Cesium+, mais ce document perdurera sur un autre Pod, qui ne reconnaît pas ce modérateur.
Le but est d’être résilient, en laissant chaque administrateur de Pod décider en qui il a confiance.

Documentation mise à jour

Pour rappel, vous trouverez tous les types de données disponibles sur une Pod, dans la documentation de l’API REST :

Mettez à jour vos Pod Cesium+ !

J’ai maintenant ouvert mes noeuds Cesium+ à tous les nouveaux Pods. Ils devraient donc être visible au fur et à mesure (par exemple dans le réseau Cesium+) et se synchroniser les uns aux autres.

Aux admins de pod (@bpresles au moins) :

  • Pouvez-vous mettre à jour vos Pods en v1.6.4 ?
  • Puis refaire une synchro (complète) vers mon Pod g1.data.duniter.fr.
    • Modifier le fichier /config/elasticsearch.yml, pour y ajouter un noeud :
duniter.p2p.includes.endpoints: [
   "ES_CORE_API g1.data.duniter.fr 443",
   "ES_USER_API g1.data.duniter.fr 443",
   "ES_SUBSCRIPTION_API g1.data.duniter.fr 443"
]
  • Ajouter les modérateurs que vous souhaitez :
duniter.document.moderators.pubkeys: [
  '38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE', # @kimamila
  '47JpfrGkoHJWtumeu7f67fbAxkvaHYVQBNo5GszNs61Z', # @bpreles
  'HmH5beJqKGMeotcQUrSW7Wo5tKvAksHmfYXfiSQ9EbWz'  # g1.data.le-sou.org
]
  • Lancer le Pod, avec l’option duniter.p2p.fullResyncAtStartup à true : soit en l’ajoutant dans la config (ne pas oublier ensuite de la retirer ensuite), soit via la ligne de commande :
cd cesium-plus-pod/bin
./cesium-plus-pod start --duniter.p2p.fullResyncAtStartup=true

Vos données existante seront bien conservées, cela devrait donc aller vite.
Il s’agit juste de d’appliquer notamment les suppressions provenant des modérateurs.

A chaque fois que vous ajouter un modérateur, vous pouvez procéder ainsi.

Voilou ! :slight_smile:

1 Like

J’ai ajouté le lien vers la documentation (l’API Restful), dans le post précédent.

Argh ! la version Pod v1.6.4 a un soucis au niveau du calcule de la date de dernière synchro.
En gros elle resynchronise tout à chaque fois, car le résultat d’une synchro est mal sauvegardé (mauvais calcul du hash, qui sert de clef pour retrouver la date de dernière synchro).
Je vais devoir relivrer un v1.6.5

@bpresles peux tu mettre à jour ton Pod en v1.6.5, stp ? Cela va réduire drastiquement les temps de synchro entre les Pod. cf ces statistiques de synchro :

image

@kimamila Fait !

2 Likes

Je viens de mettre à jour le mien également.

1 Like