constrict0r.aptitude

Eignung


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

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

.. image:: https://readthedocs.org/projects/aptitude/badge :alt: Readthedocs

Ansible-Rolle, die als Wrapper für apt <https://wiki.debian.org/Apt>_ zur Verwaltung von Paketen verwendet wird.

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

Vollständige Dokumentation auf Readthedocs <https://aptitude.readthedocs.io>_.

Quellcode auf:

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

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

Teil von: <https://gitlab.com/explore/projects?tag=doombot>_

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

Zutaten

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

Inhalt


  • Beschreibung <#Description>_
  • Verwendung <#Usage>_
  • Variablen <#Variables>_
    • pakete <#packages>_
    • pakete_aufräumen <#packages-purge>_
    • konfiguration <#configuration>_
  • YAML <#YAML>_
  • Attribute <#Attributes>_
    • item_erweitern <#item-expand>_
    • item_pfad <#item-path>_
  • Anforderungen <#Requirements>_
  • Kompatibilität <#Compatibility>_
  • Lizenz <#License>_
  • Links <#Links>_
  • UML <#UML>_
    • Bereitstellung <#deployment>_
    • Haupt <#main>_
  • Autor <#Author>_

Beschreibung


Ansible-Rolle, die als Wrapper für apt zur Verwaltung von Paketen verwendet wird.

Diese Rolle führt die folgenden Aktionen aus:

  • Stellt sicher, dass die Anforderungen installiert sind.

  • Stellt sicher, dass der aktuelle Benutzer administrative (Root) Berechtigungen erhält.

  • Aktualisiert den apt-Cache.

  • Wenn die Variable pakete_aufräumen definiert ist, werden die dort aufgeführten Pakete gelöscht.

  • Wenn die Variable konfiguration definiert ist, werden die aufgelisteten pakete_aufräumen gelöscht.

  • Wenn die Variable pakete definiert ist, werden die dort aufgeführten Pakete installiert.

  • Wenn die Variable konfiguration definiert ist, werden die dort aufgeführten Pakete installiert.

Verwendung


  • Installation und Ausführung:

..

::

  ansible-galaxy install constrict0r.aptitude
  ansible localhost -m include_role -a name=constrict0r.aptitude -K
  • Variablen übergeben:

..

::

  ansible localhost -m include_role -a name=constrict0r.aptitude -K \
      -e "{pakete: [gedit, rolldice]}"
  • Rolle in einem Playbook einfügen:

..

::

  - hosts: server
    roles:
        - {role: constrict0r.aptitude}
  • Rolle als Abhängigkeit einer anderen Rolle einfügen:

..

::

  dependencies:
    - role: constrict0r.aptitude
      pakete: [gedit, rolldice]
  • Rolle aus Aufgaben verwenden:

..

::

  - name: Rolle ausführen.
    import_role:
      name: constrict0r.aptitude
    vars:
      pakete: [gedit, rolldice]

Um Tests auszuführen:

::

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

Für einige Tests müssen Sie möglicherweise sudo verwenden, um erfolgreich zu sein.

Variablen


Die folgenden Variablen werden unterstützt:

pakete

Liste von Paketen, die über apt installiert werden sollen.

Diese Liste kann geändert werden, indem ein pakete Array beim Einfügen der Rolle in ein Playbook oder über –extra-vars im Terminal übergeben wird.

Diese Variable ist standardmäßig leer.

::

Einfügen über das Terminal.

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

Einfügen in einem Playbook.

  • hosts: server roles:
    • role: constrict0r.aptitude pakete:
      • gedit
      • rolldice

In ein Playbook vom Terminal.

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

pakete_aufräumen

Liste von Paketen, die mit apt gelöscht werden sollen.

Diese Liste kann geändert werden, indem ein pakete_aufräumen Array beim Einfügen der Rolle in ein Playbook oder über –extra-vars im Terminal übergeben wird.

Diese Variable ist standardmäßig leer.

::

Einfügen über das Terminal.

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

Einfügen in einem Playbook.

  • hosts: server roles:
    • role: constrict0r.aptitude pakete_aufräumen:
      • gedit
      • rolldice

In ein Playbook vom Terminal.

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

konfiguration

Absoluter Dateipfad oder URL zu einer .yml-Datei, die alle oder einige der von dieser Rolle unterstützten Variablen enthält.

Es wird empfohlen, eine .yml- oder .yaml-Erweiterung für die konfiguration-Datei zu verwenden.

Diese Variable ist standardmäßig leer.

::

Verwendung des Dateipfads.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"konfiguration=/home/benutzername/meine-konfiguration.yml"

Verwendung der URL.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"konfiguration=https://meine-url/meine-konfiguration.yml"

Um zu sehen, wie Sie eine Konfigurationsdatei schreiben, siehe den Abschnitt YAML-Dateiformat.

YAML


Beim Übergeben von Konfigurationsdateien an diese Rolle als Parameter wird empfohlen, jeder Datei die Erweiterung .yml oder .yaml hinzuzufügen.

Es wird auch empfohlen, am Anfang jeder Datei drei Striche hinzuzufügen:

::


Sie können in der Datei die für Ihre Aufgaben erforderlichen Variablen einfügen:

::


pakete: - [gedit, rolldice]

Wenn Sie möchten, dass diese Rolle die Liste von Elementen aus Dateien und URLs lädt, können Sie die Variable erweitern auf true setzen:

::


pakete: /home/benutzername/meine-konfiguration.yml

erweitern: true

Wenn die Variable erweitern false ist, wird jeder gefundene Dateipfad oder URL als reiner Text behandelt.

Attribute


Auf der Elementebene können Sie Attribute verwenden, um zu konfigurieren, wie diese Rolle die Elementdaten verarbeitet.

Die von dieser Rolle unterstützten Attribute sind:

item_erweitern

Boolean-Wert, der angibt, ob dieses Element als Dateipfad oder URL oder einfach als reiner Text behandelt werden soll.

::


pakete: - item_erweitern: true item_pfad: /home/benutzername/meine-konfiguration.yml

item_pfad

Absoluter Dateipfad oder URL zu einer .yml-Datei.

::


pakete: - item_pfad: /home/benutzername/meine-konfiguration.yml

Dieses Attribut funktioniert auch mit URLs.

Anforderungen


  • 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/>_.

Wenn Sie die Tests ausführen möchten, benötigen Sie auch:

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

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

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

Kompatibilität


  • 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/>_.

Lizenz


MIT. Weitere Details finden Sie in der LICENSE-Datei.

Links


  • 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


Bereitstellung

Die vollständige Projektstruktur wird unten angezeigt:

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

Haupt

Der Datenfluss des Projekts wird unten angezeigt:

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

Autor


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

Der reisende Vodeville-Bösewicht.

Viel Spaß!!!

.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/enjoy.png :alt: Genießen

Über das Projekt

Wrapper for apt to install Debian packages.

Installieren
ansible-galaxy install constrict0r.aptitude
GitHub Repository
Lizenz
mit
Downloads
2.2k
Besitzer
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy