Table des matières

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 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 :

backup-chapril

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.

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 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 :

~/.dupload.conf
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:

/etc/apt/sources.list.d/april.list
deb https://apt.chapril.org/debian stretch main

apt.chapril.org n'est pas exposé sur Internet.