====== Paquets Chapril ====== Au nombre de trois, ils permettent de configurer automatiquement certains services et de déployer les dépendances. Leurs sources sont placées dans le [[sysadm:git_admin_sys]] sous le répertoire ''packages''. ===== Liste des paquets ===== ==== depends-chapril ==== Ce paquet est un métapaquet qui s'occupe de lister les dépendances que l'on veut voir installer partout. ==== sexy-chapril ==== Ce paquet gère les fichiers déployées sur toutes les machines du réseau chapril. Il est dans le sous-répertoire ''packages/sexy-chapril'' du Git admin-sys. Il contient différents fichiers permettant de faciliter la vie des administrateurs. En particulier : * Prompt spécial chaton : ''=(^-^)='' * vimrc et autre goodies * fichier de configuration unique de sshd * clefs des admins dans ''/etc/ssh/authorized_keys/root'' * la conf de ssh laisse la possibilité d'installer une clef dans ''/etc/ssh/authorized_keys.local'' ==== backup-chapril ==== Le backup est documenté plus en détail sur [[admin:procedures:sauvegarder_machines|sauvegarder les machines]]. Le paquet s'occupe de déposer la conf nécessaire à l'appel de borgmatic depuis un timer systemd. ==== monitoring-plugins-chapril ==== Divers scripts supplémentaires pour monitorer et des confs sudo pour aider. ===== Construction et livraison ===== ==== Construction ==== ce paragraphe n'est pas un tutoriel de construction de paquets Debian. Nous recommandons la lecture de https://wiki.debian.org/Packaging pour plus d'informations. Pour un cas simple de maintenance de patch, voir la page [[admin:procedures:creer_paquet_chapril|Créer un paquet Chapril]]. Installer les paquets debian de construction de paquet : apt install dupload devscripts debhelper La construction d'un paquet est classique. Il doit se faire sur une machine Debian stretch en amd64 (sauf si aucun binaire n'est compilé). Par exemple: cd depends-chapril dpkg-buildpackage Cette commande produit plusieurs fichiers, les paquets ''.deb'' les fichiers .changes qui contiennent des meta-informations, mais aussi les sources. ==== Livraison ==== Il est recommandé d'utiliser dupload pour simplifier la tâche. Le fichier de configuration suivant (à placer dans ''~/.dupload.conf'') permettra de pousser des paquets sur le serveur de l'April : package config; $cfg{'chapril'} = { fqdn => "admin.cluster.chapril.org", method => "scpb", login => "apt", incoming => "/var/www/apt/reprepro/incoming/", }; Puis: dupload --to chapril april-keys_0.20_amd64.changes /!\ Les paquets doivent être signés, si ce n'est pas le cas, ils peuvent être signé après avoir été buildé avec la commande : debsign -k $IDENT_GPG $lefichier.changes La clé publique associée à la clé qui a servi a signer le paquet doit être dans le trousseau de clé de la machine apt.chapril.org pour être intégrée au dépôt. Sur la machine admin, le script ''/usr/local/bin/import-new-packages.sh'' tourne toutes les minutes et scanne le répertoire ''/var/www/apt/reprepro/incoming'' à la recherche de nouveaux paquets à incorporer. Ensuite, il les importe dans le repository APT de chapril et notifie à admins-auto@april.org d'une nouvelle livraison de paquets. Il est donc possible de pousser des paquets sans dupload juste en les copiant dans ce répertoire. ==== Configuration côté client ==== La configuration côté client est la suivante: deb https://apt.chapril.org/debian stretch main apt.chapril.org n'est pas exposé sur Internet.