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 git_admin_sys sous le répertoire packages
.
Ce paquet est un métapaquet qui s'occupe de lister les dépendances que l'on veut voir installer partout.
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 :
=(^-^)=
/etc/ssh/authorized_keys/root
/etc/ssh/authorized_keys.local
Le backup est documenté plus en détail sur sauvegarder les machines. Le paquet s'occupe de déposer la conf nécessaire à l'appel de borgmatic depuis un timer systemd.
Divers scripts supplémentaires pour monitorer et des confs sudo pour aider.
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.
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.
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.