Outils pour utilisateurs

Outils du site


admin:infrastructure:apt

Ceci est une ancienne révision du document !


Paquets April

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 un script de backup qui appelle borg depuis une tâche cron.

Construction et livraison

Construction

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.

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 l page sysadm:procedures:creer_un_paquet_april

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.april.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.april.org pour être intégrée au dépôt.

Sur la machine bastion, 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.

admin/infrastructure/apt.1496600784.txt.gz · Dernière modification : 2017/06/04 18:26 de vincentxavier