====== 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.