Date de lancementseptembre 2016
État du Service
ConcepteursDorian Becker, Alexandre Narbonne
Sourceshttps://github.com/gadzorg/gram2_api_server
Clés de routage écoutées
request.gramapi.group.update
Clés de routage émises
notify.account.created
notify.account.updated
notify.account.deleted
notify.group.created
notify.group.updated
notify.group.deleted
request.ldapd.account.update
request.ldapd.account.delete
request.ldapd.group.update
request.ldapd.group.delete

Présentation du service

Ce service fait l'interaction entre l'API GrAM et le système SOA

Outre le fait de piloter les sous-système tel que le LDAP et les comptes GoogleApps, il permet d’exécuter des requêtes en mode "batch", notamment pour la mise à jour des groupes depuis le site Soce

Ce service est complètement intégré au sein de l'application GrAM API 2

Infos pour les Ops

Environnements

Développement

VHOST rabbitmq individuel pour chaque dev

Recette

HébergementVOIR GrAM API 2
ResourcesUser rabbitmq : rec-gram

Production

HébergementVOIR GrAM API 2
CaractéristiquesInfos sur l'environnement : - Pour un docker, le nom de l'image, o la trouver .. - Pour AFP le nom de l'utilsateur applicatif - Heroku : Le nom du container et l'utilisateur proprietaire, le type de dynos
ResourcesUser rabbitmq : rec-gram

Dépendances extérieures

La liste des autres systemes dont le service besoin pour fonctionner. ceux-ci peuvent etre obligatoires ou facultatifs :Bases de donnes,APIs,Redis,Serveur Mail

Déploiement

Configuration

La liste des fichiers de configs et variables d'environnement

Arret / Démarage

Listes des actions pour arreter / demarrer le service

Installation

Guide d'installation du service

Infos pour les Dev'

Notifications générées

Clé de routageQuand ?Contenu du messageExemple de contenu
notify.monservice.ressource.statusQu'est ce que cette notification signifie ? Quel est le nouvel tat ?Quels sont les informations contenues dans ce message ?
{
	"quoi": "Objet contenu dans l'attribut 'data' du message",
    "format": "JSON"
}

N'oubliez pas de mettre à jour la propriétés "Clés de routage émises" de la page avec les nouvelles routing keys

Si vous modifiez le format d'une notification existante, essayez au maximum de conserver les données précédentes et pensez à reporter les changements sur les services clients de cette notification

 

Requêtes faites à d'autres services

Clé de routageCommentaires
request.unautreservice.ressource.actionun commentaire qui pourrait aider les autres dev a comprendre pourquoi cet appel a un autre service est fait

N'oubliez pas de mettre à jour la propriétés "Clés de routage émise" de la page avec les nouvelles routing keys

Requetes écoutées

Clé de routageActions effectuéesContenu du messageExemple de contenu
request.monservice.ressource.actionExpliquez ce que le service va faire quand on appel cette actionQuels sont les informations que le message doit contenir ? Lesquels sont obligatoire / facultatives ? Vous pouvez mettre un SCHEMA-JSON
{
	"quoi": "Objet contenu dans l'attribut 'data' du message",
    "format": "JSON"
}

N'oubliez pas de mettre à jour la propriétés "Clés de routage écoutées" de la page avec les nouvelles routing keys

Si vous modifiez le format d'une requete existante, pensez à reporter les changements sur les services clients de cette requete

Notifications écoutées

Clé de routageActions effectuées
notify.unautreservice.ressource.statusExpliquez ce que le service va faire quand on appel cette action

N'oubliez pas de mettre à jour la propriétés "Clés de routage écoutées" de la page avec les nouvelles routing keys