constrict0r.aptitude

aptitude


Ansible rôle à utiliser comme une interface pour apt <https://wiki.debian.org/Apt>_ pour gérer les paquets.

Documentation complète sur Readthedocs <https://aptitude.readthedocs.io>_.

Code source sur :

Github <https://github.com/constrict0r/aptitude>_.

Gitlab <https://gitlab.com/constrict0r/aptitude>_.

Ingrédients

Contenu


  • Description <#Description>_
  • Utilisation <#Usage>_
  • Variables <#Variables>_
    • paquets <#packages>_
    • paquets_à_suppression <#packages-purge>_
    • configuration <#configuration>_
  • YAML <#YAML>_
  • Attributs <#Attributes>_
    • élément_étendre <#item-expand>_
    • élément_chemin <#item-path>_
  • Exigences <#Requirements>_
  • Compatibilité <#Compatibility>_
  • Licence <#License>_
  • Liens <#Links>_
  • UML <#UML>_
    • Déploiement <#deployment>_
    • Principal <#main>_
  • Auteur <#Author>_

Description


Rôle Ansible à utiliser comme une interface pour apt pour gérer les paquets.

Ce rôle effectue les actions suivantes :

  • S'assurer que les exigences sont installées.

  • Vérifier que l'utilisateur actuel peut obtenir des permissions administratives (root).

  • Mettre à jour le cache apt.

  • Si la variable paquets_à_suppression est définie, supprimer les paquets qui y sont listés.

  • Si la variable configuration est définie, supprimer les paquets_à_suppression qui y sont listés.

  • Si la variable paquets est définie, installer les paquets qui y sont listés.

  • Si la variable configuration est définie, installer les paquets qui y sont listés.

Utilisation


  • Pour installer et exécuter :

    ::

    ansible-galaxy install constrict0r.aptitude
    ansible localhost -m include_role -a name=constrict0r.aptitude -K
    
  • En passant des variables :

    ::

    ansible localhost -m include_role -a name=constrict0r.aptitude -K \
        -e "{paquets: [gedit, rolldice]}"
    
  • Pour inclure le rôle dans un playbook :

    ::

    - hosts: serveurs
      roles:
          - {role: constrict0r.aptitude}
    
  • Pour inclure le rôle comme dépendance d'un autre rôle :

    ::

    dependencies:
      - role: constrict0r.aptitude
        paquets: [gedit, rolldice]
    
  • Pour utiliser le rôle à partir des tâches :

    ::

    - name: Exécuter tâche de rôle.
      import_role:
        name: constrict0r.aptitude
      vars:
        paquets: [gedit, rolldice]
    

Pour exécuter des tests :

::

cd aptitude chmod +x testme.sh ./testme.sh

Pour certains tests, vous devrez peut-être utiliser sudo pour réussir.

Variables


Les variables suivantes sont prises en charge :

paquets

Liste des paquets à installer via apt.

Cette liste peut être modifiée en passant un tableau paquets lors de l'inclusion du rôle dans un playbook ou via –extra-vars depuis un terminal.

Cette variable est vide par défaut.

::

Inclusion depuis le terminal.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{paquets: [gedit, rolldice]}"

Inclusion dans un playbook.

  • hosts: serveurs roles:
    • role: constrict0r.aptitude paquets:
      • gedit
      • rolldice

À un playbook depuis le terminal.

ansible-playbook -i inventory my-playbook.yml -K -e
"{paquets: [gedit, rolldice]}"

paquets_à_suppression

Liste des paquets à supprimer via apt.

Cette liste peut être modifiée en passant un tableau paquets_à_suppression lors de l'inclusion du rôle dans un playbook ou via –extra-vars depuis un terminal.

Cette variable est vide par défaut.

::

Inclusion depuis le terminal.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{paquets_à_suppression: [gedit, rolldice]}"

Inclusion dans un playbook.

  • hosts: serveurs roles:
    • role: constrict0r.aptitude paquets_à_suppression:
      • gedit
      • rolldice

À un playbook depuis le terminal.

ansible-playbook -i inventory my-playbook.yml -K -e
"{paquets_à_suppression: [gedit, rolldice]}"

configuration

Chemin de fichier absolu ou URL vers un fichier .yml qui contient toutes ou certaines des variables prises en charge par ce rôle.

Il est recommandé d'utiliser une extension .yml ou .yaml pour le fichier configuration.

Cette variable est vide par défaut.

::

Utilisation du chemin de fichier.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"configuration=/home/username/my-config.yml"

Utilisation d'une URL.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"configuration=https://my-url/my-config.yml"

Pour voir comment écrire un fichier de configuration, consultez la section sur le format de fichier YAML.

YAML


Lors de la transmission de fichiers de configuration à ce rôle en tant que paramètres, il est recommandé d'ajouter une extension .yml ou .yaml à chaque fichier.

Il est également recommandé d'ajouter trois tirets en haut de chaque fichier :

::


Vous pouvez inclure dans le fichier les variables nécessaires pour vos tâches :

::


paquets: - [gedit, rolldice]

Si vous voulez que ce rôle charge une liste d'éléments à partir de fichiers et d'URL, vous pouvez définir la variable étendre sur true :

::


paquets: /home/username/my-config.yml

étendre: true

Si la variable étendre est false, tout chemin de fichier ou URL trouvé sera traité comme du texte brut.

Attributs


Au niveau des éléments, vous pouvez utiliser des attributs pour configurer comment ce rôle gère les données des éléments.

Les attributs supportés par ce rôle sont :

élément_étendre

Valeur booléenne indiquant si ce traitement d'élément doit être considéré comme un chemin de fichier ou une URL ou juste comme du texte brut.

::


paquets: - élément_étendre: true élément_chemin: /home/username/my-config.yml

élément_chemin

Chemin de fichier absolu ou URL vers un fichier .yml.

::


paquets: - élément_chemin: /home/username/my-config.yml

Cet attribut fonctionne également avec des URL.

Exigences


  • Ansible <https://www.ansible.com>_ >= 2.8.

  • Jinja2 <https://palletsprojects.com/p/jinja/>_.

  • Pip <https://pypi.org/project/pip/>_.

  • Python <https://www.python.org/>_.

  • PyYAML <https://pyyaml.org/>_.

  • Requests <https://2.python-requests.org/en/master/>_.

Si vous voulez exécuter les tests, vous aurez également besoin de :

  • Docker <https://www.docker.com/>_.

  • Molecule <https://molecule.readthedocs.io/>_.

  • Setuptools <https://pypi.org/project/setuptools/>_.

Compatibilité


  • Debian Buster <https://wiki.debian.org/DebianBuster>_.

  • Debian Raspbian <https://raspbian.org/>_.

  • Debian Stretch <https://wiki.debian.org/DebianStretch>_.

  • Ubuntu Xenial <http://releases.ubuntu.com/16.04/>_.

Licence


MIT. Consultez le fichier LICENCE pour plus de détails.

Liens


  • Github <https://github.com/constrict0r/aptitude>_.

  • Gitlab <https://gitlab.com/constrict0r/aptitude>_.

  • Gitlab CI <https://gitlab.com/constrict0r/aptitude/pipelines>_.

  • Readthedocs <https://aptitude.readthedocs.io>_.

  • Travis CI <https://travis-ci.com/constrict0r/aptitude>_.

UML


Déploiement

La structure complète du projet est montrée ci-dessous :

Principal

Le flux de données du projet est montré ci-dessous :

Auteur


Le Villain Vaudeville Voyageur.

Profitez-en !!!

À propos du projet

Wrapper for apt to install Debian packages.

Installer
ansible-galaxy install constrict0r.aptitude
Licence
mit
Téléchargements
2.2k
Propriétaire
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy