Date de lancementseptembre 2016
État du ServicePRODUCTION
ConcepteursDorian Becker, Alexandre Narbonne
Sourceshttps://github.com/gadzorg/gorg_mail
Clés de routage écoutées
notify.googleapps.user.created
Clés de routage émises
request.googleapps.user.create
request.mailinglist.update
request.mailinglist.delete

Présentation du service

Ceci service assure l'interaction entre l'application GorgMail (emails.gadz.org) et l'Architecture Orientée Service (SOA)

Il permet notamment à GorgMail d'être informer du succès de la création d'un compte GoogleApps

Il est intégré à l'application GorgMail (emails.gadz.org)

Infos pour les Ops

Environnements

Développement

VHOST rabbitmq individuel pour chaque dev

Recette

HébergementVOIR GorgMail (emails.gadz.org)
ResourcesUser rabbitmq : rec-gorgmail

Production

HébergementVOIR  GorgMail (emails.gadz.org) 
Resources

User rabbitmq : prod-gorgmail

Dépendances extérieures

Aucune spécifiques au service rabbitMQ, de manière générale voir GorgMail (emails.gadz.org)

Déploiement

Configuration

voir GorgMail (emails.gadz.org)

L'application fonctionne soit avec des varaibles d'environnement, soit avec un fichier de configuration.

Le fichier de configuration est situé dans config/rabbitmq.yml

Exemple de fichier config/rabbitmq.yml
default: &default
  sender: gramapi
  host: localhost
  port: 5672
  vhost: /
  queue_name: logs
  deferred_time: 5000
  max_attempts: 10
  exchange_name: "agoram_event_exchange"
  user: guest
  password: 
  logging_key: "log"

development:
  <<: *default

test:
  <<: *default
  deferred_time: 10
  max_attempts: 2

production:
  <<: *default

 

Tout ces attributs peuvent être indiquer en variable d'environnement en les mettant en majuscules et en prefixant le nom avec RABBITMQ_

Les variables d'environnement sont prioritaires sur le fichier de configuration

Exemple : RABBITMQ_HOST

Arret / Démarage

Sur Heroku :

Il suffit d'activer ou désactiver le dyno service_rabbitmq

En local :

Lancer la commande bundle exec rake gorg_service:run pour démarrer le service

Ctrl+C pour le couper ou envoyer SIGINT (kill -2)

Installation

Infos pour les Dev'

Notifications générées

Clé de routageQuand ?Contenu du messageExemple de contenu

 

 

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

Changement des spécifications

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.googleapps.user.create
request.mailinglist.update 
request.mailinglist.delete 

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

 

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

Changement des spécifications

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.googleapps.user.createdActive la redirection vers ce compte google apps

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