|
Présentation du service
Ce service pilote les comptes GoogleApps. Il permet à n'importe quel application de piloter les compte google.
Cette fonction était auparavant supportée par Platal avec l'application python GappsD développée par les X
L'utilisation d'un micro service permet de découpler l'appli donneuse d'ordre de l'implémentation et d'implémenter une vrai queue d'actions
C'est une application autonome stateless
Domaine Google Apps de recette Poubs.org
VHost rabbit MQ pour chaque developpeurs
L'instance de l'API GrAMv2 est à héberger par le developpeur
Hébergement | Heroku |
---|---|
Caractéristiques | App rec-gapps-daemon sur appartenant à l'utilisateur [email protected] |
Resources |
|
Hébergement | Heroku |
---|---|
Caractéristiques | App gapps-daemon sur appartenant à l'utilisateur [email protected] |
Resources |
|
API Google
Redis pour être stateless (stockage des token de l'api Google)
Api Gram
L'application fonctionne soit avec des variables d'environnement, soit avec un fichier de configuration.
Le fichier de configuration est situé dans config/config.yml
default: &default application_name: GoogleDirectoryDaemon-test application_id: gdd authorizer: DefaultAuthorizer admin_user_id: my.user@my_org.com message_handler_map: request.gapps.create: DefaultMessageHandler rabbitmq_host: localhost rabbitmq_port: 5672 rabbitmq_vhost: / rabbitmq_queue_name: gdirdaemon rabbitmq_deferred_time: 1800000 rabbitmq_max_attempts: 48 exchange_name: exchange rabbitmq_user: my_user rabbitmq_password: P4ssWord log_routing_key:"logging.key" gram_api_host: myHost.com gram_api_user: myUser gram_api_password: PasswRD gram_api_proxy: myproxy.mydomain.com logger_level: DEBUG development: <<: *default test: <<: *default production: <<: *default |
Tout ces attributs peuvent être indiquer en variable d'environnement en les mettant en majuscules et en prefixant le nom avec GLD_
Les variables d'environnement sont prioritaires sur le fichier de configuration
Exemple : GLD_RABBITMQ_HOST
L'environnement utilisé est défini par la variable d'environnement GORG_LDAP_DAEMON_ENV
et à pour valeur "development" par défaut
La variable d'environnement LOGGER_LEVEL
permet de définir la verbosité des logs. Les valeurs autorisées sont :
Il suffit d'activer ou désactiver le dyno worker
Lancer l'executable bin/worker
pour démarrer le service
Ctrl+C pour le couper ou envoyer SIGINT
(kill -2
)
Guide d'installation du service
Clé de routage | Quand ? | Contenu du message | Exemple de contenu | |
---|---|---|---|---|
notify.monservice.ressource.status | Qu'est ce que cette notification signifie ? Quel est le nouvel tat ? | Quels sont les informations contenues dans ce message ? |
|
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 |
Clé de routage | Commentaires |
---|---|
request.unautreservice.ressource.action | un 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 |
Clé de routage | Actions effectuées | Contenu du message | Exemple de contenu | |
---|---|---|---|---|
request.monservice.ressource.action | Expliquez ce que le service va faire quand on appel cette action | Quels sont les informations que le message doit contenir ? Lesquels sont obligatoire / facultatives ? Vous pouvez mettre un SCHEMA-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 |
Clé de routage | Actions effectuées |
---|---|
notify.unautreservice.ressource.status | Expliquez 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 |