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édentesRévision précédente
Prochaine révision
Révision précédente
admin:services:agir.chapril.org [2020/01/08 16:10] – [Bastion] adminadmin:services:agir.chapril.org [2021/12/04 14:38] (Version actuelle) – Ajout génération de la clé d'API Redmine admin
Ligne 124: Ligne 124:
 systemctl reload nginx systemctl reload nginx
 </code> </code>
 +
 +==== Supervision ====
 +
 +Monitoring ajouté :
 +<code>
 +=(^-^)=root@admin:/etc/icinga2/zones.d/master/cluster# git diff
 +diff --git a/icinga2/zones.d/master/cluster/bastion.conf b/icinga2/zones.d/master/cluster/bastion.conf
 +index da31c6c..53127e4 100644
 +--- a/icinga2/zones.d/master/cluster/bastion.conf
 ++++ b/icinga2/zones.d/master/cluster/bastion.conf
 +@@ -25,6 +25,20 @@ object Host "bastion.cluster.chapril.org" {
 +     disk_partitions = "/tmp"
 +   }
 + 
 ++  vars.http_vhosts["agir.chapril.org redirection"] = {
 ++    http_vhost = "agir.chapril.org"
 ++    http_ssl = true
 ++    http_uri = "/"
 ++    http_expect = "HTTP/1.1 301 Moved Permanently,Location: https://agir.april.org/projects/chapril/issues"
 ++  }
 +
 +   /* Define notification mail attributes for notification apply rules in `notifications.conf`. */
 +   vars.notification["mail"] = {
 +     /* The UserGroup `icingaadmins` is defined in `users.conf`. */
 +
 +</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''.
 +* Une clé d'API Redmine a été générée : se connecter sur https://agir.april.org avec le compte chagirbot puis cliquer sur « Mon compte » et aller dans « Clé d'accès API »
 +
 +Sur les vm, la 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.1578499847.txt.gz · Dernière modification : 2020/01/08 16:10 de admin