cans.package-source

cans.package-source

État de la construction Ansible Galaxy Licence

Rôle simple pour ajouter et/ou supprimer des sources de paquets de distribution et leurs clés GPG respectives.

Chaque source de paquet à ajouter ou à supprimer doit être décrite comme suit :

- repo: "nom du dépôt"                 # requis
  codename: "<Nom de code de la distribution>"  # optionnel, par défaut : non défini
  key_id: "<ID de la clé GPG>"           # optionnel, par défaut : non défini
  key_server: "<url du serveur de clés>" # optionnel, par défaut : non défini
  key_url: "<url du fichier de clé publique>" # optionnel, par défaut : non défini
  keyring: "<chemin vers le trousseau de clés>" # optionnel, par défaut : non défini
  update_cache: <oui|non>                # optionnel, par défaut : non

Ce rôle ajoutera, puis supprimera des sources. Comme les dépôts sont spécifiés dans des listes, l'ordre dans lequel ils sont ajoutés ou supprimés est déterministe et conforme à ce que vous avez spécifié dans votre playbook.

Tous les valeurs sans défaut non défini seront simplement omises si elles ne sont pas spécifiées.

Le repo est la seule valeur obligatoire et doit être une ligne de description d'un dépôt APT valide.

Si vous souhaitez installer une clé avec une source donnée, vous devez spécifier le key_id, pour éviter d'insérer une clé indésirable dans le trousseau de clés d'APT. Ensuite, soit key_url soit key_server deviennent obligatoires pour que la clé puisse être récupérée.

Changer la valeur par défaut de update_cache n'est généralement pas une bonne idée, car cela ralentit fortement votre playbook. De toute façon, si vous ajoutez des sources de paquets, il est très probable que vous les utilisiez peu après. Il est recommandé de mettre à jour le cache alors, et non lors de l'ajout de la source. Notez que cela présente l'inconvénient de ne pas valider vos nouveaux dépôts. Si vous souhaitez tout de même que cette validation se fasse lors de l'exécution de ce rôle, utilisez update_cache comme indiqué dans l'exemple de playbook ci-dessous.

Exigences

Ce paquet a les exigences des modules de gestion des sources de paquets de distribution d'Ansible :

Variables du rôle

Toutes les variables de ce module sont préfixées par pkgsources.

  • pkgsource_present : la liste des sources que vous souhaitez vous assurer qu'elles sont disponibles (par défaut : []) ;
  • pkgsource_absent : la liste des sources que vous souhaitez vous assurer qu'elles ne sont pas disponibles (par défaut : []) ;

Variables obsolètes

  • pkgsource_user : cette variable a été dépréciée, car vous pouvez la définir lors de l'importation du rôle ou au niveau du play. La variable n'était en fait pas utilisée (par défaut : ansible_user_id).

Dépendances

Ce rôle n'a pas de dépendances externes.

Exemple de Playbook

Dans ce playbook, nous ajoutons deux nouvelles sources à APT et supprimons une. Avec la seconde source ajoutée, nous installerons également la clé GPG du dépôt. Enfin, étant donné que ce rôle ajoute puis supprime des dépôts, pour le dernier (et seul) dépôt supprimé, nous forçons une mise à jour du cache qui garantit que la configuration est valide et qu'APT peut vérifier toutes les signatures de dépôts et de paquets.

- hosts: serveurs
  roles:
     - role: "cans.package-source"
       pkgsource_present:
         # Assurez-vous simplement que le dépôt des paquets backport de la version actuelle de Debian est disponible
         - repo: "deb http://ftp.fr.debian.org/debian/ stable-backports main"

         # Dépôt de l'outil Heroku (outil cli)
         - repo: "deb https://toolbelt.heroku.com/ubuntu/ ./"
           # Ces deux lignes garantissent que la clé GPG de Heroku est installée *avant* d'ajouter le dépôt à la liste des sources.
           key_id: C927EBE00F1B0520
           key_url: "https://toolbelt.herokuapp.com/apt/release.key"

       # Les sources obsolètes que vous souhaitez supprimer.
       pkgsource_absent:
         - "deb http://ftp.fr.debian.org/debian/ wheezy main"
           # Forcer la mise à jour du cache sur le dernier dépôt ajouté ou supprimé pour que la nouvelle configuration soit validée
           update_cache: oui

Licence

Le rôle Ansible package-source est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License version 2 telle que publiée par la Free Software Foundation.

package-sources est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou d'ADÉQUATION À UN OBJECTIF PARTICULIER. Voir la GNU General Public License pour plus de détails.

Vous devriez avoir reçu une copie de la GNU General Public License avec package-sources. Si ce n'est pas le cas, consultez http://www.gnu.org/licenses/.

Informations sur l'auteur

Droits d'auteur © 2017-2018, Nicolas CANIART.

À propos du projet

Role to manage Distribution Package Sources and their Encryption Keys

Installer
ansible-galaxy install cans.package-source
Licence
gpl-2.0
Téléchargements
138
Propriétaire