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