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
- role: constrict0r.aptitude
paquets:
À 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
- role: constrict0r.aptitude
paquets_à_suppression:
À 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 !!!
Wrapper for apt to install Debian packages.
ansible-galaxy install constrict0r.aptitude