Outils pour utilisateurs

Outils du site


admin:services:agir.chapril.org

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
admin:services:agir.chapril.org [2020/01/08 17:18]
admin [Bastion]
admin:services:agir.chapril.org [2020/02/05 10:46] (Version actuelle)
admin [Déploiement]
Ligne 150: Ligne 150:
  
 </​code>​ </​code>​
 +
 +
 +===== Compte pour la création de note Redmine =====
 +
 +Dans le Redmine :
 +* un compte ''​chagirbot''​ a été créé ;
 +* un rôle ''​Bot''​ a été créé avec uniquement le droit de voir les demandes et d'​ajouter une note ;
 +* le compte ''​chagirbot''​ a été ajouté au projet Chapril avec le rôle ''​Bot''​.
 +
 +Sur les vm, une clé est disponible dans le fichier ''/​etc/​chagirbot/​agiraprilorg.conf''​.
 +
 +
 +===== Chagirbot (Redminebot) =====
 +
 +Redminebot (agirbot sur le réseau Freenode) est un bot qui analyse régulièrement les fichiers Atom de ''​agir.april.org''​ pour afficher sur un canal IRL l'​activité d'un projet.
 +
 +À l'​origine dédié à gDTC sur #gdtc, il est utilisé pour le projet admin sur #​april-admin et maintenant pour le Chapril sur #​april-chapril.
 +
 +Il a été écrit en python après grosse réécriture du script redmine IRC bot.
 +
 +Agirbot possède un dépôt Git sur Agir : https://​agir.april.org/​projects/​admins/​repository/​agirbot
 +
 +==== Déploiement ====
 +Sur Freenode IRC, déclarer (register) le nickname ''​chagirbot''​ auprès de ''​NickServ''​ avec un mot de passe.
 +
 +<​code>​
 +08:17 -NickServ(NickServ@services.)-
 +08:18 <​chagirbot>​ register xxxxxxxxx chagirbot@chapril.org
 +08:18 -NickServ(NickServ@services.)- An email containing nickname activation instructions has been sent to chagirbot@chapril.org.
 +08:18 -NickServ(NickServ@services.)- If you do not complete registration within one day, your nickname will expire.
 +08:18 -NickServ(NickServ@services.)- chagirbot is now registered to chagirbot@chapril.org,​ with the password JxQwAKjwC3HFWTfzwiq7.
 +08:18 -NickServ(NickServ@services.)-  ​
 +08:18 -NickServ(NickServ@services.)- For frequently-asked questions about the network, please see the
 +08:18 -NickServ(NickServ@services.)- Knowledge Base page (http://​freenode.net/​kb/​all). Should you need more
 +08:18 -NickServ(NickServ@services.)- help you can /join #freenode to find network staff.
 +</​code>​
 +
 +Créer un utilisateur ''​chagirbot''​ :
 +<code bash>
 +adduser --system --group --home /​srv/​chagirbot --shell /bin/false chagirbot
 +</​code>​
 +
 +Installation des dépendances de paquets:
 +<code bash>
 +apt-get install python-iso8601 python-twisted python-dateutil python-feedparser
 +</​code>​
 +
 +Clonage :
 +<code bash>
 +cd /​srv/​chagirbot/​
 +git clone april@agir.cluster.april.org:/​srv/​git/​agirbot git
 +</​code>​
 +
 +Définition de l'​exécutable :
 +<code bash>
 +cd /​srv/​chagirbot/​
 +mkdir bin
 +cd bin
 +ln -s ../​git/​redminebot.py chagirbot.py
 +</​code>​
 +
 +Déploiement du fichier de configuration :
 +<code bash>
 +cp /​srv/​chagirbot/​git/​redminebot.conf /​etc/​chagirbot/​chagirbot.conf
 +cd /​srv/​chagirbot/​
 +mkdir conf
 +cd conf
 +ln -s /​etc/​chagirbot/​chagirbot.conf /​etc/​chagirbot/​conf/​
 +</​code>​
 +
 +Adapter le fichier ''/​etc/​chagirbot/​chagirbot.conf''​ :
 +  * mettre le mot de passe IRC du nickname bot ;
 +  * définir projet ''​chapril''​ et canal ''#​april-chapril''​.
 +
 +Définir le service dans systemd :
 +<code bash>
 +cp /​srv/​chagirbot/​git/​redminebot.service /​etc/​systemd/​system/​
 +ln -s /​etc/​systemd/​system/​chagirbot.service /​srv/​chagirbot/​conf/​
 +</​code>​
 +
 +Adapter le fichier ''/​etc/​systmd/​system/​chagirbot.service''​ avec :
 +  * le bon chemin ;
 +  * le bon compte ;
 +  * le bon groupe ;
 +  * le chemin du fichier de configuration passé en paramètre ExecStart.
 +
 +Configurer le lancement du service au boot :
 +<code bash>
 +(April) root@bots:​~#​ systemctl enable chagirbot
 +Created symlink /​etc/​systemd/​system/​multi-user.target.wants/​chagirbot.service → /​etc/​systemd/​system/​chagirbot.service.
 +</​code>​
 +
 +Ajouter une sonde dans Icinga2 (''/​etc/​icinga2/​zones.d/​master/​cluster/​admin.conf''​) pour valider le bon fonctionnement du bot :
 +<​code>​
 +  vars.process["​Chagirbot"​] = {
 +    procs_command = "​python3"​
 +    procs_argument = "​chagirbot.py"​
 +    procs_critical = "​1:​1"​
 +  }
 +</​code>​
 +
 +==== Logs ====
 +Des logs sont consultables via SystemD :
 +<code bash>
 +journalctl -f -u chagirbot
 +</​code>​
 +
 +
 +
admin/services/agir.chapril.org.1578500303.txt.gz · Dernière modification: 2020/01/08 17:18 par admin