Hébergement
L'hébergement se fait temporairement chez Heroku le temps que l'infra locale permette de supporter les applis.
Environnement | Herbergeur | URL | |
---|---|---|---|
Recette | Heroku | rec-gram-api-2.herokuapp.com | |
Production | Heroku | gram-api-2.herokuapp.com |
Base
Environnement | Base | Cluster | Nom | User | Port | Remarque |
---|---|---|---|---|---|---|
Recette | Heroku pgsql | |||||
VERSION CIBLE | ||||||
Production | PGSQL gadz.org | pg-gorg-prod-clu | gorg_prod_gram2_api_server | gorg_prod_gram2_api_server |
Arret / Démarage
Suivre la procédure Démarrer/Arrêter une application sur Heroku
Accéder aux Logs
Suivre la procédure Accéder aux logs d'une application Heroku
Exploitation : Procédures particulières
Se connecter en admin via la CLI Heroku à l'appli de prod du GrAM2
heroku run rails console --app gram-api-2
Gestion des Comptes
Création de compte GrAM
Pour les comptes existants sur le site Soce mais n'ayant pas de compte GrAM (1 ou 2, sachant que le CAS est relié au GrAM1 donc si pas de GrAM1 pas de CAS, et que le GrAM1 est "esclave" du GrAM2 donc les création doivent être effectuées sur le GrAM2 qui lui va créer les comptes GrAM1...).
Ces comptes spécifiques (dans notre cas) possèdent un ID SOCE et un UUID mais pas de HRUID.
Se rendre sur la fiche du compte Soce, et noter les éléments suivants : Prénom, Nom, ID SOCE sans checksum (la lettre), UUID
Il faudra de plus choisir un password (avec les minimum requis : 8 caractères mini, MAJ+minuscule+chiffre, etc...), et adapter le HRUID (prenom.nom.XXXX (année de promo) ou bien prenom.nom.ext pour les externes ou bien prenom.nom.associe pour les associés)
MasterData::Account.new(firstname: "Prenom", lastname: "Nom", id_soce: "XXXXXX", password: "Passw0rd", hruid: "prenom.nom.XXXX", uuid: "XXX-YYY-XXXXXX-YYYYYY.....").save!
Méthodes de tests et vérifications :
- Modifier / renseigner le HRUID sur la fiche du compte Soce, valider, puis effectuer une modification sur la fiche (ou bien saisir un espace dans le champs "A propos de moi :") et sauvegarder. Cela lance la synchro vers le GrAM(2)
- Se connecter à l'interface d'admin et vérifier les informations.
- Si possibilité, vérifier également sur le LDAP / GrAM1 ou bien tenter une connexion via le CAS
Créations multiples de compte GrAM
Champs requis : Prénom, Non, ID SOCE sans checksum, HRUID et UUID
Saisir les commandes suivantes en console Ruby :
require 'securerandom' accounts = [ ['Prénom1', ' Nom1', 'IDSOCE1', 'hruid1', 'uuid1'], ['Prénom2', 'Nom2', 'IDSOCE2', 'hruid2', 'uuid2'], ['Prénom3', 'Nom3', 'IDSOCE3', 'hruid3', 'uuid3'] ] accounts.each do |account| MasterData::Account.new( firstname: account[0], lastname: account[1], id_soce: account[2], password: SecureRandom.hex(13), hruid: account[3], uuid: account[4]).save! end
Suppressions multiples de comptes via Ruby
Si besoin de supprimer un grand nombre de comptes (par exemple comptes en doublons), exemple de requête en Ruby :
hruids=["HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo"] MasterData::Account.where(hruid: hruids).destroy_all
Gestion des Alias
Suppressions multiples d'alias via Ruby
Si besoin de supprimer des alias d'un (ou plusieurs) compte :
names=["123456","123456A"] MasterData::Alias.where(name: names).destroy_all
Création d'alias via Ruby
Pour créer un alias de connexion d'un compte, il faut renseigner le account_id du compte (5 chiffres que l'on peut trouver en regardant les détails des alias sur la fiche du compte GrAM2) et le nom (name) de l'alias (exemple : les 6 chiffres IDSOCE avec ou sans la lettre) :
MasterData::Alias.new(account_id: 12345, name: "123456").save!
Forcer synchro
Forcer synchro gram2 -> gram1(ldap)
LdapDaemon.new.request_account_update(MasterData::Account.find_by(uuid:'TON_UUID'))
Forcer synchro gram2 -> gorgmail
User.find_by_uuid("uuid...").update_from_gram
Si les synchronisations échouent, il faut accéder aux logs (Accéder aux logs d'une application Heroku) et filtrer par le hruid, le uuid ou bien avec le terme "Completed 422 Unprocessable Entity" (qui indique que la synchro Soce->GrAM2 échoue)
Astuces
Penser à checker l'adresse mail (elle doit être unique) : la synchro échoue si un autre compte GrAM2 utilise la même adresse mail...
Articles connexes
Aucun contenu ne comporte les étiquettes spécifiées