constrict0r.sourcez

sourcez


.. image:: https://gitlab.com/constrict0r/sourcez/badges/master/pipeline.svg :alt: pipeline

.. image:: https://travis-ci.com/constrict0r/sourcez.svg :alt: travis

.. image:: https://readthedocs.org/projects/sourcez/badge :alt: readthedocs

Rôle Ansible pour ajouter des dépôts aux sources apt.

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/avatar.png :alt: avatar

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

Code source sur :

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

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

Partie de : <https://gitlab.com/explore/projects?tag=doombot>_

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/doombot.png :alt: doombot

Ingrédients

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/ingredient.png :alt: ingredient

Contenu


  • Description <#Description>_
  • Utilisation <#Usage>_
  • Variables <#Variables>_
    • dépôts <#repositories>_
    • configuration <#configuration>_
  • YAML <#YAML>_
  • Attributs <#Attributes>_
    • item_expand <#item-expand>_
    • item_path <#item-path>_
  • Exigences <#Requirements>_
  • Compatibilité <#Compatibility>_
  • Licence <#License>_
  • Liens <#Links>_
  • UML <#UML>_
    • Déploiement <#deployment>_
    • Principal <#main>_
  • Auteur <#Author>_

Description


Rôle Ansible pour ajouter des dépôts apt aux sources apt.

Ce rôle effectue les actions suivantes :

  • Assure que les exigences sont installées.

  • Assure que l'utilisateur actuel peut obtenir des permissions administratives (root).

  • Si la variable dépôts est définie, ajoute aux sources apt les dépôts qui y sont listés.

  • Si la variable configuration est définie, ajoute aux sources apt les dépôts qui y sont listés.

Utilisation


  • Pour installer et exécuter :

..

::

  ansible-galaxy install constrict0r.sourcez
  ansible localhost -m include_role -a name=constrict0r.sourcez -K
  • Passer des variables :

..

::

  ansible localhost -m include_role -a name=constrict0r.sourcez -K \
      -e "{dépôts: [{nom: multimedia, repo: 'deb http://www.debian-multimedia.org sid main'}]}"
  • Pour inclure le rôle dans un playbook :

..

::

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

..

::

  dependencies:
    - role: constrict0r.sourcez
      dépôts: [{nom: multimedia, repo: 'deb http://www.debian-multimedia.org sid main'}]
  • Pour utiliser le rôle depuis des tâches :

..

::

  - name: Exécuter la tâche du rôle.
    import_role:
      name: constrict0r.sourcez
    vars:
      dépôts: [{nom: multimedia, repo: 'deb http://www.debian-multimedia.org sid main'}]

Pour exécuter des tests :

::

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

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

Variables


Les variables suivantes sont supportées :

dépôts

Liste des dépôts à ajouter aux sources apt.

Cette liste peut être modifiée en passant un tableau dépôts 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.sourcez -K -e
"{dépôts: [{
nom: multimedia,
repo: 'deb http://www.debian-multimedia.org sid main'
}]}}"

Inclusion dans un playbook.

Pour un playbook depuis le terminal.

ansible-playbook -i inventory my-playbook.yml -K -e
"{dépôts: [{
nom: multimedia,
repo: 'deb http://www.debian-multimedia.org sid main'
}]}}"

configuration

Chemin absolu ou URL vers un fichier .yml qui contient toutes ou certaines des variables supportées 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 d'un chemin de fichier.

ansible localhost -m include_role -a name=constrict0r.sourcez -K -e
"configuration=/home/nom_utilisateur/ma-config.yml"

Utilisation d'une URL.

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

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

YAML


Lorsque vous passez des fichiers de configuration à ce rôle comme paramètres, il est recommandé d'ajouter une extension .yml ou .yaml à chaque fichier.

Il est également recommandé d'ajouter trois traits au début de chaque fichier :

::


Vous pouvez inclure dans le fichier les variables requises pour vos tâches :

::


dépôts: - [{nom: multimedia, repo: 'deb http://www.debian-multimedia.org sid main'}]

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

::


dépôts: /home/nom_utilisateur/ma-config.yml

expand: true

Si la variable expand 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 la manière dont ce rôle traite les données des éléments.

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

item_expand

Valeur booléenne indiquant si traiter cet élément comme un chemin de fichier ou une URL ou simplement le traiter comme du texte brut.

::


dépôts: - item_expand: true item_path: /home/nom_utilisateur/ma-config.yml

item_path

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

::


dépôts: - item_path: /home/nom_utilisateur/ma-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 souhaitez 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. Voir le fichier LICENSE pour plus de détails.

Liens


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

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

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

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

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

UML


Déploiement

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

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/deploy.png :alt: deploy

Principal

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

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/main.png :alt: main

Auteur


.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/author.png :alt: author

Le Vilain Voyageur de Vaudeville.

Amusez-vous!!!

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/enjoy.png :alt: enjoy

À propos du projet

Add apt repositories to Debian sources.

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